액세스 제어 및 권한 관리

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

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

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

사용자 및 그룹

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

그룹을 사용하면 사용자를 위한 제어 기능을 개별적으로 할당, 조정, 삭제하는 지루한 상황을 피할 수 있습니다. 일반적으로 사용자에게 허용할 활동의 조합은 해당 사용자가 하나 이상의 그룹에 속하도록 할 수 있습니다. 그룹 조합으로 충분하지 않은 경우 사용자가 한 명뿐인 그룹을 만들어 향후 더 많은 사용자에게 그룹을 확장할 수 있습니다. 액세스 필터의 경우 그룹에 사용자 속성을 할당할 수 있으므로 사용자 속성을 사용하는 것이 좋습니다.

사용자 콘텐츠 액세스 권한 제어

Looker 폴더를 사용하여 대시보드와 Look의 집합을 구성할 수 있습니다. 또한 다른 계층이 포함되어 조직의 계층 구조를 중첩할 수도 있습니다.

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

  • 사용자가 폴더를 보고 해당 폴더 내에 저장된 콘텐츠 목록을 보려면 폴더에 대한 보기 액세스 수준 이상이 필요합니다.

  • 폴더에 콘텐츠 관리, 수정 액세스 수준이 있어야 콘텐츠 복사 및 이동, 폴더 이름 변경 및 이동, 이와 유사한 작업을 수행할 수 있습니다.

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

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

콘텐츠 액세스는 기능 액세스와 별도로 관리되지만, 사용자에게 할당된 역할은 폴더에 나열된 Look 및 대시보드를 볼 수 있는지, Look 또는 대시보드를 볼 수 있는지, 아니면 폴더를 관리할 수 있는지에 영향을 미칠 수 있습니다. 아래 섹션에서는 기능 액세스가 콘텐츠 액세스에 미치는 영향을 자세히 설명합니다.

기능 및 데이터 액세스 제어

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

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

액세스 권한 부여를 생성하여 특정 탐색 분석, 조인, 뷰 또는 필드 액세스 권한을 관리할 수도 있습니다. 액세스 권한은 특정 사용자 속성 값이 할당된 사용자에게만 액세스를 허용합니다.

이를 달성하려면 ... 다음과 같은 기본 단계를 수행합니다.
사용자가 수행할 수 있는 작업 제어 적절한 권한이 있는 권한 집합을 생성한 다음 그룹 또는 사용자를 해당 권한이 있는 역할에 할당합니다.
사용자가 액세스할 수 있는 필드 제어 적절한 필드로 모델을 만든 다음 그룹 또는 사용자를 해당 모델을 사용하는 역할에 할당합니다.
사용자가 액세스할 수 있는 데이터 관리 적절한 데이터 제한이 있는 모델을 만든 다음 그룹 또는 사용자를 해당 역할이 있는 역할에 할당합니다.

- 또는 -

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

- 또는 -

사용자 속성을 사용하여 그룹 또는 사용자에게 다양한 데이터베이스 사용자 인증 정보를 제공합니다.

- 또는 -

액세스 권한 부여를 통해 사용자 속성을 사용하여 특정 탐색 분석, 참여, 참여에 대한 액세스를 제한합니다.
Looker 개발자가 액세스할 수 있는 데이터베이스 연결 제어 적절한 연결로 프로젝트를 만들고, 모델을 일련의 모델과 연결한 후, 해당 모델을 사용하여 그룹 또는 사용자를 역할에 할당합니다.

기능 액세스는 콘텐츠 액세스에도 영향을 줄 수 있습니다. 데이터 액세스 및 기능 액세스 권한이 콘텐츠 액세스에 미치는 영향에 대한 자세한 내용은 아래 섹션을 참조하세요.

이해해야 할 빌딩 블록

역할

역할은 하나의 권한 집합과 하나의 모델 집합의 조합입니다. 권한 세트는 역할의 기능을 정의하고, 모델 세트는 역할에 표시되는 LookML 모델을 정의합니다.

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

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

프로젝트

프로젝트를 사용하면 모델별로 사용할 수 있는 데이터베이스 연결을 제한할 수 있습니다. 이를 통해 Looker 개발자가 모델을 만들 때 상호작용할 수 있는 데이터 세트를 제어할 수 있습니다.

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

사용자 속성

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

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

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

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

구성 요소 사용

기능 액세스 제어

