소유하고있는 다른 aws 계정에서 S3 버킷의 리소스에 액세스하려면 교차 계정 역할을 만들어야합니다.S3 교차 계정 액세스 (역할 포함)
액세스 또는 비밀 키를 사용하지 않고 크로스 계정 IAM 역할을 사용하여 구현하도록 도와주세요.
은 계정 B의당신이 원하는 :
소유하고있는 다른 aws 계정에서 S3 버킷의 리소스에 액세스하려면 교차 계정 역할을 만들어야합니다.S3 교차 계정 액세스 (역할 포함)
액세스 또는 비밀 키를 사용하지 않고 크로스 계정 IAM 역할을 사용하여 구현하도록 도와주세요.
은 계정 B의당신이 원하는 :
의 당신이 있다고 가정 해 봅시다 인스턴스 A의 애플리케이션이 버킷 B의 콘텐츠에 액세스 할 수있게합니다.
Request Information That You Can Use for Policy Variables 문서 포함 aws:userid
다양한 값을 나타낸 테이블 가지고
아마존 EC2 인스턴스 할당 역할,이 때문에
role-id:ec2-instance-id
로 설정을하면 역할 ID를 사용할 수 액세스를 허용하는 Amazon EC2 인스턴스와 연관된 역할 또는 인스턴스 ID.
aws iam get-role --role-name ROLENAME
이 버킷 정책가 인스턴스에 기초한다 :
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SID123",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::MYBUCKET",
"arn:aws:s3:::MYBUCKET/*"
],
"Principal": "*",
"Condition": {
"StringLike": {
"aws:userid": [
"AROAIIPEUJOUGITIU5BB6*"
]
}
}
}
]
}
가 역할 ID 사용을 구하는
는 예를 들어, 버킷 정책은 역할 ID에 기초 ID :
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SID123",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::MYBUCKET",
"arn:aws:s3:::MYBUCKET/*"
],
"Principal": "*",
"Condition": {
"StringLike": {
"aws:userid": [
"AROAIIPEUJOUGITIU5BB6*"
]
}
}
}
]
}
인스턴스 ID는 인스턴스와 함께 유지되지만 새로운 인스턴스가 시작되면 동일한 Amazon Machine Image (AMI)에서도 새 인스턴스가 지정됩니다.
당연히 이러한 사용 권한을 s3:*
이 아닌 s3:GetObject
으로 제한하고 싶을 것입니다.
(Granting access to S3 resources based on role name에 따라이 답변.)
감사 존. 그것은 효과가 있었다. – JVA