

 **이 페이지 개선에 도움 주기** 

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 **GitHub에서 이 페이지 편집** 링크를 선택합니다.

# AWS SDK와 함께 IRSA 사용
<a name="iam-roles-for-service-accounts-minimum-sdk"></a>

**보안 인증 정보 사용**  
서비스 계정(IRSA)에 대한 IAM 역할의 자격 증명을 사용하려면 코드에서 임의의 AWS SDK를 사용하여 SDK가 포함된 AWS 서비스에 대한 클라이언트를 만들 수 있고, 기본적으로 SDK는 일련의 위치에서 사용할 AWS Identity and Access Management ID를 검색합니다. 클라이언트를 생성하거나 SDK를 초기화할 때 자격 증명 공급자를 지정하지 않으면 서비스 계정의 IAM 역할 자격 증명이 사용됩니다.

이는 서비스 계정에 대한 IAM 역할이 기본 보안 인증 정보 체인의 한 단계로 추가되었기 때문에 작동합니다. 워크로드가 현재 자격 증명 체인의 이전 자격 증명을 사용하는 경우 동일한 워크로드의 서비스 계정 IAM 역할을 구성하더라도 해당 자격 증명이 계속 사용됩니다.

SDK는 `AssumeRoleWithWebIdentity` 작업을 사용하여 AWS Security Token Service에서 임시 자격 증명에 대한 서비스 계정 OIDC 토큰을 자동 교환합니다. Amazon EKS와 이 SDK 작업은 만료되기 전에 갱신하여 임시 보안 인증 정보를 계속 교체합니다.

[서비스 계정에 IAM 역할](iam-roles-for-service-accounts.md)을 사용할 때 포드에 있는 컨테이너에서는 OpenID Connect 웹 ID 토큰 파일을 통해 IAM 역할을 수임할 수 있도록 지원하는 AWS SDK 버전을 사용해야 합니다. AWS SDK에 대해 다음과 같은 버전 또는 이후 버전을 사용해야 합니다.
+ Java(버전 2) - [2.10.11](https://github.com/aws/aws-sdk-java-v2/releases/tag/2.10.11) 
+ Java – [1.12.782](https://github.com/aws/aws-sdk-java/releases/tag/1.12.782) 
+  AWS SDK for Go v1 – [1.23.13](https://github.com/aws/aws-sdk-go/releases/tag/v1.23.13) 
+  AWS SDK for Go v2 - 모든 버전 지원
+ Python(Boto3) - [1.9.220](https://github.com/boto/boto3/releases/tag/1.9.220) 
+ Python(botocore) - [1.12.200](https://github.com/boto/botocore/releases/tag/1.12.200) 
+  AWS CLI – [1.16.232](https://github.com/aws/aws-cli/releases/tag/1.16.232) 
+ 노드 – [2.525.0](https://github.com/aws/aws-sdk-js/releases/tag/v2.525.0) 및 [3.27.0](https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.27.0) 
+ Ruby - [3.58.0](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md#3580-2019-07-01) 
+ C\+\+ - [1.7.174](https://github.com/aws/aws-sdk-cpp/releases/tag/1.7.174) 
+ .NET – [3.3.659.1](https://github.com/aws/aws-sdk-net/releases/tag/3.3.659.1) – `AWSSDK.SecurityToken`도 포함해야 합니다.
+ PHP - [3.110.7](https://github.com/aws/aws-sdk-php/releases/tag/3.110.7) 

[클러스터 자동 확장 처리](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler), [AWS Load Balancer Controller를 사용한 인터넷 트래픽 라우팅](aws-load-balancer-controller.md), [Kubernetes용 Amazon VPC CNI 플러그인](cni-iam-role.md) 등 많은 인기 있는 Kubernetes 추가 기능이 서비스 계정에 대한 IAM 역할을 지원합니다.

지원되는 SDK를 사용 중인지 확인하려면 컨테이너를 빌드할 때 [AWS에서의 구축을 위한 도구](https://aws.amazon.com/tools/)에서 선호하는 SDK에 대한 설치 지침을 따르세요.

## 고려 사항
<a name="_considerations"></a>

### Java
<a name="_java"></a>

Java를 사용할 때는 클래스 경로에 **`sts` 모듈을 포함해야 합니다. 자세한 내용은 Java SDK 문서의 [WebIdentityTokenFileCredentialsProvider](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/auth/credentials/WebIdentityTokenFileCredentialsProvider.html)를 참조하세요.