액세스 제어 및 권한 관리

Looker 관리자는 다음 액세스 권한을 지정하여 Looker에서 사용자나 사용자 그룹이 보고 수행할 수 있는 작업을 관리할 수 있습니다.

  • 콘텐츠 액세스: 사용자나 사용자 그룹이 폴더를 보거나 관리할 수 있는지 여부를 제어합니다. 폴더를 볼 수 있는 사용자는 폴더로 이동하여 폴더에서 대시보드 및 Look의 목록을 볼 수 있습니다. 폴더를 관리할 수 있는 사용자는 폴더 콘텐츠를 조작하고(대시보드 및 Look 복사, 이동, 삭제, 이름 바꾸기) 폴더 자체를 구성하고(폴더 이름 바꾸기, 이동 또는 삭제) 다른 사용자 및 그룹에 폴더에 대한 액세스 권한을 부여할 수 있습니다. 콘텐츠 액세스를 관리 패널에서 Looker 관리자가 관리하거나 허용된 경우 폴더 내 개별 사용자가 관리합니다.
  • 데이터 액세스. 사용자가 볼 수 있는 데이터를 제어합니다. 데이터 액세스는 주로 Looker 역할의 절반을 구성하는 모델 세트를 통해 관리됩니다. 그런 다음 이러한 역할은 사용자와 그룹에 적용됩니다. 쿼리에 대한 자동 필터가 있는 것처럼 액세스 필터를 사용하여 모델 내에서 표시되는 데이터 행을 제한하도록 데이터 액세스를 더욱 제한할 수 있습니다. 액세스 권한 부여를 사용하여 특정 Explore, 조인, 뷰 또는 필드에 대한 액세스를 제한할 수도 있습니다.
  • 기능 액세스. 데이터 및 저장된 콘텐츠 보기, LookML 모델 변경, Looker 관리 등 Looker에서 사용자가 수행할 수 있는 작업 유형을 제어합니다. Looker 역할의 나머지 절반을 구성하는 권한 집합에서 기능 액세스를 관리합니다. 이러한 권한 중 일부는 전체 Looker 인스턴스에 적용됩니다(예: 데이터 전송에 대한 모든 일정을 볼 수 있음). 대부분의 권한은 특정 모델 세트에 적용됩니다(예: 해당 모델을 기반으로 사용자 정의 대시보드를 볼 수 있음).

사용자와 그룹의 데이터 액세스, 기능 액세스, 콘텐츠 액세스 권한을 결합하여 사용자가 Looker에서 수행하고 볼 수 있는 작업을 지정합니다.

사용자 및 그룹

Looker에는 개별 사용자와 사용자 그룹이 모두 있습니다. 사용자는 Looker 관리 패널의 사용자 페이지에서, 그룹은 Looker 관리 패널의 그룹 페이지에서 관리됩니다.

그룹을 사용하여 사용자를 개별적으로 할당, 조정, 삭제하는 지루한 작업을 방지하는 것이 좋습니다. 일반적으로 사용자에게 허용할 활동 조합은 사용자가 그룹 하나 이상에 속하도록 하여 정렬될 수 있습니다. 그룹 조합이 부족한 경우 사용자 한 명만 있는 그룹을 만들면 향후 대상 그룹을 더 많은 사용자로 확장할 수 있습니다. 액세스 필터의 경우 그룹에 사용자 속성을 할당할 수 있으므로 사용자 속성을 사용하는 것이 좋습니다.

사용자 콘텐츠 액세스 제어

Looker 폴더를 사용하면 대시보드 및 Look 세트를 구성할 수 있습니다. 또한 다른 폴더도 포함하여 조직의 중첩된 계층 구조를 쉽게 사용할 수 있습니다.

폴더를 사용하면 폴더 콘텐츠(예: Looks 및 대시보드)를 수정하고 폴더의 콘텐츠를 보고 설정을 변경할 수 있는 사용자를 결정하는 액세스 수준을 설정할 수 있습니다.

  • 사용자가 폴더가 있는지 확인하고 폴더 내의 Look 및 대시보드를 보고 폴더의 Look 및 대시보드를 복사하려면 사용자에게 최소한 폴더에 대한 보기 액세스 수준이 있어야 합니다.

  • 사용자가 폴더에 대한 액세스 권한을 관리하고 폴더와 해당 콘텐츠를 수정하려면(폴더 이름 바꾸기, 콘텐츠 이동, Look 및 대시보드 삭제 등) 사용자에게 폴더에 대한 액세스 관리, 수정 액세스 수준이 있어야 합니다.

