CLI로 AssumeRoleWithWebIdentity 사용하기

CLI로 AssumeRoleWithWebIdentity 사용하기

이 코드 예제들은 AssumeRoleWithWebIdentity를 사용하는 방법을 보여드려요.

출처: 문서

본문

CLI (AWS CLI)

웹 자격 증명(OAuth 2.0)으로 인증된 역할에 대한 단기 자격 증명을 얻으려면 다음 assume-role-with-web-identity 명령으로 IAM 역할 app1에 대한 단기 자격 증명을 가져와요. 요청은 지정된 웹 자격 증명 공급자가 제공한 웹 자격 증명 토큰으로 인증돼요. 세션에는 두 개의 추가 정책이 적용되어 사용자가 할 수 있는 작업이 더 제한돼요. 반환된 자격 증명은 생성된 지 1시간 뒤에 만료돼요.

aws sts assume-role-with-web-identity \
	--duration-seconds 3600 \
	--role-session-name "app1" \
	--provider-id "www.amazon.com" \
	--policy-arns "arn:aws:iam::123456789012:policy/q=webidentitydemopolicy1","arn:aws:iam::123456789012:policy/webidentitydemopolicy2" \
	--role-arn arn:aws:iam::123456789012:role/FederatedWebIdentityRole \
	--web-identity-token "Atza%7CIQEBLjAsAhRFiXuWpUXuRvQ9PZL3GMFcYevydwIUFAHZwXZXXXXXXXXJnrulxKDHwy87oGKPznh0D6bEQZTSCzyoCtL_8S07pLpr0zMbn6w1lfVZKNTBdDansFBmtGnIsIapjI6xKR02Yc_2bQ8LZbUXSGm6Ry6_BG7PrtLZtj_dfCTj92xNGed-CrKqjG7nPBjNIL016GGvuS5gSvPRUxWES3VYfm1wl7WTI7jn-Pcb6M-buCgHhFOzTQxod27L9CqnOLio7N3gZAGpsp6n1-AJBOCJckcyXe2c6uD0srOJeZlKUm2eTDVMf8IehDVI0r1QOnTV6KzzAI3OY87Vd_cVMQ"

출력:

{
	"SubjectFromWebIdentityToken": "amzn1.account.AF6RHO7KZU5XRVQJGXK6HB56KR2A",
	"Audience": "[email protected]",
	"AssumedRoleUser": {
		"Arn": "arn:aws:sts::123456789012:assumed-role/FederatedWebIdentityRole/app1",
		"AssumedRoleId": "AROACLKWSDQRAOEXAMPLE:app1"
	},
	"Credentials": {
		"AccessKeyId": "«redacted:AKIA…»",
		"SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
		"SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE",
		"Expiration": "2020-05-19T18:06:10+00:00"
	},
	"Provider": "www.amazon.com"
}

자세한 내용은 AWS IAM User Guide의 Requesting Temporary Security Credentials를 참고해요.

API 상세는 AssumeRoleWithWebIdentity in AWS CLI Command Reference를 참고해요.

PowerShell (Tools for PowerShell V4)

Example 1: Login with Amazon 자격 증명 공급자로 인증된 사용자에게 1시간 동안 유효한 임시 자격 증명을 반환해요. 자격 증명은 역할 ARN으로 식별된 역할과 연결된 액세스 정책을 맡아요. 선택적으로 -Policy 매개변수에 JSON 정책을 전달해 접근 권한을 더 세밀하게 조정할 수 있어요(역할에 연결된 권한보다 더 많은 권한을 부여할 수는 없어요). -WebIdentityToken에 제공하는 값은 자격 증명 공급자가 반환한 고유 사용자 식별자예요.

Use-STSWebIdentityRole -DurationInSeconds 3600 -ProviderId "www.amazon.com" -RoleSessionName "app1" -RoleArn "arn:aws:iam::123456789012:role/FederatedWebIdentityRole" -WebIdentityToken "Atza...DVI0r1"

API 상세는 AssumeRoleWithWebIdentity in AWS Tools for PowerShell Cmdlet Reference (V4)를 참고해요.

PowerShell (Tools for PowerShell V5)

Example 1: Login with Amazon 자격 증명 공급자로 인증된 사용자에게 1시간 동안 유효한 임시 자격 증명을 반환해요.

Use-STSWebIdentityRole -DurationInSeconds 3600 -ProviderId "www.amazon.com" -RoleSessionName "app1" -RoleArn "arn:aws:iam::123456789012:role/FederatedWebIdentityRole" -WebIdentityToken "Atza...DVI0r1"

API 상세는 AssumeRoleWithWebIdentity in AWS Tools for PowerShell Cmdlet Reference (V5)를 참고해요.

더 알아보기 (Learn more)