AWS SDK와 함께 IRSA 사용

AWS SDK와 함께 IRSA 사용

AWS SDK에서 서비스 계정용 IAM 역할(IRSA)의 자격 증명을 사용하는 방법과 지원되는 SDK 버전을 설명합니다.

출처: 문서

본문

자격 증명 사용

서비스 계정용 IAM 역할(IRSA)의 자격 증명을 사용하려면 코드가 SDK로 AWS 서비스용 클라이언트를 만들 때 어떤 AWS SDK든 사용할 수 있으며, 기본적으로 SDK는 사용할 AWS Identity and Access Management 자격 증명을 위해 일련의 위치(credential chain)에서 검색합니다. 클라이언트를 만들거나 SDK를 초기화할 때 자격 증명 공급자를 지정하지 않으면 서비스 계정용 IAM 역할의 자격 증명이 사용됩니다.

이는 서비스 계정용 IAM 역할이 기본 자격 증명 체인에 단계로 추가되었기 때문에 작동합니다. 워크로드가 현재 자격 증명 체인에서 더 앞선 자격 증명을 사용한다면, 동일한 워크로드에 서비스 계정용 IAM 역할을 구성하더라도 그 자격 증명이 계속 사용됩니다.

SDK는 AssumeRoleWithWebIdentity 작업을 사용해 서비스 계정 OIDC 토큰을 AWS Security Token Service의 임시 자격 증명으로 자동 교환합니다. Amazon EKS와 이 SDK 작업은 임시 자격 증명이 만료되기 전에 갱신해 계속 교체합니다.

서비스 계정용 IAM 역할을 사용할 때 Pod의 컨테이너는 OpenID Connect 웹 ID 토큰 파일을 통해 IAM 역할 수임을 지원하는 AWS SDK 버전을 사용해야 합니다. AWS SDK에 대해 다음 버전 이상을 사용하고 있는지 확인하세요.

  • Java (Version 2) – 2.10.11
  • Java – 1.12.782
  • AWS SDK for Go v1 – 1.23.13
  • AWS SDK for Go v2 – 모든 버전 지원
  • Python (Boto3) – 1.9.220
  • Python (botocore) – 1.12.200
  • AWS CLI – 1.16.232
  • Node – 2.525.0 및 3.27.0
  • Ruby – 3.58.0
  • C++ – 1.7.174
  • .NET – 3.3.659.1 – AWSSDK.SecurityToken도 포함해야 합니다.
  • PHP – 3.110.7

Cluster Autoscaler, "AWS Load Balancer Controller로 인터넷 트래픽 라우팅", Amazon VPC CNI plugin for Kubernetes 같은 많은 인기 Kubernetes 애드온은 서비스 계정용 IAM 역할을 지원합니다.

지원되는 SDK를 사용하고 있는지 확인하려면 컨테이너를 빌드할 때 "Tools to Build on AWS"에서 선호하는 SDK의 설치 지침을 따르세요.

고려 사항

Java – Java를 사용할 때 클래스패스에 sts 모듈을 포함해야 합니다. 자세한 내용은 Java SDK 문서의 WebIdentityTokenFileCredentialsProvider를 참고하세요.

더 알아보기 (Learn more)