정규화된 도메인 이름(FQDN)을 사용하여 로그인

GKE Identity Service를 사용하면 타사 ID 공급업체의 사용자 이름과 비밀번호를 사용하여 명령줄에서 구성된 클러스터에 로그인할 수 있습니다. 클러스터 관리자가 정규화된 도메인 이름(FQDN)으로 GKE Identity Service 서버에서 직접 인증하도록 선택한 경우 이 페이지의 안내를 따르세요. SAML 제공업체의 경우 로그인 액세스는 이 인증 방법을 통해서만 지원됩니다.

이 인증 방법은 버전 1.29부터 VMware 및 베어메탈용 온프렘 클러스터(Google Distributed Cloud)에서만 지원됩니다. 다른 클러스터 유형은 지원되지 않습니다.

제공된 FQDN으로 로그인하는 데 필요한 gcloud CLI 버전은 474.0.0 이전 버전입니다.

로그인 워크플로

사용자가 FQDN 액세스 방법을 사용하여 로그인할 때의 워크플로 단계는 다음과 같습니다.

  1. 로그인 시작: 사용자가 gcloud anthos auth login --server APISERVER-URL 명령어를 실행하여 로그인 프로세스를 시작합니다.
  2. ID 공급업체 선택: 구성된 ID 공급업체 목록이 사용자에게 제공됩니다. 사용자는 사용자 인증 정보가 저장된 제공업체를 선택합니다.
  3. ID 공급업체를 통한 인증: 인증 프로세스는 선택한 ID 공급업체 프로토콜에 따라 다릅니다.

    • OIDC: 사용자가 OIDC 제공업체 로그인 페이지로 리디렉션됩니다. 로그인에 성공하면 공급업체는 GKE Identity Service로 코드를 다시 전송하여 백 채널 통신을 통해 액세스 토큰으로 교환합니다.
    • SAML: 사용자가 SAML 제공업체 로그인 페이지로 리디렉션됩니다. 로그인에 성공하면 공급업체는 토큰(어설션)을 GKE Identity Service로 직접 전송하므로 추가 콜백을 방지합니다.
    • LDAP: 외부 제공업체로 리디렉션하는 대신 GKE Identity Service에서 사용자가 인증된 LDAP 자격 증명을 입력하는 로그인 페이지를 표시하며, LDAP 서버에서 직접 확인합니다.
  4. 토큰 확인 및 kubeconfig 파일 생성: GKE Identity Service는 수신된 토큰(또는 어설션)을 확인하고, 사용자에 대해 새 토큰을 생성하며, 이 토큰이 포함된 kubeconfig 파일을 다시 보냅니다.

  5. 클러스터 액세스: 사용자는 kubectl 명령어를 사용하여 클러스터에 액세스할 수 있습니다. kubectl 클라이언트는 각 요청과 함께 kubeconfig 파일에서 토큰을 자동으로 전송합니다.

  6. 토큰 검증 및 RBAC 승인: Kubernetes API 서버가 토큰을 수신하고, GKE Identity Service가 이 토큰을 확인한 후 사용자의 클레임(사용자 이름 및 그룹)을 검색합니다. 유효성 검사에 성공하면 API 서버는 역할 기반 액세스 제어(RBAC) 검사를 실행하여 사용자가 액세스하도록 승인된 리소스를 확인합니다.

신뢰할 수 있는 SNI 인증서를 사용하여 로그인

SNI 인증서는 회사 기기에 이미 있는 신뢰할 수 있는 인증서를 활용하여 클러스터 액세스를 간소화합니다. 관리자는 클러스터를 만들 때 이 인증서를 지정합니다. 클러스터가 해당 클러스터 수준에서 신뢰할 수 있는 SNI 인증서를 사용하는 경우 이 섹션의 명령어를 관리자가 제공한 FQDN과 함께 사용하여 클러스터에 로그인하고 액세스 토큰을 받습니다. 인증에 성공한 후 토큰이 저장되는 보안 kubeconfig 파일을 사용할 수도 있습니다.

다음 명령어를 실행하여 서버에 인증을 수행합니다.

gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE

다음을 바꿉니다.

  • APISERVER-URL: 클러스터 Kubernetes API 서버의 FQDN입니다.
  • OUTPUT_FILE: kubeconfig 파일이 기본 위치 이외의 위치에 있으면 이 플래그를 사용합니다. 이 플래그를 생략하면 인증 토큰이 기본 위치의 kubeconfig 파일에 추가됩니다. 예를 들면 다음과 같습니다. --kubeconfig /path/to/custom.kubeconfig.

클러스터 CA 발급 인증서를 사용하여 로그인

클러스터 수준에서 신뢰할 수 있는 SNI 인증서를 사용하지 않으면 ID 서비스에서 사용하는 인증서가 클러스터의 인증 기관(CA)에서 발급됩니다. 관리자가 이 CA 인증서를 사용자에게 배포합니다. 클러스터의 CA 인증서를 통해 다음 명령어를 실행하여 클러스터에 로그인합니다.

gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --login-config-cert CLUSTER_CA_CERTIFICATE