폴더는 사용자가 Looker 플랫폼에서 수행할 수 있는 작업이나 자체 콘텐츠를 빌드하는 데 사용할 수 있는 데이터를 제어하지 않습니다. 이러한 액세스 수준을 관리하려면 이 페이지의 기능 및 데이터 액세스 제어 섹션을 참조하세요.

Looker에서 콘텐츠를 탐색하는 사용자의 폴더 액세스 수준 조정에 대한 단계별 안내는 콘텐츠에 대한 액세스 구성 및 관리 문서 페이지를 참조하세요. Looker 관리자는 Looker의 콘텐츠 액세스 페이지에서 모든 그룹과 사용자의 폴더 액세스 수준을 조정할 수도 있습니다. 또한 인스턴스 전체 액세스 수준 설계에 대한 자세한 내용은 액세스 수준 시스템 설계 및 구성 문서 페이지를 참조하세요.

콘텐츠 액세스는 기능 액세스와 별도로 관리되지만 사용자에게 할당된 역할은 사용자가 폴더에 나열된 Look 및 대시보드를 보거나 Look 또는 대시보드를 보거나 폴더를 관리할 수 있는지 여부에 영향을 미칠 수 있습니다. 이 페이지의 콘텐츠 액세스 및 권한 상호작용 방식 섹션에서는 기능 액세스가 콘텐츠 액세스에 미치는 영향을 자세히 설명합니다.

기능 및 데이터 액세스 제어

Looker에서 기능과 데이터 액세스를 제어하려면 일반적으로 사용자 그룹을 만들고(선택사항이지만 권장됨) 이 그룹을 역할에 할당합니다. 역할은 권한 집합을 LookML 모델 집합과 연결합니다. 모델 자체에서는 사용할 수 있는 필드와 데이터를 정의합니다.

액세스 필터를 사용하여 특정 사용자에게 특정 데이터 한도를 적용할 수 있습니다. 또한 프로젝트를 사용하여 Looker 개발자가 특정 데이터베이스를 기반으로 모델을 사용하도록 제한할 수 있습니다.

또한 액세스 권한 부여를 만들어 특정 Explore, 조인, 뷰 또는 필드에 대한 액세스를 제어할 수 있습니다. 액세스 권한 부여는 액세스를 특정 사용자 속성 값이 할당된 사용자로만 제한합니다.

수행 방법 사용하는 기본 단계
사용자가 수행할 수 있는 작업 제어 적절한 권한이 있는 권한 세트를 만든 후 해당 권한 세트가 있는 역할에 그룹이나 사용자를 할당합니다.
사용자가 액세스할 수 있는 필드 제어 해당 필드가 있는 모델을 만든 후 이 모델을 사용하여 역할에 그룹이나 사용자를 할당합니다.
사용자가 액세스할 수 있는 데이터 제어 적절한 데이터 제한사항이 있는 모델을 만든 후 이 모델을 사용하여 역할에 그룹이나 사용자를 할당합니다.

- 또는 -

액세스 필터를 사용하여 사용자를 적절한 데이터로 제한

- 또는 -

사용자 속성을 사용하여 그룹이나 사용자에게 다른 데이터베이스 사용자 인증 정보 제공

- 또는 -

액세스 권한 부여가 있는 사용자 속성을 사용하여 특정 Explore, 조인, 뷰 또는 필드에 대한 액세스 제한
Looker 개발자가 액세스할 수 있는 데이터베이스 연결 제어 적절한 연결로 프로젝트를 만들고 프로젝트를 모델 집합과 연결한 후 이러한 모델을 사용하여 역할에 그룹이나 사용자를 할당합니다.

