회사는 다양한 OpenID Connect 제공업체(OP)를 사용하여 OpenID Connect를 조정합니다(예: Okta 또는 OneLogin). 다음 설정 안내 및 Looker UI에서 사용되는 용어는 OP에서 사용되는 용어와 직접 일치하지 않을 수 있습니다.
관리 메뉴의 인증 섹션에 있는 OpenID Connect 페이지에서 OpenID Connect 프로토콜을 사용하여 사용자를 인증하도록 Looker를 구성할 수 있습니다. 이 페이지에서는 이 프로세스에 대해 설명하고 OpenID Connect 그룹을 Looker 역할 및 권한에 연결하는 방법을 안내합니다.
계획 관련 고려사항
- Looker 관리자가 OpenID Connect 없이 Looker에 액세스할 수 있도록 지정된 사용자를 위한 대체 로그인 옵션을 사용하는 것이 좋습니다.
- 대체 계정 로그인을 설정하지 않는 한 OpenID Connect를 사용하여 Looker에 로그인된 상태에서 OpenID Connect 인증을 사용 중지하지 마십시오. 그러지 않으면 앱에 액세스할 수 없게 됩니다.
- Looker는 현재 이메일 및 비밀번호 설정, LDAP, SAML 또는 Google 인증에서 가져온 이메일 주소를 사용하여 기존 계정을 OpenID Connect로 마이그레이션할 수 있습니다. 설정 과정에서 이를 구성할 수 있습니다.
- Looker는 OpenID Connect의 승인 코드 플로우를 통한 OpenID Connect 인증만 지원합니다. 다른 코드 흐름은 지원되지 않습니다.
- OpenID Connect 사양에는 선택적 탐색 메커니즘이 포함됩니다. Looker는 이 메커니즘을 지원하지 않으므로 OpenID Connect 인증 설정 구성에 설명된 대로 OpenID Connect 인증 설정 섹션에서 명시적인 URL을 제공해야 합니다.
OpenID Connect 설정
Looker와 OpenID Connect 간의 연결을 설정하려면 다음 태스크를 수행합니다.
OP에서 Looker 설정
OpenID Connect 제공업체(OP)에는 Looker 인스턴스의 URL이 필요합니다. OP는 이를 리디렉션 URI 또는 로그인 리디렉션 URI 등으로 부를 수 있습니다. OP의 웹사이트에서 브라우저에 Looker 인스턴스에 액세스하는 URL과 /openidconnect
를 차례로 제공하여 OP를 제공합니다. 예를 들면 https://instance_name.looker.com/openidconnect
입니다.
OP에서 정보 가져오기
OpenID Connect 인증을 위한 Looker를 구성하려면 OP에서 다음 정보가 필요합니다.
- 클라이언트 식별자와 클라이언트 보안 비밀번호. 이는 일반적으로 리디렉션 URI를 구성할 때 OP의 웹사이트에서 제공합니다.
- OpenID Connect 인증 프로세스 중에 Looker는 인증 엔드포인트, ID 토큰 엔드포인트, 사용자 정보 엔드포인트라는 세 가지 엔드포인트에 연결합니다. 이러한 엔드포인트마다 OP가 사용하는 URL이 필요합니다.
- 각 OP는 범위라고 하는 세트로 사용자 정보를 제공합니다. OP에서 사용하는 범위의 이름을 알아야 합니다. OpenID Connect에는
openid
범위가 필요하지만 OP는email
,profile
,groups
과 같은 다른 범위를 포함할 가능성이 높습니다. - OpenID Connect에서는 사용자 데이터를 저장하는 속성을 클레임이라고 부릅니다. Looker 인스턴스에서 원하는 사용자 정보를 제공하기 위해 OP가 Looker에 전달하는 클레임이 무엇인지 알아야 합니다. Looker에는 이메일 및 이름 정보가 포함된 클레임이 필요하지만 시간대나 부서와 같은 다른 사용자 속성이 있는 경우 Looker에서 해당 정보를 포함하는 클레임도 식별해야 합니다. 사용자 정보 엔드포인트 또는 ID 토큰 엔드포인트의 응답에 클레임을 포함할 수 있습니다. Looker는 엔드포인트 중 하나에서 반환된 클레임을 Looker 사용자 속성에 매핑할 수 있습니다.
많은 OP가 탐색 문서의 형태로 OpenID Connect 구성에 대한 정보를 제공하므로 OpenID Connect 에 대해 Looker를 구성하는 데 필요한 정보 중 일부 또는 전체를 수집할 수 있습니다. 탐색 문서에 액세스할 수 없는 경우 OP 또는 내부 인증팀으로부터 필요한 정보를 받아야 합니다.
다음 섹션은 탐색 문서의 예시에서 가져온 것입니다.
{ "issuer": "https://accounts.google.com", "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth", "token_endpoint": "https://www.googleapis.com/oauth2/v4/token", "userinfo_endpoint": "https://www.googleapis.com/oauth2/v3/userinfo", "revocation_endpoint": "https://accounts.google.com/o/oauth2/revoke", "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs", "response_types_supported": [ "code", "token", "id_token", "code token" "code id_token", "token id_token", "code token id_token", "none" ], "subject_types_supported": [ "public" ], "id_token_signing_alg_values_supported": [ "RS256" ], "scopes_supported": [ "openid", "email", "profile" ], "token_endpoint_auth_methods_supported": [ "client_secret_post", "client_secret_basic" ], "claims_supported": [ "aud", "email", "email_verified", "exp", "family_name", "given_name", "iat", "iss", "locale", "name", "picture", "sub" ],
OpenID Connect 인증 설정 구성
OP의 탐색 문서, OP 또는 내부 인증팀에서 가져온 구성 정보를 사용하여 다음 필드에 연결 설정을 입력합니다.
식별자: Looker 인스턴스에 고유한 클라이언트 식별자입니다. 이 정보는 OP가 제공해야 합니다.
보안 비밀: Looker 인스턴스에 고유한 클라이언트 보안 비밀번호 키입니다. 이 정보는 OP가 제공해야 합니다.
발급기관: OP를 식별하는 보안 URL입니다.
잠재고객: 클라이언트인 OP를 나타내는 식별자입니다. 이 값은 식별자 값과 동일한 경우가 많지만 다른 값일 수 있습니다.
승인 URL: 인증 시퀀스가 시작되는 OP의 URL입니다. 탐색 문서에서 authorization_endpoint
라고 하는 경우가 많습니다.
토큰 URL: Looker가 승인된 후 Looker가 OAuth 토큰을 검색하는 URL입니다. 탐색 문서에서 token_endpoint
라고 하는 경우가 많습니다.
사용자 정보 URL: Looker가 자세한 사용자 정보를 가져올 URL입니다. 탐색 문서에서 userinfo_endpoint
라고 하는 경우가 많습니다.
범위: Looker에 사용자 정보를 제공하기 위해 OP에서 사용하는 범위의 쉼표로 구분된 목록입니다. Looker openid
범위와 인스턴스에 구성된 이메일 주소, 사용자 이름, 모든 사용자 속성을 포함하여 Looker에 필요한 정보가 포함된 모든 범위를 포함해야 합니다.
사용자 속성 설정 구성
이 섹션에서는 OP의 클레임을 Looker 사용자 속성에 매핑합니다.
사용자 속성 설정 섹션에서 각 필드에 해당하는 정보가 포함된 OP의 클레임 이름을 입력합니다. 이는 Looker에 이러한 클레임을 로그인 시에 Looker 사용자 정보에 매핑하는 방법을 알려줍니다. Looker는 클레임 생성 방법에 대해 자세히 다루지 않으며 여기에 입력된 클레임 정보가 OP에서 정의된 클레임 방식과 일치하는 것이 중요합니다.
표준 클레임
Looker에서 사용자 인증을 위해서는 사용자 이름과 이메일 정보가 필요합니다. 이 섹션에 OP의 해당 클레임 정보를 입력합니다.
이메일 클레임: OP에서 email
와 같은 사용자 이메일 주소에 사용하는 클레임입니다.
이름 클레임: OP가 given_name
와 같은 사용자 이름에 사용하는 클레임입니다.
성 클레임: OP가 family_name
와 같은 사용자 성에 사용하는 클레임입니다.
일부 OP에서는 이름과 성을 구분하는 대신 이름에 단일 클레임을 사용합니다. OP가 이러한 경우 이름 클레임 및 성 클레임 필드 모두에 이름을 저장하는 클레임을 입력합니다. 각 사용자에 대해 Looker는 첫 스페이스까지의 내용물을 이름으로, 그 뒤 전체를 성으로 사용합니다.
속성 페어링
필요한 경우 사용자가 로그인할 때 OpenID Connect 클레임의 데이터를 사용하여 Looker 사용자 속성의 값을 자동으로 채울 수 있습니다. 예를 들어 데이터베이스에 사용자별 연결을 수행하도록 OpenID Connect를 구성한 경우 OpenID Connect 클레임을 Looker 사용자 속성과 페어링하여 Looker에서 데이터베이스 연결을 사용자별로 수행할 수 있습니다.
클레임을 해당 Looker 사용자 속성과 페어링하려면 다음 안내를 따릅니다.
- 클레임 필드에 OP로 식별된 클레임을 입력하고 Looker 사용자 속성 필드에서 페어링할 Looker 사용자 속성을 입력합니다.
- 클레임 필드에 값이 누락된 사용자 계정으로 로그인을 차단하려면 필수를 선택합니다.
- +를 클릭하고 이 단계를 반복하여 클레임 및 속성 쌍을 추가합니다.
일부 OP의 경우 '중첩된' 클레임이 있을 수 있습니다. 예를 들면 다음과 같습니다.
"zoneinfo": "America/Los Angeles",
"phone_number": "555-1235",
"address": {
"street_address": "1234 Main Street",
"locality": "Anyton",
"region": "IL",
"postal_code": "60609",
"country": "US"
},
이전 예시에서 locality
클레임은 address
클레임 내에 중첩됩니다. 중첩된 클레임의 경우 상위 클레임과 중첩된 클레임을 슬래시( /
) 문자로 구분하여 지정합니다. 예시에서 locality
클레임에 Looker를 구성하려면 address/locality
를 입력합니다.
그룹 및 역할
Looker에서는 외부에서 관리되는 OpenID Connect 그룹을 미러링하는 그룹을 만든 후 미러링된 OpenID Connect 그룹을 기준으로 Looker 역할을 사용자에게 할당할 수 있습니다. OpenID Connect 그룹 멤버십을 변경하면 해당 변경사항이 Looker 그룹 구성에 자동으로 채워집니다
OpenID Connect 그룹을 미러링하면 외부에서 정의된 OpenID Connect 디렉터리를 사용하여 Looker 그룹과 사용자를 관리할 수 있습니다. 그러면 이를 통해 Looker와 같은 여러 서비스형 소프트웨어(SaaS) 도구에 대해 그룹 멤버십을 하나의 장소에서 관리할 수 있습니다.
OpenID Connect 그룹 미러링을 사용 설정하면 Looker는 시스템에 도입되는 모든 OpenID Connect 그룹에 대해 하나의 Looker 그룹을 만듭니다. 이러한 Looker 그룹은 Looker 관리 섹션의 그룹 페이지에서 확인할 수 있습니다. 그룹은 그룹 멤버에 역할을 할당하고, 콘텐츠 액세스 제어를 설정하고, 사용자 속성을 할당하는 데 사용될 수 있습니다.
기본 그룹 및 역할
OpenID Connect 그룹 미러링은 기본적으로 사용 중지되어 있습니다. 이 경우 새 OpenID Connect 사용자의 기본 그룹을 설정할 수 있습니다. 새 사용자 그룹 및 새 사용자 역할 필드에서 새 Looker 사용자가 Looker에 처음 로그인할 때 이러한 사용자에게 할당하려는 모든 Looker 그룹 또는 역할의 이름을 입력합니다.
이러한 그룹 및 역할은 새 사용자가 처음 로그인할 때 적용됩니다. 기존 사용자에게 적용되지 않으며 처음 로그인한 후 사용자에게서 삭제되면 다시 적용되지 않습니다.
OpenID Connect 그룹 미러링 사용 설정
Looker 내에서 OpenID Connect 그룹을 미러링하려면 OpenID Connect 그룹 미러링 스위치를 사용 설정합니다.
그룹 클레임: OP가 그룹 이름을 저장하는 데 사용하는 클레임을 입력합니다. Looker는 그룹 클레임을 통해 시스템에 도입되는 모든 OpenID Connect 그룹에 대해 하나의 Looker 그룹을 만듭니다. 이러한 Looker 그룹은 Looker 관리 섹션의 그룹 페이지에서 확인할 수 있습니다. 그룹은 콘텐츠 액세스 제어를 설정하고 사용자 속성을 할당하는 데 사용할 수 있습니다.
선호하는 그룹 이름 / 역할 / OpenID Connect 그룹 이름: 이 필드 집합을 사용하여 Looker에서 해당 OpenID Connect 그룹에 할당되는 커스텀 그룹 이름과 역할을 하나 이상 할당할 수 있습니다.
OpenID Connect 그룹 이름 필드에 OpenID Connect 그룹 이름을 입력합니다. OpenID Connect 그룹에 포함된 OpenID Connect 사용자는 Looker 내의 미러링된 그룹에 추가됩니다.
커스텀 이름 필드에 미러링된 그룹의 커스텀 이름을 입력합니다. 이 이름은 Looker 관리 섹션의 그룹 페이지에 표시되는 이름입니다.
커스텀 이름 필드 오른쪽 필드에서 그룹의 각 사용자에게 할당되는 하나 이상의 Looker 역할을 선택합니다.
추가 미러링된 그룹을 구성하기 이해 추가 필드 집합을 추가하려면
+
를 클릭합니다. 구성된 그룹이 여러 개 있고 한 그룹의 구성을 삭제하려면 해당 그룹의 필드 집합 옆에 있는X
를 클릭합니다.
이 화면에서 이전에 구성한 미러링된 그룹을 수정하면 그룹 구성이 변경되지만 그룹 자체는 그대로 유지됩니다. 예를 들어 그룹의 커스텀 이름을 변경하면 Looker의 그룹 페이지에서 그룹이 표시되는 방식이 변경되지만 할당된 역할 및 그룹 구성원은 변경되지 않습니다. OpenID Connect 그룹 ID를 변경하면 그룹 이름과 역할이 유지되지만 새 OpenID Connect 그룹 ID가 있는 외부 OpenID Connect 그룹의 구성원인 사용자를 기반으로 그룹 구성원이 다시 할당됩니다.
이 페이지에서 그룹을 삭제하면 해당 그룹이 Looker에서 더 이상 미러링되지 않고 해당 구성원도 Looker에서 이 그룹을 통해 할당된 역할을 더 이상 포함하지 않습니다.
미러링된 그룹에 수행된 모든 수정 사항은 다음에 Looker에 로그인할 때 해당 그룹의 사용자에게 할당됩니다.
고급 역할 관리
OpenID Connect 그룹 미러링 스위치를 사용 설정한 경우 Looker에 이러한 설정이 표시됩니다. 이 섹션의 옵션은 OpenID Connect에서 미러링된 Looker 그룹 및 사용자를 구성할 때 Looker 관리자에게 제공되는 유연성 정도를 결정합니다.
예를 들어 Looker 그룹 및 사용자 구성이 OpenID Connect 구성과 엄격하게 일치하도록 하려면 이 옵션을 사용 설정합니다. 처음 세 가지 옵션이 모두 사용 설정되었으면 Looker 관리자가 미러링된 그룹의 멤버십을 수정할 수 없고 OpenID Connect 미러링된 그룹을 통해서만 사용자에게 역할을 할당할 수 있습니다.
Looker 내에서 그룹을 더 맞춤설정할 수 있는 추가 유연성이 필요한 경우 이러한 옵션을 해제합니다. Looker 그룹이 OpenID Connect 구성을 계속 미러링하지만 Looker 특정 그룹에 OpenID Connect 사용자를 추가하거나 OpenID Connect 사용자에게 직접 Looker 역할을 할당하는 경우와 같이 추가 그룹 및 사용자 관리를 수행할 수 있습니다.
새 Looker 인스턴스 또는 이전에 미러링된 그룹을 구성하지 않은 인스턴스의 경우 이러한 옵션이 기본적으로 해제되어 있습니다.
미러링된 그룹을 구성한 기존 Looker 인스턴스의 경우 이러한 옵션이 기본적으로 설정되어 있습니다.
고급 역할 관리 섹션에는 다음 옵션이 포함되어 있습니다.
개별 OpenID Connect 사용자가 직접 역할을 받지 못하도록 방지: 이 옵션을 설정하면 Looker 관리자가 OpenID Connect 사용자에게 Looker 역할을 직접 할당할 수 없습니다. OpenID Connect 사용자는 그룹 멤버십을 통해서만 역할을 받습니다. OpenID Connect 사용자가 미러링되지 않은 기본 제공 Looker 그룹에서 멤버십이 허용된 경우 사용자가 미러링된 OpenID Connect 그룹 및 기본 제공 Looker 그룹 모두에서 역할을 상속할 수 있습니다. 이전에 역할이 직접 할당된 OpenID Connect 사용자는 다음에 로그인할 때 역할이 삭제됩니다.
이 옵션을 해제하면 Looker 관리자가 Looker에 직접 구성된 사용자인 것처럼 OpenID Connect 사용자에게 직접 Looker 역할을 할당할 수 있습니다.
OpenID Connect Groups 이외의 그룹에서 직접 멤버십 방지: 이 옵션을 사용 설정하면 Looker 관리자가 OpenID Connect 사용자를 기본 Looker 그룹에 직접 추가할 수 없습니다. 미러링된 OpenID Connect 그룹이 기본 Looker 그룹의 구성원이 되는 경우 OpenID Connect 사용자는 모든 상위 Looker 그룹에서 멤버십을 유지할 수 있습니다. 기본 제공 Looker 그룹에 이전에 할당된 모든 OpenID Connect 사용자는 다음에 로그인할 때 이러한 그룹에서 삭제됩니다.
이 옵션을 해제하면 Looker 관리자가 기본 제공 Looker 그룹에 OpenID Connect 사용자를 직접 추가할 수 있습니다.
OpenID Connect 이외의 그룹에서 역할 상속 방지: 이 옵션을 사용 설정하면 미러링된 OpenID Connect 그룹의 구성원이 기본 제공 Looker 그룹에서 역할을 상속하지 않습니다. 이전에 상위 Looker 그룹에서 역할을 상속한 OpenID Connect 사용자는 다음에 로그인할 때 이러한 역할을 손실하게 됩니다.
이 옵션을 해제하면 미러링된 OpenID Connect 그룹 또는 기본 제공 Looker 그룹의 구성원으로 추가된 OpenID Connect 사용자가 상위 Looker 그룹에 할당된 역할을 상속합니다.
인증에 역할 필요: 이 옵션이 사용 설정되어 있으면 OpenID Connect 사용자에게 역할이 할당되어 있어야 합니다. 역할이 할당되지 않은 OpenID Connect 사용자는 Looker에 전혀 로그인할 수 없습니다.
이 옵션을 사용 중지하면 할당된 역할이 없는 경우에도 OpenID Connect 사용자가 Looker에 인증할 수 있습니다. 역할이 할당되지 않은 사용자는 Looker에서 데이터를 보거나 작업을 수행할 수 없지만 Looker에 로그인할 수 있습니다.
OpenID Connect 그룹 미러링 사용 중지
Looker 내에서 OpenID Connect 그룹 미러링을 중지하려면 OpenID Connect 그룹 미러링 스위치를 끕니다. 빈 OpenID Connect 그룹 미러링이 삭제됩니다.
비어 있지 않은 OpenID Connect 그룹 미러링은 콘텐츠 관리 및 역할 생성에 계속 사용할 수 있습니다. 하지만 OpenID Connect 그룹 미러링에는 사용자를 추가하거나 삭제할 수 없습니다.
마이그레이션 옵션 구성
이 섹션에서 설명한 대로 Looker는 대체 로그인을 사용 설정하고 기존 사용자에게 병합 전략을 제공할 것을 권장합니다.
지정된 사용자를 위한 대체 로그인
OpenID Connect 인증이 사용 설정되면 일반 사용자의 Looker 이메일 및 비밀번호 로그인이 항상 사용 중지됩니다. 지정된 사용자를 위한 로그인 옵션을 사용하면 관리자 및 login_special_email
권한이 있는 지정된 사용자에 대해 /login/email
을 사용하는 보조 이메일 기반 로그인이 사용 설정됩니다.
이 기능을 사용 설정하면 나중에 OpenID Connect 구성 문제가 발생하거나 OpenID Connect 디렉터리에 계정이 없는 일부 사용자를 지원해야 하는 경우 OpenID Connect 설정의 대체재로서 유용합니다.
OpenID Connect 사용자를 Looker 계정에 병합할 때 사용하는 방법 지정
사용자 사용 병합 필드에서 최초 Open ID Connect 로그인을 기존 사용자 계정에 병합하는 데 사용할 메서드를 지정합니다. 다음 시스템에서 사용자를 병합할 수 있습니다.
- Looker 이메일/비밀번호(Looker(Google Cloud 핵심 서비스)에서는 사용할 수 없음)
- LDAP (Looker(Google Cloud 핵심 서비스)에는 사용할 수 없음)
- SAML
인증 시스템이 여러 개 있으면 이 필드에서 병합할 시스템을 2개 이상 지정할 수 있습니다. Looker는 지정된 순서대로 나열된 시스템에서 사용자를 조회합니다. 예를 들어 Looker 이메일/비밀번호를 사용하여 일부 사용자를 만든 다음 LDAP를 사용 설정했으며 이제 OpenID Connect를 사용하려고 가정해 보겠습니다. 이전 예시에서 Looker에서 이메일 및 비밀번호로 병합한 다음 LDAP로 병합합니다.
사용자가 OpenID Connect로 처음 로그인하는 경우 이 옵션은 일치하는 이메일 주소로 계정을 찾아 사용자를 기존 계정에 연결합니다. 사용자의 기존 계정이 없으면 새 사용자 계정이 생성됩니다.
Looker(Google Cloud 핵심 서비스) 사용 시 사용자 병합
Looker(Google Cloud 핵심 서비스) 및 OpenID Connect를 사용하는 경우 이전 섹션에서 설명한 대로 병합이 작동합니다. 하지만 다음 두 조건 중 하나가 충족되는 경우에만 가능합니다.
- 조건 1: 사용자가 OpenID Connect 프로토콜을 통해 Google ID를 사용하여 Looker(Google Cloud 핵심 서비스)에 인증합니다.
조건 2 병합 옵션을 선택하기 전에 다음 두 단계를 완료합니다.
설정이 이러한 두 조건 중 하나를 충족하지 않으면 사용자 사용 병합 옵션을 사용할 수 없습니다.
병합할 때 Looker는 정확히 동일한 이메일 주소를 공유하는 사용자 레코드를 검색합니다.
사용자 인증 테스트
이 구성을 지정하는 동안 테스트 버튼을 클릭하여 OpenID Connect 구성을 테스트합니다.
테스트가 엔드포인트로 리디렉션되고 새 브라우저 탭이 열립니다. 탭에 다음이 표시됩니다.
- Looker가 다양한 엔드포인트와 통신하고 유효성을 검사할 수 있는지 여부
- 인증 엔드포인트 응답의 트레이스
- Looker가 사용자 정보 엔드포인트에서 가져오는 사용자 정보
- 수신된 ID 토큰의 디코딩된 버전과 원시 버전 모두
이 테스트를 사용하여 다양한 엔드포인트에서 수신된 정보가 올바른지 확인하고 오류를 해결할 수 있습니다.
도움말:
- OpenID Connect가 부분적으로 구성된 경우에도 언제든지 이 테스트를 실행할 수 있습니다. 구성 실행 중에 테스트를 실행하면 구성이 필요한 매개변수를 확인할 수 있습니다.
- 테스트에는 설정이 저장되지 않은 경우에도 OpenID Connect 인증 페이지에 입력한 설정이 사용됩니다. 테스트는 해당 페이지의 설정에 영향을 주거나 설정을 변경하지 않습니다.
설정 저장 후 적용
정보 입력을 마쳤고 테스트가 모두 통과하면 위 내용을 확인했으며 전역 적용을 사용 설정합니다.를 선택하고 설정 업데이트를 클릭하여 저장합니다.