이 페이지에서는 Google Distributed Cloud (GDC) 오프라인을 조직의 기존 ID 공급업체 (IdP)에 연결하는 방법을 설명합니다. IdP는 사용자 ID를 중앙에서 관리하고 보호하여 인증 서비스를 제공하는 시스템입니다. 기존 IdP에 연결하면 사용자가 GDC 내에서 별도의 계정을 만들거나 관리하지 않고도 조직의 사용자 인증 정보를 사용하여 GDC에 액세스할 수 있습니다. 이 프로세스를 통해 원활하고 안전한 로그인 환경을 보장할 수 있습니다. IdP는 전역 리소스이므로 사용자는 작업하는 영역과 관계없이 동일한 IdP를 통해 GDC에 액세스할 수 있습니다.
이 페이지는 IdP에 연결하려는 플랫폼 관리자 그룹(예: IT 관리자 또는 보안 엔지니어)의 사용자를 대상으로 합니다. 자세한 내용은 GDC 오프라인 문서 대상을 참고하세요.
다음 중 하나를 사용하여 기존 ID 공급업체에 연결할 수 있습니다.
시작하기 전에
기존 ID 공급자에 연결하기 전에 초기 설정이 완료되었고 필요한 권한이 있는지 확인하세요.
초기 ID 공급업체 연결 설정
사용자가 GDC의 클러스터 또는 대시보드에 액세스하려면 조직의 인프라 운영자 그룹 구성원이 IdP에 대한 초기 연결을 구성해야 합니다.
티켓팅 시스템인에서 티켓을 열고 ID 공급자에 관한 다음 정보를 제공하면 됩니다.
- 서버 수 및 유형입니다.
- 블록 스토리지의 양(TB)
- 객체 스토리지의 양(TB)입니다.
- OIDC의 필수 매개변수:
- clientID: OpenID 제공업체에 인증을 요청하는 클라이언트 애플리케이션의 ID입니다.
- clientSecret: 애플리케이션과 OpenID 제공업체만 알고 있는 보안 비밀입니다.
- issuerURL: 승인 요청이 OpenID로 전송되는 URL입니다.
- scopes: OpenID 제공업체에 전송할 추가 범위입니다.
- userclaim: 사용자 이름으로 사용할 JSON 웹 토큰 (JWT) 클레임입니다.
- certificateAuthorityData: OIDC 제공업체의 base64로 인코딩된 PEM 인코딩 인증서입니다.
- SAML 제공업체의 필수 매개변수:
- idpCertificateDataList: SAML 응답을 인증할 IdP 인증서입니다. 이러한 인증서는 표준 base64 인코딩 및 PEM 형식이어야 합니다. IdP 인증서 순환을 촉진하기 위해 최대 2개의 인증서만 지원됩니다.
- idpEntityID: URI 형식으로 지정된 SAML 공급업체의 SAML 엔티티 ID입니다. 예를 들면
https://www.idp.com/saml
입니다. - idpSingleSignOnURI: SAML 공급업체의 SSO 엔드포인트 URI입니다. 예를 들면
https://www.idp.com/saml/sso
입니다.
- 초기 관리자의 사용자 이름 또는 사용자 이름 그룹입니다.
필수 권한
기존 ID 공급업체를 연결하는 데 필요한 권한을 얻으려면 다음 단계를 따르세요.
- 조직 IAM 관리자에게 IdP 제휴 관리자(
idp-federation-admin
) 역할을 부여해 달라고 요청하세요. - ID 공급자를 연결할 때 지정하는 초기 관리자에게 조직 IAM 관리자 (
organization-iam-admin
) 역할이 있는지 확인합니다.
기존 ID 공급업체에 연결
ID 공급업체를 연결하려면 ID 공급업체의 단일 클라이언트 ID와 보안 비밀이 있어야 합니다. 기존 OIDC 또는 SAML 제공업체에 연결할 수 있습니다.
기존 OIDC 제공업체에 연결
기존 OIDC 공급업체에 연결하려면 다음 단계를 완료하세요.
콘솔
- GDC 콘솔에 로그인합니다. 다음 예는
org-1
라는 조직에 로그인한 후의 콘솔을 보여줍니다. - 탐색 메뉴에서 ID 및 액세스 > ID를 클릭합니다.
Setup New Identity Provider(새 ID 공급업체 설정)를 클릭합니다.
ID 공급업체 구성 섹션에서 다음 단계를 완료하고 다음을 클릭합니다.
- ID 공급업체 드롭다운 메뉴에서 OpenID Connect (OIDC)를 선택합니다.
- ID 공급업체 이름을 입력합니다.
- Google Distributed Cloud URL 필드에 GDC에 액세스하는 데 사용하는 URL을 입력합니다.
- 발급기관 URI 필드에 승인 요청이 ID 공급업체로 전송되는 URL을 입력합니다. Kubernetes API 서버는 이 URL을 사용하여 토큰을 확인할 수 있도록 공개 키를 검색합니다. URL은 HTTPS를 사용해야 합니다.
- 클라이언트 ID 필드에 ID 공급업체에 인증을 요청하는 클라이언트 애플리케이션의 ID를 입력합니다.
- 클라이언트 보안 비밀번호 섹션에서 클라이언트 보안 비밀번호 구성(권장)을 선택합니다.
- 클라이언트 보안 비밀번호 필드에 ID 공급자와 Distributed Cloud 간에 공유되는 보안 비밀번호인 클라이언트 보안 비밀번호를 입력합니다.
(선택사항) 접두사 필드에 접두사를 입력합니다. 접두사는 사용자 클레임 및 그룹 클레임의 시작 부분에 추가됩니다. 접두사는 여러 ID 공급자 구성을 구분하는 데 사용됩니다. 예를 들어 프리픽스를
myidp
로 설정하면 사용자 클레임은myidpusername@example.com
이 되고 그룹 클레임은myidpgroup@example.com
이 될 수 있습니다. 그룹에 역할 기반 액세스 제어 (RBAC) 권한을 할당할 때도 프리픽스를 포함해야 합니다.선택사항: 암호화 섹션에서 암호화된 토큰 사용 설정을 선택합니다.
암호화 토큰을 사용 설정하려면 IdP 페더레이션 관리자 역할이 있어야 합니다. 조직 IAM 관리자에게 IdP 제휴 관리자 (
idp-federation-admin
) 역할을 부여해 달라고 요청하세요.- 키 ID 필드에 키 ID를 입력합니다. 키 ID는 JSON 웹 암호화 토큰 (JWT)의 공개 키입니다. OIDC 제공업체에서 키 ID를 설정하고 프로비저닝합니다.
- 복호화 키 필드에 PEM 형식의 복호화 키를 입력합니다. 복호화 키는 암호화를 복호화하는 비대칭 키입니다. OIDC 제공업체에서 복호화 키를 설정하고 프로비저닝합니다.
속성 구성 섹션에서 다음 단계를 완료하고 다음을 클릭합니다.
- OIDC 제공업체의 인증 기관 필드에 ID 공급업체의 base64로 인코딩된 PEM 인코딩 인증서를 입력합니다. 자세한 내용은 https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail을 참고하세요.
- 문자열을 만들려면 헤더를 포함하여 인증서를
base64
로 인코딩합니다. - 결과 문자열을 단일 줄로 포함합니다.
예:
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
- 문자열을 만들려면 헤더를 포함하여 인증서를
- 그룹 클레임 필드에 사용자 그룹 정보가 포함된 ID 공급자 토큰의 클레임 이름을 입력합니다.
- 사용자 클레임 필드에 각 사용자를 식별하는 클레임을 입력합니다. 많은 제공업체의 기본 클레임은
sub
입니다. ID 제공업체에 따라email
또는name
과 같은 다른 클레임을 선택할 수 있습니다.email
이외의 클레임은 이름 충돌을 방지하기 위해 발급기관 URL이 프리픽스로 추가됩니다. - 선택사항: '맞춤 속성' 섹션에서 추가를 클릭하고 부서 또는 프로필 사진 URL과 같은 사용자에 관한 추가 클레임의 키-값 쌍을 입력합니다.
- ID 공급업체에 추가 범위가 필요한 경우 범위 필드에 ID 공급업체로 전송할 쉼표로 구분된 범위를 입력합니다.
- 추가 매개변수 섹션에 ID 공급업체에서 요구하는 추가 키-값 쌍 (쉼표로 구분)을 입력합니다.
그룹을 승인하는 경우
resource=token-groups-claim
을 전달합니다.
- OIDC 제공업체의 인증 기관 필드에 ID 공급업체의 base64로 인코딩된 PEM 인코딩 인증서를 입력합니다. 자세한 내용은 https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail을 참고하세요.
초기 관리자 지정 섹션에서 다음 단계를 완료하고 다음을 클릭합니다.
- 개별 사용자 또는 그룹을 초기 관리자로 추가할지 선택합니다.
- 사용자 이름 또는 그룹 별칭 필드에 조직에 액세스할 사용자 또는 그룹 이메일 주소를 입력합니다. 관리자인 경우 이메일 주소(예:
kiran@example.com
)를 입력합니다. 프리픽스는 사용자 이름 앞에 추가됩니다(예:myidp-kiran@example.com
).
선택사항을 검토하고 설정을 클릭합니다.
새 ID 공급업체 프로필이 ID 프로필 목록에 표시됩니다.
API
ID 공급업체를 조직에 연결하려면 전역 IdentityProviderConfig
맞춤 리소스를 만드세요.
pa-idp-oidc.yaml
과 같은IdentityProviderConfig
커스텀 리소스 YAML 파일을 만듭니다.apiVersion: iam.global.gdc.goog/v1 kind: IdentityProviderConfig metadata: name: pa-idp-oidc namespace: platform spec: oidc: certificateAuthorityData: "IDP_BASE64_ENCODED_CERTIFICATE" clientID: IDP_CLIENT_ID clientSecret: IDP_CLIENT_SECRET groupPrefix: IDP_GROUP_PREFIX groupsClaim: IDP_GROUP_CLAIM issuerURI: IDP_ISSUER_URI scopes: openid email profile userClaim: IDP_USER_CLAIM userPrefix: IDP_USER_PREFIX
다음 변수를 바꿉니다.
IDP_BASE64_ENCODED_CERTIFICATE
: IdP의 base64로 인코딩된 인증서입니다.IDP_CLIENT_ID
: IdP의 클라이언트 ID입니다.IDP_CLIENT_SECRET
: IdP의 클라이언트 보안 비밀번호입니다.IDP_GROUP_PREFIX
: IdP의 그룹 접두사입니다.IDP_GROUP_CLAIM
: 그룹 정보를 포함하는 IdP 토큰의 클레임 이름입니다.IDP_ISSUER_URI
: IdP의 발급자 URI입니다.IDP_USER_CLAIM
: 사용자의 IdP 토큰에 있는 클레임의 이름입니다.IDP_USER_PREFIX
: 사용자 IdP의 접두사입니다.
IdentityProviderConfig
커스텀 리소스를 전역 API 서버에 적용합니다.kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f pa-idp-oidc.yaml
GLOBAL_API_SERVER_KUBECONFIG
변수를 전역 API 서버의 kubeconfig 파일 경로로 바꿉니다.
기존 SAML 제공업체에 연결
기존 SAML 공급자에 연결하려면 다음 단계를 완료하세요.
콘솔
- GDC 콘솔에 로그인합니다.
- 탐색 메뉴에서 ID 및 액세스 > ID를 클릭합니다.
ID 공급업체 구성 섹션에서 다음 단계를 완료하고 다음을 클릭합니다.
- ID 공급업체 드롭다운 메뉴에서 보안 보장 마크업 언어 (SAML)을 선택합니다.
- ID 공급업체 이름을 입력합니다.
- ID 필드에 ID 공급업체에 인증을 요청하는 클라이언트 애플리케이션의 ID를 입력합니다.
- SSO URI 필드에 공급자의 싱글 사인온 엔드포인트 URL을 입력합니다. 예를 들면
https://www.idp.com/saml/sso
입니다. ID 공급업체 접두사 필드에 접두사를 입력합니다. 접두사는 사용자 및 그룹 클레임의 시작 부분에 추가됩니다. 접두사는 여러 ID 공급업체 구성을 구분합니다. 예를 들어
myidp
프리픽스를 설정하면 사용자 클레임이myidpusername@example.com
로 표시되고 그룹 클레임이myidpgroup@example.com
로 표시될 수 있습니다. 그룹에 RBAC 권한을 할당할 때도 프리픽스를 포함해야 합니다.보안 강화를 위해 수명이 5~10분인 어설션을 발급하도록 SAML 공급업체를 구성하세요. 이 설정은 SAML 공급업체의 설정 내에서 구성할 수 있습니다.
선택사항: SAML Assertions(SAML 어설션) 섹션에서 Enable encrypted SAML assertions(암호화된 SAML 어설션 사용 설정)을 선택합니다.
암호화된 SAML 어설션을 사용 설정하려면 IdP 제휴 관리자 역할이 있어야 합니다. 조직 IAM 관리자에게 IdP 제휴 관리자 (
idp-federation-admin
) 역할을 부여해 달라고 요청하세요.- 암호화 인증서 필드에 암호화 인증서를 PEM 형식으로 입력합니다. SAML 공급자를 생성한 후 암호화 인증서를 받습니다.
- 복호화 키 필드에 복호화 키를 입력합니다. SAML 공급자를 생성한 후 복호화 키를 받습니다.
선택사항: SAML Signed requests(SAML 서명된 요청) 섹션에서 Enable signed SAML requests(서명된 SAML 요청 사용 설정)을 선택합니다.
- 서명 인증서 필드에 PEM 파일 형식의 서명 인증서를 입력합니다. SAML 공급업체에서 서명 인증서를 설정하고 생성합니다.
- 서명 키 필드에 PEM 파일 형식으로 서명 키를 입력합니다. SAML 공급업체에서 서명 키를 설정하고 생성합니다.
속성 구성 페이지에서 다음 단계를 완료하고 다음을 클릭합니다.
- IDP 인증서 필드에 ID 공급업체의 base64로 인코딩된 PEM 인코딩 인증서를 입력합니다. 자세한 내용은 https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail을 참고하세요.
- 문자열을 만들려면 헤더를 포함하여 인증서를
base64
로 인코딩합니다. - 결과 문자열을 단일 줄로 포함합니다. 예를 들면
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
입니다.
- 문자열을 만들려면 헤더를 포함하여 인증서를
- 추가 IDP 인증서 필드에 추가 인증서를 입력합니다.
- 사용자 속성 필드에 각 사용자를 식별하는 속성을 입력합니다. 많은 제공업체의 기본 속성은
sub
입니다. ID 제공업체에 따라email
또는name
과 같은 다른 속성을 선택할 수 있습니다.email
이외의 속성은 이름 충돌을 방지하기 위해 발급기관 URL이 프리픽스로 추가됩니다. - 그룹 속성 필드에 사용자 그룹 정보가 포함된 ID 제공업체 토큰의 속성 이름을 입력합니다.
- 선택사항: 속성 매핑 영역에서 추가를 클릭하고 부서 또는 프로필 사진 URL과 같은 사용자에 관한 추가 속성의 키-값 쌍을 입력합니다.
- IDP 인증서 필드에 ID 공급업체의 base64로 인코딩된 PEM 인코딩 인증서를 입력합니다. 자세한 내용은 https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail을 참고하세요.
초기 관리자 지정 섹션에서 다음 단계를 완료하고 다음을 클릭합니다.
- 개별 사용자 또는 그룹을 초기 관리자로 추가할지 선택합니다.
- 사용자 이름 필드에 조직에 액세스할 사용자 또는 그룹 이메일 주소를 입력합니다. 관리자인 경우 이메일 주소(예:
kiran@example.com
)를 입력합니다.myidp-kiran@example.com
와 같이 사용자 이름 앞에 접두사가 추가됩니다.
검토 페이지에서 계속하기 전에 각 ID 구성의 모든 값을 확인합니다. 뒤로를 클릭하여 이전 페이지로 돌아가 필요한 사항을 수정합니다. 사양에 따라 모든 값을 구성했으면 설정을 클릭합니다.
API
ID 공급업체를 조직에 연결하려면 전역 IdentityProviderConfig
맞춤 리소스를 만드세요.
pa-idp-saml.yaml
과 같은IdentityProviderConfig
커스텀 리소스 YAML 파일을 만듭니다.apiVersion: iam.global.gdc.goog/v1 kind: IdentityProviderConfig metadata: name: pa-idp-saml namespace: platform spec: saml: groupPrefix: IDP_GROUP_PREFIX groupsAttribute: IDP_GROUP_ATTRIBUTE idpCertificateDataList: - "IDP_BASE64_ENCODED_CERTIFICATE" idpEntityID: IDP_SAML_ENTITY_ID idpSingleSignOnURI: IDP_SAML_SSO_URI userAttribute: IDP_USER_ATTRIBUTE userPrefix: IDP_USER_PREFIX
다음 변수를 바꿉니다.
IDP_GROUP_PREFIX
: IdP의 그룹 접두사입니다.IDP_GROUP_ATTRIBUTE
: IdP의 그룹 속성입니다.IDP_BASE64_ENCODED_CERTIFICATE
: IdP의 base64로 인코딩된 인증서입니다.IDP_SAML_ENTITY_ID
: IdP를 고유하게 식별하는 URL 또는 URI입니다.IDP_SAML_SSO_URI
: IdP의 발급자 URI입니다.IDP_USER_ATTRIBUTE
: 이메일과 같은 IdP 사용자의 속성입니다.IDP_USER_PREFIX
: 사용자의 IdP 토큰에 있는 클레임의 이름입니다.
IdentityProviderConfig
커스텀 리소스를 전역 API 서버에 적용합니다.kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f pa-idp-saml.yaml
GLOBAL_API_SERVER_KUBECONFIG
변수를 전역 API 서버의 kubeconfig 파일 경로로 바꿉니다.
기존 ID 공급업체 삭제
GDC 콘솔을 사용하여 기존 ID 공급자를 삭제하려면 다음 단계를 따르세요.
- GDC 콘솔에 로그인합니다.
- 프로젝트 선택기에서 ID 공급자를 삭제할 조직을 선택합니다.
- 탐색 메뉴에서 ID 및 액세스 > ID를 클릭합니다.
하나 이상의 ID 제공업체 이름 옆에 있는 체크박스를 선택합니다.
선택한 ID 공급자 수와 삭제 버튼이 포함된 메시지가 표시됩니다.
삭제를 클릭합니다.