기능 액세스는 콘텐츠 액세스에도 영향을 미칠 수 있습니다. 데이터 액세스와 기능 액세스가 콘텐츠 액세스에 미치는 영향에 대한 자세한 내용은 이 페이지의 콘텐츠 액세스 및 권한 상호작용 방식 섹션을 참조하세요.

알아야 할 구성요소

역할

역할은 하나의 권한 세트와 하나의 모델 세트의 조합입니다. 권한 세트는 권한 하나 이상으로 구성되며 역할이 수행할 수 있는 작업을 정의합니다. 모델 세트는 모델 하나 이상으로 구성되며 역할이 적용되는 LookML 모델을 정의합니다.

역할을 만든 후 개별 사용자나 사용자 그룹을 해당 역할에 할당할 수 있습니다. 일부 역할을 개별 사용자에게 추가하고 다른 역할을 사용자가 속한 그룹에 추가하면 사용자는 해당 역할을 모두 상속합니다.

일부 권한은 전체 Looker 인스턴스와 관련되며 다른 권한은 같은 역할 내의 모델에만 적용됩니다. 자세한 내용은 역할 문서 페이지를 참조하세요.

프로젝트

프로젝트를 사용하면 어떤 모델에서 사용할 수 있는 데이터베이스 연결을 제한할 수 있습니다. 이를 통해 Looker 개발자가 모델을 만들 때 상호작용할 수 있는 데이터 집합을 제어할 수 있습니다. 프로젝트에는 모델이 하나 이상 포함될 수 있으며 연결 하나 이상을 사용하도록 프로젝트를 구성할 수 있습니다.

프로젝트를 통해 정의된 이 제한사항은 Looker SQL Runner로도 전달되므로 개발자는 SQL Runner를 사용하여 금지된 데이터베이스 연결에 액세스할 수 없습니다.

사용자 속성

사용자 속성을 사용하면 사용자 그룹이나 개별 사용자에게 임의의 값을 할당할 수 있습니다. 그런 다음 이 값은 Looker의 다양한 부분에 대한 입력으로 사용되어 각 사용자의 환경을 맞춤설정합니다.

사용자 속성에서 액세스를 제어하는 한 가지 방법은 데이터베이스 사용자 인증 정보를 각 사용자별로 매개변수화하는 것입니다. 데이터베이스에 데이터 액세스 권한이 서로 다른 사용자가 여러 명 있는 경우에만 이 방법을 사용합니다. 자세한 내용은 사용자 속성 문서 페이지를 참조하세요.

사용자 속성에서 액세스를 제어하는 또 다른 방법은 액세스 필터의 일부로 사용되는 것입니다. 액세스 필터를 사용하면 사용자 속성 하나 이상을 데이터 필터로 활용할 수 있습니다. 예를 들어 각 사용자에게 회사 이름을 할당한 후에 표시되는 모든 콘텐츠가 이 이름으로 필터링되는지 확인할 수 있습니다. 액세스 필터를 적용하는 방법은 사용자 속성 문서 페이지와 access_filter 매개변수 문서 페이지를 참조하세요.

또한 사용자 속성은 액세스 권한 부여도 제어합니다. 액세스 권한 부여는 사용자 속성을 지정하고 해당 사용자 속성에 허용되는 값을 정의하여 Explore, 조인, 뷰 또는 필드에 대한 액세스 권한을 부여합니다. 그런 다음 개발자가 Explore, 조인, 또는 필드 수준에서 required_access_grants 매개변수를 사용하여 LookML 구조에 대한 액세스 권한을 허용된 사용자 속성 값이 있는 사용자로 제한합니다. 예를 들어 액세스 권한 부여를 사용하여 salary 측정기준에 대한 액세스를 department 사용자 속성에 payroll 값이 있는 사용자로 제한할 수 있습니다. 액세스 권한 부여를 정의하는 방법은 access_grant 매개변수 문서 페이지를 참조하세요.

구성요소 사용

기능 액세스 제어

