사용자 액세스를 위한 인증 방법 설정

이 문서는 GKE Identity Service용 클러스터를 이미 구성한 클러스터 관리자를 대상으로 합니다. 여기에서는 조직의 개발자와 기타 사용자를 위해 구성된 클러스터에 대한 사용자 액세스를 설정하고 관리하는 방법을 안내합니다.

클러스터에 대한 사용자 액세스를 설정하는 데 사용할 수 있는 인증 방법에는 두 가지 유형이 있습니다.

  • FQDN 액세스로 설정(권장): 이 방법을 사용하면 사용자는 클러스터의 Kubernetes API 서버의 정규화된 도메인 이름(FQDN)을 사용하여 GKE Identity Service 서버에 직접 인증할 수 있습니다. 자세한 내용은 FQDN 액세스 설정을 참조하세요.
  • 파일 기반 액세스로 설정: 이 방법을 사용하면 로그인 구성 파일을 생성하여 클러스터 사용자에게 배포할 수 있습니다. 그러면 사용자는 이 파일을 사용하여 gcloud 인증 명령어로 구성된 클러스터에 로그인할 수 있습니다. 자세한 내용은 파일 기반 액세스 설정을 참조하세요.

FQDN 액세스 설정(권장)

이 섹션에서는 사용자에게 인증에 사용할 서버의 URL(FQDN)을 제공하여 사용자 로그인 액세스를 설정하는 방법을 설명합니다. 인증 흐름을 통해 사용자는 IdP로 로그인할 수 있으며 클러스터에 액세스할 수 있도록 kubeconfig 파일에 추가된 토큰이 사용자에게 제공됩니다. 이 인증 방법은 버전 1.29부터 VMware 및 베어메탈용 온프레미스 클러스터(Google Distributed Cloud)에서만 지원됩니다. 다른 클러스터 유형은 지원되지 않습니다. 지원되는 이전 소프트웨어 버전을 사용하여 온프레미스 클러스터나 다른 클러스터 유형에 대한 인증을 설정해야 하는 경우 안내를 따라 파일 기반 액세스를 설정합니다.

사용자에게 FQDN을 공유하기 전에 개발자나 개발자 플랫폼 관리자가 FQDN의 DNS 설정, ID 공급업체 등록의 일부로 FQDN 제공(필요한 경우)을 포함한 적절한 설정을 따랐는지 확인합니다.

사용자와 FQDN 공유

클러스터 관리자는 구성 파일 대신 클러스터의 Kubernetes API 서버의 FQDN을 사용자와 공유할 수 있습니다. 사용자는 이 FQDN을 사용하여 클러스터에 로그인할 수 있습니다. 로그인의 URL 형식은 APISERVER-URL이며 여기서 URL에는 API 서버의 FQDN이 포함됩니다.

APISERVER-URL 형식 예시는 https://apiserver.company.com입니다.

ID 서비스 옵션 구성

이 설정 옵션을 사용하면 토큰 전체 기간을 구성할 수 있습니다. ClientConfig CR의 IdentityServiceOptions에는 토큰 수명(분)을 구성할 수 있는 sessionDuration 파라미터가 있습니다. sessionDuration 파라미터 하한은 15분이고 최대 한도는 1,440분(24시간)입니다.

ClientConfig CR에서 표시되는 항목에 대한 예시는 다음과 같습니다.

spec:
    IdentityServiceOptions:
      sessionDuration: INT

여기서 INT는 세션 시간(분)입니다.

파일 기반 액세스 설정

클러스터 관리자는 FQDN 액세스의 대안으로 로그인 구성 파일을 생성하여 클러스터 사용자에게 배포할 수 있습니다. FQDN 액세스를 지원하지 않는 버전이나 유형으로 클러스터에 대한 인증을 설정하는 경우에 이 옵션을 사용할 수 있습니다. 이 파일을 사용하면 사용자가 선택한 제공업체를 통해 명령줄에서 클러스터에 액세스할 수 있습니다. 이 인증 방법은 OIDC 및 LDAP 제공업체에만 지원됩니다.

로그인 구성 생성

Console

(Fleet 수준 설정 전용)

표시된 gcloud 명령어를 복사하고 실행하여 파일을 생성합니다.

gcloud

gcloud CLI를 사용하여 클러스터를 구성했거나 파일을 다시 생성해야 하는 경우 다음 명령어를 실행하여 파일을 생성합니다.

gcloud anthos create-login-config --kubeconfig=KUBECONFIG

여기서 KUBECONFIG는 클러스터의 kubeconfig 파일 경로입니다. kubeconfig에 여러 컨텍스트가 있으면 현재 컨텍스트가 사용됩니다. 명령어를 사용하기 전 현재 컨텍스트를 올바른 클러스터로 재설정해야 할 수 있습니다.

선택적인 추가 매개변수를 포함하여 이 명령어에 대한 전체 참조 세부정보는 Google Cloud CLI 참조 가이드를 참조하세요.

로그인 구성 파일의 기본 이름은 파일을 사용하여 로그인할 때 Google Cloud CLI에 사용되는 이름인 kubectl-anthos-config.yaml입니다. 이를 기본값이 아닌 이름으로 변경하려면 로그인 구성 배포에서 관련 섹션을 참조하세요.

사용자 액세스와 관련된 문제 해결 정보는 사용자 액세스 문제 해결을 참조하세요.

로그인 구성 배포

구성 파일을 배포하는 방법은 다음과 같습니다.

  • 액세스 가능한 URL에서 파일을 호스팅합니다. Google Cloud CLI로 파일을 가져올 수 있도록 gcloud anthos auth login을 실행할 때 --login-config 플래그로 이 위치를 지정할 수 있습니다.

    보안 호스트에 파일을 호스팅하는 것이 좋습니다. 보안 HTTPS 액세스에 PEM 인증서를 사용하는 방법에 대한 자세한 내용은 gcloud CLI의 --login-config-cert 플래그를 참조하세요.

  • 로컬 머신에 저장할 위치 정보와 함께 각 사용자에게 파일을 수동으로 제공합니다. 이러한 위치 정보는 Google Cloud CLI가 OS별 기본 위치에서 파일을 찾기 위해 필요합니다. 파일에 기본값이 아닌 이름 또는 위치가 있는 경우 클러스터에 대해 명령어를 실행할 때 사용자가 --login-config 플래그를 사용하여 구성 파일 위치를 지정해야 합니다. 파일 저장 안내는 GKE Identity Service로 클러스터에 액세스를 참조하세요.

  • 내부 도구를 사용하여 인증 구성 파일을 각 사용자 머신으로 푸시합니다. Google Cloud CLI는 사용자 OS에 따라 다음 위치에서 파일을 찾습니다.

    Linux

    $HOME/.config/google/anthos/kubectl-anthos-config.yaml

    macOS

    $HOME/Library/Preferences/google/anthos/kubectl-anthos-config.yaml

    Windows

    %APPDATA%\google\anthos\kubectl-anthos-config.yaml