2017-04-26 2 views
0

소유하고있는 다른 aws 계정에서 S3 버킷의 리소스에 액세스하려면 교차 계정 역할을 만들어야합니다.S3 교차 계정 액세스 (역할 포함)

액세스 또는 비밀 키를 사용하지 않고 크로스 계정 IAM 역할을 사용하여 구현하도록 도와주세요.

은 계정 B의
  • 버킷 B 역할과 관련된 역할 A를 계정 A의 A 계정
  • 인스턴스 A에

    당신이 원하는 :

  • 답변

    1

    의 당신이 있다고 가정 해 봅시다 인스턴스 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에 따라이 답변.)

    +0

    감사 존. 그것은 효과가 있었다. – JVA