권한은 사용자나 그룹에서 수행할 수 있는 활동 유형을 제어합니다. 다음은 사용자가 권한을 얻는 방법입니다.

  1. 권한 세트가 있어야 하는 사용자 그룹 하나 이상을 식별하고 필요한 경우 그룹을 만드는 것이 좋습니다. 원하는 경우 권한을 개별 사용자에게 부여할 수 있습니다.
  2. 적절한 권한이 포함된 권한 세트를 만듭니다.
  3. 할당할 권한 중 일부가 모델에 따라 달라지는 경우 기존 모델 세트를 만들거나 식별합니다.
  4. 권한 세트와 모델 세트(필요한 경우)를 결합하는 역할을 만듭니다.
  5. 역할 페이지에서 역할을 할당합니다. 역할이 있으면 사용자 페이지에서 사용자에게 역할을 할당할 수도 있습니다.

사용자나 그룹에 여러 역할을 할당할 수 있습니다. 이 경우 사용자는 자신이 갖고 있는 모든 역할의 모든 권한을 갖게 됩니다. 예를 들면 다음과 같습니다.

  • Role1을 통해 Model1에서 대시보드를 볼 수 있습니다.
  • Role2를 통해 대시보드를 보고 Model2를 탐색할 수 있습니다.

같은 사용자 그룹에 두 역할 모두 할당하면 Model1과 Model2 모두에서 대시보드를 볼 수 있지만 Model2만 탐색할 수 있습니다.

Looker 필드에 대한 사용자 액세스 제어

사용자가 액세스할 수 있는 모델에서 사용자가 작업할 수 있는 필드를 제어합니다. 다음은 사용자가 필드 액세스 권한을 얻는 방법입니다.

  1. 사용자가 액세스해야 하는 필드만 포함하는 LookML 모델(또는 LookML 모델 조합)을 만듭니다.
  2. 해당 모델이 포함된 모델 세트를 만든 후 역할에 할당합니다. 이 작업은 Looker 역할 페이지에서 수행합니다.
  3. 일반적으로 제안되는 사용자 그룹을 사용하려면 Looker 그룹 페이지에서 그룹을 만듭니다. 그런 다음 역할 페이지에서 해당 그룹을 적절한 역할에 할당합니다.
  4. 개별 사용자를 사용하려면 사용자 페이지 또는 역할 페이지에서 해당 사용자에게 역할을 할당합니다.

사용자나 그룹에 여러 역할을 할당할 수 있습니다. 그런 다음 사용자는 가지고 있는 모든 역할에서 모든 모델을 사용할 수 있습니다.

필드의 hidden 매개변수는 필드 액세스를 제어하는 것이 아니라 더 깨끗한 사용자 환경을 만들도록 설계되었다는 점이 중요합니다. hidden 매개변수는 필드 선택 도구에서 필드를 숨기지만 사용자가 해당 필드를 사용하는 것을 막지는 않습니다. 다른 사용자가 해당 필드를 사용하는 링크를 보내면 이러한 필드를 볼 수 있으며 Looker의 다른 장소에도 필드가 계속 표시됩니다.

데이터에 대한 사용자 액세스 제어

사용자의 데이터 액세스를 제어하는 방법은 사용 사례에 따라 여러 가지가 있습니다.

  • 사용자가 데이터의 특정 을 볼 수 없게 하려면 설명대로 사용자가 액세스할 수 있는 필드를 제어합니다. 사용자가 SQL Runner를 개발 및 사용할 수 없으면 액세스 권한이 있는 필드로 제한됩니다.
  • 사용자가 데이터 특정 을 볼 수 없게 하려면 access_filter 매개변수 문서 페이지의 설명대로 액세스 필터 필드를 적용합니다.
  • 특정 Explore, 조인, 뷰 또는 필드에 대한 액세스를 제한하려면 access_grant 매개변수 문서 페이지의 설명대로 액세스를 허용된 사용자 속성 값이 할당된 사용자로 제한하는 액세스 권한 부여를 만듭니다.지
  • Looker 사용자가 데이터베이스팀에서 데이터 액세스를 제한하도록 구성한 특정 데이터베이스 사용자에 대한 쿼리를 실행하도록 제한하려면 사용자 속성을 사용합니다. 이를 통해 사용자나 개별 사용자의 그룹이 특정 데이터베이스 사용자 인증 정보를 사용하여 쿼리를 실행하도록 데이터베이스 연결을 매개변수화할 수 있습니다. 사용자를 적절한 Looker 필드로 제한하는 것도 고려해야 합니다. 그렇지 않으면 Looker 사용자가 데이터베이스 사용자가 액세스할 수 없는 필드를 쿼리하려고 시도할 수 있으며 이로 인해 오류가 발생합니다.