권한은 사용자 또는 그룹이 할 수 있는 활동 유형을 제어합니다. 사용자는 다음과 같은 방법으로 권한을 얻을 수 있습니다.

  1. 가장 좋은 방법은 권한을 설정해야 하는 사용자 그룹을 하나 이상 식별하여 필요한 경우 그룹을 만드는 것입니다. 원하는 경우 개별 사용자에게 권한을 부여할 수 있습니다.
  2. 적절한 권한이 포함된 권한 집합을 만듭니다.
  3. 지정할 권한 중 일부가 모델별 권한인 경우 기존 모델 세트를 만들거나 식별합니다.
  4. 권한 세트와 필요한 경우 모델 세트를 결합하는 역할을 만듭니다.
  5. 역할 페이지에서 역할을 할당합니다. 역할이 존재하면 사용자 페이지에서 사용자에게 역할을 할당할 수도 있습니다.

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

  • Role1은 Model1에서 대시보드를 볼 수 있는 기능을 제공합니다.
  • Role2는 대시보드를 보고 Model2에서 탐색할 수 있는 기능을 제공합니다.

동일한 사용자 그룹에 두 역할을 모두 할당하면 사용자가 모델1과 모델2 모두에서 대시보드를 볼 수 있지만 모델2에서만 탐색할 수 있습니다.

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

사용자가 작업할 수 있는 필드는 사용자가 액세스할 수 있는 모델에 의해 제어됩니다. 사용자가 필드 액세스 권한을 얻는 방법은 다음과 같습니다.

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

사용자 또는 그룹에 여러 역할을 할당할 수 있습니다. 사용자는 자신이 가진 모든 역할의 모든 모델을 사용할 수 있습니다.

필드의 hidden 매개변수는 필드 액세스를 제어하지 않고 사용자에게 좀 더 깔끔한 환경을 제공하도록 설계되었습니다. hidden 매개변수는 필드 선택 도구에서 필드를 숨기지만 사용자가 해당 필드를 사용하는 것을 차단하지는 않습니다. 누군가가 해당 필드를 사용하는 링크를 보내면 이 필드를 볼 수 있으며 Looker의 다른 장소에서는 여전히 해당 필드를 표시합니다.

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

사용 사례에 따라 다음과 같은 여러 방법으로 사용자의 데이터 액세스를 제어할 수 있습니다.

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

hidden 필드 매개변수가 필드 액세스를 제어하기 위한 것이 아닌 경우, 탐색의 hidden 매개변수로 인해 모든 사용자가 탐색을 볼 수 있는 것은 아닙니다. hidden 매개변수는 탐색 메뉴에서 탐색 메뉴를 삭제하지만 사용자가 숨겨진 탐색을 참조하는 콘텐츠를 저장한 경우 탐색 데이터에 계속 액세스할 수 있습니다.

싱글 사인온 (SSO) 삽입을 사용하는 경우 SSO 삽입 URL을 통해 데이터 액세스 제어를 구성해야 합니다.

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

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

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

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

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

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

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

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

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

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

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

이 예에서는 사용자에게 폴더에 대한 보기 액세스 권한, 데이터의 데이터 액세스 권한, access_datasee_looks 권한이 모두 있으므로 Look 목록을 보고 이러한 Look을 볼 수 있습니다. 사용자에게 LookML 또는 사용자 정의 대시보드를 볼 수 있는 권한이 없으므로 폴더에 대시보드가 표시되지 않습니다.

폴더 및 보기 및 대시보드 목록 보기

사용자가 폴더를 보고 해당 폴더 내에 저장된 콘텐츠 목록을 보려면 폴더에 대한 보기 액세스 수준 이상이 필요합니다.

또한 see_looks개 이상의 권한이 있는 사용자는 폴더에서 Look 제목을 볼 수 있습니다. 최소한 see_user_dashboards 권한도 가진 사용자는 폴더에서 대시보드 제목을 볼 수 있습니다. 그러나 사용자가 Looks 또는 대시보드의 데이터를 볼 수 있는 것은 아닙니다.

이 예에서는 사용자에게 see_looks 권한이 있지만 access_data 권한은 없습니다. 따라서 사용자가 Looks 제목은 볼 수 있지만 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 설정 페이지에서만 변경할 수 있습니다. Google은 LDAP, SAML 또는 OpenID Connect 그룹을 단일 정보 소스로 유지하기 위해 이 접근 방식을 도입했습니다. 이러한 제한이 없으면 그룹-역할 매핑이 LDAP, SAML 또는 OpenID Connect 스키마에서 의도된 기능과 다를 수 있습니다.

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