키를 통한 S3 업로드시 access denied 되는 이유를 알고싶습니다.

0

키를 통한 S3 업로드시 access denied 되는 이유를 알고싶습니다. 해당 키를 가진 계정 정책은 아래와 같습니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::image********",
                "arn:aws:s3:::play*******"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObjectAcl",
                "s3:GetObject",
                "s3:DeleteObjectVersion",
                "s3:DeleteObject",
                "s3:PutObjectAcl",
                "s3:GetObjectVersion"
            ],
            "Resource": "*"
        }
    ]
}

그리고 S3의 권한은 아래와 같습니다.

{
    "Version": "2012-10-17",
    "Id": "Policy146597******",
    "Statement": [
        {
            "Sid": "2",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E3IW************"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::imag************/*"
        },
        {
            "Sid": "PutVideoPreview",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::73***848*9:role/video-pre******************"
            },
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::imag************/video/pr***/*"
        }
    ]
}

키를 가진 사용자가 특정 S3에 업로드 하고 자 할 경우 "Access denied 가 발생됩니다. 사용자는 해당 S3에 파일업로드와 리소스안에 있는 파일목록만 보면됩니다. 권한을 부여하였지만 퍼미션에러로 접근조차 되지않으니 답답한상황입니다.

혹시 가이드가능하다면 부탁드립니다.

profile picture
질문됨 2년 전632회 조회
1개 답변
0
수락된 답변

안녕하세요? 위쪽의 IAM Identity Based 정책이 IAM 역할에 할당되었다고 가정하면 해당 IAM 역할에는 Put Object 할 수 있는 권한이 부여되어 있다고 볼 수 있을 것 같습니다. 그리고 공유해주신 S3 버킷 정책을 보면 IAM 역할(arn:aws:iam::738489:role/video-pre****************)에도 Put Object 권한이 arn:aws:s3:::imag************/video/pr***/* 에 부여되어 있는 것을 알 수 있습니다.

따라서, 위 내용만 보면 video-pre****************** IAM 역할이 arn:aws:s3:::imag************/video/pr***/ 경로에 파일을 업로드하는 권한이 부여된 것으로 볼 수 있을 것 같은데요.

아래의 2가지를 확인 부탁드립니다.

  1. 업로드에 사용한 CLI 나 API Call 을 확인 부탁드립니다
  2. IAM 역할에 IAM Permission 정책이외에 Permission Boundary 가 부여되어있지는 않나요? SCP 역시 고려 사항 중 하나입니다.

감사합니다.

profile pictureAWS
답변함 2년 전
  • 추가로 의견드립니다. 혹시 파일 업로드 과정에서 AWS CLI 를 사용하는 것이 아니고 별도의 도구를 사용하는 경우 위의 IAM 역할에는 전체 버킷을 리스팅하는 권한이 없어서 업로드 진행이 되지 않을 수도 있습니다. 참고하세요.

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