GKE Identity Service 소개

GKE Identity Service는 인증을 위한 기존 ID 솔루션을 여러 GKE Enterprise 환경에 적용할 수 있게 해주는 인증 서비스입니다. 사용자는 명령줄이나 Google Cloud 콘솔에서 모두 기존 ID 공급업체를 사용하여 GKE 클러스터에 로그인하고 이를 사용할 수 있습니다.

이미 OIDC 또는 LDAP 공급업체 대신 Google ID를 사용하여 GKE 클러스터에 로그인하고 있거나 그렇게 하려는 경우 Connect 게이트웨이로 등록된 클러스터에 연결을 참조하세요.

지원되는 ID 공급업체

GKE Identity Service는 다음 프로토콜을 사용하여 ID 공급업체를 지원합니다.

  • OpenID Connect(OIDC). Google에서는 Microsoft를 비롯한 일부 인기 있는 OpenID 공급업체의 설정을 위한 구체적인 안내를 제공하지만 사용자는 OIDC를 구현하는 모든 공급업체를 사용할 수 있습니다.
  • 경량 디렉터리 액세스 프로토콜(LDAP). GKE Identity Service를 사용하면 Active Directory의 LDAP 또는 LDAP 서버를 사용하여 인증할 수 있습니다.

지원되는 클러스터 유형

프로토콜 VMware용 GKE 베어메탈용 GKE GKE on AWS Azure용 GKE EKS 연결된 클러스터 GKE
OIDC
LDAP
SAML

다른 연결된 클러스터 유형은 GKE Identity Service에서 사용할 수 없습니다.

작동 방식

GKE Identity Service를 사용하면 사용자들이 일반적인 조직 사용자 이름과 비밀번호를 사용하여 구성된 클러스터에 로그인할 수 있습니다. 작동 방식은 사용되는 ID 공급업체 유형에 따라 다릅니다.

OIDC

OIDC 공급업체의 경우 GKE Identity Service는 자체적으로 ID 공급업체의 클라이언트 애플리케이션으로 등록된 다음 클러스터 관리자에 의해 각 클러스터에 설정됩니다.

기본 AIS 흐름을 보여주는 다이어그램

사용자가 명령줄에서 클러스터에 로그인하려면 먼저 gcloud anthos auth login 명령어를 실행하고 ID 공급업체의 로그인 세부정보를 입력해야 합니다. 이렇게 하면 공급업체에서 ID 토큰을 가져옵니다. 토큰은 kubeconfig 파일에 추가되며 kubectl을 사용하여 클러스터에 요청할 때 사용됩니다. 그런 다음 Kubernetes API 서버는 GKE Identity Service를 사용하여 ID 토큰을 검증하고 클러스터에 대한 액세스를 허용하거나 거부합니다. GKE Identity Service는 필요에 따라 ID 공급업체로부터 보안 그룹 멤버십 정보를 가져올 수도 있습니다.

클러스터 관리자는 필요한 경우 Kubernetes 역할 기반 액세스 제어(RBAC)를 사용하여 세부적인 액세스 제어를 추가할 수 있습니다.

사용자는 Google Cloud 콘솔에서 OIDC로 로그인할 수도 있습니다. 이 경우 사용자는 ID 공급업체의 UI로 이동되며 본인의 로그인 세부정보를 제공해야 Google Cloud 콘솔로 돌아가서 클러스터 리소스를 계속 보고 관리할 수 있습니다.

LDAP

LDAP 공급업체의 경우 GKE Identity Service를 위한 LDAP 클라이언트 사용자 인증 정보를 제공하는 것을 포함하여 클러스터 관리자가 각 클러스터에 GKE Identity Service를 설정합니다.

LDAP AIS 흐름을 보여주는 다이어그램

사용자가 명령줄에서 클러스터에 로그인하려면 먼저 gcloud anthos auth login 명령어를 실행하고 ID 공급업체의 로그인 세부정보를 입력해야 합니다. 요청은 LDAP 서버를 쿼리하고 사용자 속성을 단기 토큰(STS)으로 반환하는 GKE Identity Service로 이동하므로 사용자의 LDAP 사용자 인증 정보를 로컬에서 일반 텍스트로 저장할 필요가 없습니다. 토큰은 kubeconfig 파일에 추가되며 kubectl을 사용하여 클러스터에 요청할 때 사용됩니다. 그런 다음 Kubernetes API 서버가 GKE Identity Service를 사용하여 토큰으로부터 사용자 및 그룹 정보를 확보하고 클러스터에 대한 액세스를 허용하거나 거부합니다. 기본적으로 토큰은 1시간 동안 지속되며 이 이후에는 사용자가 다시 로그인해야 합니다.

클러스터 관리자는 필요한 경우 Kubernetes 역할 기반 액세스 제어(RBAC)를 사용하여 세부적인 액세스 제어를 추가할 수 있습니다.

설정 옵션

클러스터 관리자는 클러스터 유형 및 환경에 따라 각 클러스터에서 개별적으로 또는 프로젝트 Fleet 수준에서 GKE Identity Service를 설정할 수 있습니다.

클러스터별 설정

온프레미스(VMware 및 베어메탈 모두), AWS, Azure에서 GKE 클러스터에 대해 클러스터 단위로 GKE Identity Service를 설정할 수 있습니다. 자세한 내용은 다음 가이드를 참조하세요.

OIDC 설정

LDAP 설정

SAML 설정

Fleet 수준 설정

Google Cloud의 Fleet은 클러스터 전반에 기능을 사용 설정하고 구성을 업데이트할 수 있게 해주는 논리적 클러스터 그룹입니다. 지원되는 클러스터 유형의 경우 프로젝트의 Fleet에서 클러스터의 GKE Identity Service를 설정할 수 있습니다. Fleet 수준 설정을 사용하면 Google Cloud에서 구성을 유지보수하는 여러 클러스터에 인증 구성을 중앙에서 적용할 수 있습니다.

Fleet 수준 설정에는 다음과 같은 클러스터 유형이 지원됩니다.

GA 이전 기능으로 설정된 Fleet 수준 설정에는 다음 클러스터 유형 및 환경이 지원됩니다.

설정 세부정보는 다음을 참조하세요.

다음 단계