S3 PutObject Доступ запрещен при развертывании в - PullRequest
0 голосов
/ 19 марта 2020

Я хочу создать пользователя IAM, единственной задачей которого является развертывание на веб-сайте AWS S3 Stati c.

У меня есть эта политика для моего DeployUser:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::www.<my-site-name>.com"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutBucketAcl",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::www.<my-site-name>.com/*"
        }
    ]
}

И это моя политика корзины:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::www.<my-site-name>.com/*"
        }
    ]
}

И это проблема, которую я получаю при развертывании (Я использую Действия Github для этого):

upload failed: public/404.html to s3://www.<my-site-name>.com/404.html An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

В Github я передал ключ доступа и секрет пользователя в свое действие. Я уверен, что он использует этого пользователя для транзакции. Когда я даю S3FullAccess, мой пользователь может делать это очень хорошо. Но я хочу создать пользователя с действиями AWS, которые ему нужны.

Где лучше посмотреть журналы действий этого пользователя IAM?

1 Ответ

1 голос
/ 19 марта 2020

Исходя из комментариев, решением было добавить PutObject в поддерживаемую политику для DeployUser.

...