키를 통한 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
feita há um ano585 visualizações
1 Resposta
0
Resposta aceita

안녕하세요? 위쪽의 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
respondido há um ano
  • 추가로 의견드립니다. 혹시 파일 업로드 과정에서 AWS CLI 를 사용하는 것이 아니고 별도의 도구를 사용하는 경우 위의 IAM 역할에는 전체 버킷을 리스팅하는 권한이 없어서 업로드 진행이 되지 않을 수도 있습니다. 참고하세요.

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas