초보 개발자

AWS S3 크로스 계정 액세스 권한 제공 본문

AWS

AWS S3 크로스 계정 액세스 권한 제공

taehyeki 2023. 5. 10. 12:40

A라는 계정에 있는 S3에 B라는 계정이 접근할 수 있을까 ?

일반적으로는 불가능하다.

 

하지만 두 가지의 policy를 적용해주면 가능해진다.

1. A계정의 S3의 Policy

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::AccountB:user/AccountBUserName"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::AccountABucketName/*"
            ]
        }
    ]
}

 

 

2. B계정의 IAM의 Policy

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::AccountABucketName/*"

        }
    ]
}

 

이렇게 설정해주면 B계정에서도 A계정의 S3에 접근할 수 있게 된다.

 

이 방법만 있는 것이 아니라 다른 방법도 있지만 이번에는 Policy를 통해 접근하는 방법을 알아보았다.