워크로드 아이덴티티 개요

워크로드 아이덴티티를 사용하면 클러스터의 애플리케이션마다 고유하고 세분화된 ID와 승인을 할당할 수 있습니다. 워크로드 아이덴티티는 AWS용 GKE 내에서 실행되는 애플리케이션이 AWS 및 Google Cloud 서비스에 액세스하는 데 권장되는 방법입니다.

모든 GKE 클러스터에는 워크로드 아이덴티티가 사용 설정되어 있습니다.

Kubernetes 서비스 계정

워크로드 아이덴티티는 ID 통합을 구현합니다. 또는 신뢰 및 역할을 외부 제공업체에 위임합니다. 각 클러스터에는 기본 제공되는 Open ID Connect(OIDC) 제공업체가 포함되어 있습니다. 클러스터에서 포드가 실행될 때는 Kubernetes 서비스 계정을 사용하여 실행됩니다. 바인드된 서비스 계정 토큰 볼륨을 사용하여 Kubernetes 서비스 계정에 대해 단기 사용자 인증 정보가 포함된 토큰을 가져오도록 포드를 구성할 수 있습니다.

OpenID Connect 제공업체

각 클러스터는 Open ID Connect(OIDC) 제공업체로 작동할 수 있습니다. 이 제공업체를 통해 OIDC를 사용하는 ID 통합을 지원하는 서비스에 Kubernetes 서비스 계정 사용자 인증 정보를 제공할 수 있습니다.

이 제공업체의 발급자 URI는 또한 OIDC 검색 엔드포인트로 사용됩니다. 서비스는 이 검색 엔드포인트를 사용하여 JSON 웹 키 집합(JWKS)을 가져올 수 있습니다. 이 키 집합은 Kubernetes 서비스 계정 사용자 인증 정보를 확인할 수 있게 해주는 공개 키 정보를 제공합니다.

Google Cloud IAM ID 풀 및 제공업체

Google Cloud IAM은 OIDC를 사용하는 ID 통합을 지원합니다. 모든 GKE 클러스터는 워크로드 아이덴티티 풀 PROJECT_ID.svc.id.goog에서 ID 공급업체로 구성됩니다.

워크로드 아이덴티티 풀 및 제공업체 이름을 가져오려면 Google Cloud에 워크로드 아이덴티티 사용을 참조하세요.

AWS IAM ID 공급업체

AWS IAM은 OIDC를 사용하는 ID 통합을 지원합니다. 워크로드의 서비스 계정 ID를 사용해서 AWS에 액세스하려면 AWS IAM에서 OIDC 제공업체 만들기를 수행해야 합니다. 기본적으로 AWS용 GKE는 AWS IAM의 ID 공급업체로 구성되지 않습니다.

워크로드 아이덴티티의 대안

AWS용 GKE에서 서비스에 액세스하기 위해서는 대안 방법이 있습니다. 다음 방법은 너무 복잡해서 권장되지 않습니다.

  1. 사용자 인증 정보를 내보내고 이를 Kubernetes 보안 비밀로 저장합니다. 이 경우 AWS IAM 및 클러스터 모두에서 저장된 사용자 인증 정보를 수동으로 순환해야 합니다. 또한 공격자가 사용자 인증 정보를 도용한 경우 악용 가능성이 있습니다.

  2. 노드 풀의 기본 인스턴스에 사용자 인증 정보를 연결합니다. 이 경우 동일 노드에서 실행되는 모든 워크로드가 사용자 인증 정보를 공유합니다. 그 결과 워크로드에 필요한 것보다 더 많은 권한 집합이 제공될 수 있습니다. 인스턴스 권한으로 액세스를 제한하기 위해 GKE 클러스터는 포드에서 인스턴스 메타데이터 서비스로의 액세스를 차단합니다.

다음 단계