hidden 필드 매개변수가 필드 액세스를 제어하지 않는 것과 마찬가지로, Explore의 hidden 매개변수는 모든 사용자가 Explore를 보는 것을 막지 않습니다. hidden 매개변수는 탐색 메뉴에서 Explore를 삭제하지만 사용자가 숨겨진 Explore를 참조하는 콘텐츠를 저장했으면 Explore 데이터에 계속 액세스할 수 있습니다.

서명된 임베딩을 사용하는 경우 서명된 삽입 URL을 통해 데이터 액세스 제어를 구성해야 합니다.

데이터베이스 연결에 대한 개발자 액세스 제어

일반 사용자와 달리 Looker 개발자는 단순히 LookML 모델을 추가하거나 변경할 수 있으므로 모델 및 액세스 필터의 제약을 받지 않습니다. 하지만 관리자는 프로젝트를 사용하여 Looker 개발자를 특정 데이터베이스 연결로 계속 제한할 수 있습니다. 방법은 다음과 같습니다.

  1. 특정 수의 모델을 특정 수의 데이터베이스 연결로 제한하는 프로젝트를 만듭니다. 이 작업은 Looker 프로젝트 관리 페이지에서 수행됩니다.
  2. 프로젝트에서 모델이 최소 하나 이상 포함된 모델 세트를 만든 후 역할에 할당합니다. 이 작업은 Looker 역할 페이지에서 수행합니다.
  3. 일반적으로 제안되는 사용자 그룹을 사용하려면 Looker 그룹 페이지에서 그룹을 만듭니다. 그런 다음 역할 페이지에서 해당 그룹을 적절한 역할에 할당합니다.
  4. 개별 사용자를 사용하려면 사용자 페이지 또는 역할 페이지에서 해당 사용자에게 역할을 할당합니다.

Looker 개발자가 프로젝트의 일부인 모든 모델을 볼 수 있으면 해당 프로젝트에 속한 모든 모델을 볼 수 있습니다. 예를 들면 Looker 개발자를 모델 하나만 있는 역할에 할당했지만 이 모델이 다른 모델을 포함하는 프로젝트의 일부인 경우가 해당됩니다.

콘텐츠 액세스와 권한 상호작용 방식

사용자가 폴더를 볼 때 사용자가 또는 Looker 관리자가 관리자 패널의 콘텐츠 액세스 페이지에서 콘텐츠 액세스를 관리합니다. 사용자에게 할당된 역할에 따라 사용자 특성과 데이터 액세스가 결정됩니다. 이는 사용자가 폴더에서 수행할 수 있는 작업과 Look 및 대시보드를 볼 수 있는지 여부에 영향을 미칩니다.

Look 및 대시보드에서 데이터 보기

Look 또는 대시보드의 데이터를 보려면 사용자에게 콘텐츠가 저장된 폴더에 대한 보기 이상의 권한이 있어야 합니다.

사용자가 Look을 선택하고 데이터를 보려면 사용자에게 access_datasee_looks 권한이 있어야 합니다. 사용자가 대시보드를 선택하고 데이터를 보려면 사용자에게 access_datasee_user_dashboards 권한이 있어야 합니다.

Look 또는 대시보드 타일에서 데이터를 보려면 사용자에게 해당 데이터에 대한 액세스 권한이 있어야 합니다. 필요한 데이터 액세스 권한이 없으면 다음이 수행됩니다.

  • 사용자가 폴더에 나열된 Look을 보고 Look으로 이동할 수 있더라도 Look의 쿼리가 실행되지 않고 사용자는 Look의 데이터를 볼 수 없습니다.
  • 사용자가 폴더에 나열된 대시보드를 보고 대시보드로 이동할 수 있더라도 사용자가 액세스할 수 없는 타일은 공백으로 표시됩니다. 대시보드에 여러 모델에서 만든 타일이 있으면 사용자는 액세스할 수 있는 모델과 연결된 타일을 볼 수 있으며 다른 모델의 타일에는 오류가 표시됩니다.

