인증

GKE on AWS는 다음 인증 방법을 지원합니다.

  • 연결
  • OpenID Connect(OIDC).

연결

Connect로 Google Cloud 콘솔을 사용하여 로그인하기 위해 AWS용 GKE는 Kubernetes 서비스 계정의 Bearer 토큰을 사용할 수 있습니다. 자세한 내용은 Google Cloud 콘솔에서 클러스터에 로그인을 참조하세요.

Kubernetes API 서버 및 ID 토큰

클러스터로 인증한 후에는 gcloud CLI의 kubectl CLI를 사용하여 상호작용할 수 있습니다. kubectl이 사용자를 대신하여 Kubernetes API 서버를 호출하면 API 서버는 OpenID 제공업체의 공개 인증서를 사용하여 토큰을 확인합니다. 그런 다음 API 서버는 토큰을 파싱하여 사용자의 ID와 사용자의 보안 그룹을 학습합니다.

API 서버는 사용자의 보안 그룹을 클러스터의 역할 기반 액세스 제어(RBAC) 정책과 비교하여 사용자가 이 특정 호출을 수행할 수 있는지 확인합니다.

OIDC

AWS용 GKE는 GKE Identity Service에서 OIDC 인증을 지원합니다. GKE Identity Service는 다양한 ID 공급업체를 지원합니다. 자세한 내용은 지원되는 ID 공급업체를 참조하세요.

개요

OIDC를 사용하면 조직에서 직원 계정을 만들고, 사용 설정하고, 중지하기 위한 표준 절차에 따라 클러스터 액세스를 관리할 수 있습니다. 조직의 보안 그룹을 사용하여 Kubernetes 클러스터 또는 클러스터의 특정 서비스에 대한 액세스를 구성할 수도 있습니다.

일반적인 OIDC 로그인 흐름은 다음과 같습니다.

  • 사용자가 사용자 이름과 비밀번호를 제시하여 OpenID 제공업체에 로그인합니다.

  • OpenID 제공업체가 사용자의 ID 토큰을 서명하고 발급합니다.

  • gcloud CLI는 Kubernetes API 서버에 HTTPS 요청을 보냅니다. 애플리케이션은 요청 헤더에 있는 사용자의 ID 토큰을 포함합니다.

  • Kubernetes API 서버는 제공업체의 인증서를 사용하여 토큰을 확인합니다.

gcloud CLI로 로그인

gcloud anthos auth login 명령어를 실행하여 클러스터에 인증합니다. gcloud CLI는 Kubernetes API 서버에 대한 요청을 인증합니다.

gcloud CLI를 사용하려면 OIDC ID 토큰을 kubeconfig파일에 저장해야 합니다. gcloud anthos create-login-config를 사용하여 kubeconfig 파일에 토큰을 추가합니다. AWS용 GKE는 gcloud CLI를 사용하여 kubeconfig 파일에서 ID 토큰과 기타 OIDC 값을 요청하고 가져옵니다.