CLI로 GetFederationToken 사용하기
CLI로 GetFederationToken 사용하기
이 코드 예제들은 GetFederationToken을 사용하는 방법을 보여드려요.
출처: 문서
본문
CLI (AWS CLI)
IAM 사용자 액세스 키 자격 증명을 사용해 임시 보안 자격 증명을 반환하려면 다음 get-federation-token 예제가 사용자에게 임시 보안 자격 증명(액세스 키 ID·시크릿 액세스 키·보안 토큰)을 반환해요. GetFederationToken 연산은 반드시 IAM 사용자의 장기(long-term) 보안 자격 증명을 사용해 호출해야 해요.
aws sts get-federation-token \
--name Bob \
--policy file://myfile.json \
--policy-arns arn=arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess \
--duration-seconds 900
myfile.json의 내용:
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "elasticloadbalancing:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricStatistics",
"cloudwatch:Describe*"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "autoscaling:Describe*",
"Resource": "*"
}
]
}
출력:
{
"Credentials": {
"AccessKeyId": "ASIAIOSFODNN7EXAMPLE",
"SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"SessionToken": "EXAMPLEpZ2luX2VjEGoaCXVzLXdlc3QtMiJIMEYCIQC/W9pL5ArQyDD5JwFL3/h5+WGopQ24GEXweNctwhi9sgIhAMkg+MZE35iWM8s4r5Lr25f9rSTVPFH98G42QQunWMTfKq0DCOP//////////wEQAxoMNDUyOTI1MTcwNTA3Igxuy3AOpuuoLsk3MJwqgQPg8QOd9HuoClUxq26wnc/nm+eZLjHDyGf2KUAHK2DuaS/nrGSEXAMPLE",
"Expiration": "2023-12-20T02:06:07+00:00"
},
"FederatedUser": {
"FederatedUserId": "111122223333:Bob",
"Arn": "arn:aws:sts::111122223333:federated-user/Bob"
},
"PackedPolicySize": 36
}
자세한 내용은 AWS IAM User Guide의 Requesting Temporary Security Credentials를 참고해요.
API 상세는 GetFederationToken in AWS CLI Command Reference를 참고해요.
PowerShell (Tools for PowerShell V4)
Example 1: "Bob"을 페더레이션 사용자 이름으로 사용해 1시간 동안 유효한 페더레이션 토큰을 요청해요. 이 이름은 리소스 기반 정책(예: Amazon S3 버킷 정책)에서 페더레이션 사용자 이름을 참조하는 데 사용할 수 있어요. 제공된 IAM 정책(JSON 형식)은 IAM 사용자가 가질 수 있는 권한을 축소하는 데 사용돼요. 제공된 정책은 요청 사용자에게 부여된 권한보다 더 많은 권한을 부여할 수 없고, 페더레이션 사용자의 최종 권한은 전달된 정책과 IAM 사용자 정책의 교집합에 기반한 가장 제한적인 집합이 돼요.
Get-STSFederationToken -Name "Bob" -Policy "...JSON policy..." -DurationInSeconds 3600
API 상세는 GetFederationToken in AWS Tools for PowerShell Cmdlet Reference (V4)를 참고해요.
PowerShell (Tools for PowerShell V5)
Example 1: "Bob"을 페더레이션 사용자 이름으로 사용해 1시간 동안 유효한 페더레이션 토큰을 요청해요.
Get-STSFederationToken -Name "Bob" -Policy "...JSON policy..." -DurationInSeconds 3600
API 상세는 GetFederationToken in AWS Tools for PowerShell Cmdlet Reference (V5)를 참고해요.