Разрешения, необходимые для запуска команды «aws syn c» - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь ограничить доступ пользователя IAM только тремя сегментами. Я работаю над созданием политики IAM для AWS, которая позволяет пользователю IAM синхронизировать c файлы на AWS S3 и обратно. Я написал следующую политику, но каждый раз, когда я запускаю команду aws sync для синхронизации c папки на рабочем столе с корзиной, к которой моя политика разрешает доступ, терминал, кажется, зависает, не выводя никакого ответа или не завершая процесс . Есть идеи о том, какие разрешения могут отсутствовать для одного и того же?

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "VisualEditor0",
        "Effect": "Allow",
        "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:ListBucket",
            "s3:DeleteObject",
            "s3:GetBucketLocation"
        ],
        "Resource": [
            "arn:aws:s3:::bucket-1",
            "arn:aws:s3:::bucket-2",
            "arn:aws:s3:::bucket-3"
        ]
    }
]

}

Ответы [ 2 ]

1 голос
/ 07 августа 2020

Некоторым командам S3 требуются разрешения на уровне корзины, а другим - на уровне объекта.

Самый простой способ исправить это - указать оба.

Попробуйте следующее:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-1",
                "arn:aws:s3:::bucket-2",
                "arn:aws:s3:::bucket-3",
                "arn:aws:s3:::bucket-1/*",
                "arn:aws:s3:::bucket-2/*",
                "arn:aws:s3:::bucket-3/*"
            ]
        }
    ]
}
0 голосов
/ 07 августа 2020

Я не уверен, пытаетесь ли вы написать политику IAM или политику корзины? Если позже. В любом случае вам не хватает разрешений на уровне объекта. Для корзины политики корзины вы также отсутствующие участники .

Вы также можете разделить операторы для объектов или сегментов. Ниже приведен пример политики корзины:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::xxxxx:user/a_user"
             },            
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-1",
                "arn:aws:s3:::bucket-2",
                "arn:aws:s3:::bucket-3"
            ]
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::xxxx:user/a_user"
             },            
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-1/*",
                "arn:aws:s3:::bucket-2/*",
                "arn:aws:s3:::bucket-3/*"
            ]
        }   
    ]
}
...