예를 들어 폴더에 대한 보기 액세스 권한과 폴더에 있는 모든 Look의 기반이 되는 데이터에 대한 데이터 액세스 권한이 있는 사용자와 access_datasee_looks 권한이 모두 있는 사용자는 폴더에 있는 모든 Look의 목록을 보고 이러한 Look을 볼 수도 있습니다. 이 사용자에게 LookML 또는 사용자 정의 대시보드를 볼 수 있는 액세스 권한이 없는 경우 폴더에 있을 수 있는 대시보드가 사용자에게 표시되지 않습니다.

Look 및 대시보드의 목록과 폴더 보기

사용자가 폴더를 보고 해당 폴더에 저장된 콘텐츠 목록을 보려면 사용자에게 최소한 폴더에 대한 보기 액세스 수준이 있어야 합니다.

see_looks 이상의 권한도 있는 사용자는 폴더에서 Look 제목을 볼 수 있습니다. see_user_dashboards 이상의 권한도 있는 사용자는 폴더의 대시보드 제목을 볼 수 있습니다. 하지만 Looker 또는 대시보드의 데이터를 볼 수 있다는 의미는 아닙니다.

예를 들어 see_looks 권한은 있지만 access_data 권한이 없는 사용자는 Look 제목을 볼 수 있지만 Look의 데이터를 볼 수 없습니다.

access_data 권한은 있지만 see_looks 또는 see_user_dashboards 권한이 없는 사용자는 폴더나 콘텐츠를 볼 수 없습니다.

폴더 수정

사용자가 콘텐츠 복사 및 이동, 폴더 이름 바꾸기 및 폴더 이동을 포함하여 폴더를 구성할 수 있으려면 사용자에게 폴더에 대한 액세스 관리, 수정 액세스 수준이 있어야 합니다. 또한 사용자에게 폴더를 생성, 수정, 이동, 삭제할 수 있는 manage_spaces 권한도 있어야 합니다.

사용자 권한 인프라(LDAP, SAML, OpenID Connect) 사용

이미 LDAP, SAML 또는 OpenID 인프라가 설정되어 있으면 해당 시스템을 사용하여 사용자 로그인을 관리할 수 있습니다. LDAP를 설정하는 방법은 LDAP 인증 페이지를 참조하세요. SAML 설정 안내는 SAML 인증 문서 페이지를 참조하세요. OpenID Connect 설정 안내는 OpenID Connect 인증 문서 페이지를 참조하세요.

LDAP, SAML 또는 OpenID Connect 구현에서 그룹을 구성한 경우 Looker 내에서 이러한 그룹을 사용할 수도 있습니다. 단, 다음 사항에 유의해야 합니다.

  • 생성된 모든 그룹은 Looker로 자동 전송되며 그룹 페이지에 표시됩니다. LDAP, SAML 또는 OpenID Connect 그룹마다 Looker 그룹 하나가 생성되며 Looker 그룹 이름은 LDAP, SAML 또는 OpenID Connect 그룹 이름을 미러링합니다.
  • 이러한 Looker 그룹을 사용하여 폴더에 대한 액세스 수준사용자 속성을 그룹 구성원에게 할당할 수 있습니다.
  • 수동으로 만든 그룹에서와 같이 Looker 그룹을 사용하여 역할을 구성할 수 없습니다. 대신 설정 과정에서 LDAP, SAML 또는 OpenID Connect 그룹을 Looker 역할에 매핑하고 LDAP, SAML 또는 OpenID Connect 설정 페이지에서 할당된 역할만 변경할 수 있습니다. LDAP, SAML 또는 OpenID Connect 그룹이 단일 정보 소스로 유지되도록 이 방법이 필요했습니다. 이 제한사항이 없으면 그룹-역할 매핑이 LDAP, SAML 또는 OpenID Connect 스킴에서 의도한 함수와 다를 수 있습니다.

LDAP 인증 문서 페이지의 설명대로 LDAP를 사용하여 Looker 쿼리에 사용자별 데이터베이스 연결을 적용할 수도 있습니다.