Запретить удаление из S3 Bucket
Я хочу создать корзину S3, которая не позволяет удалять файлы.
Кто-нибудь знает, как мне этого добиться?
1 ответ
Вы не можете переключить флаг в корзине, чтобы сказать "этот контейнер никогда не может быть удален, или его содержимое удалено", потому что для эффективности флаг должен помешать владельцу учетной записи выполнить любую из этих вещей - что будет означать Вы никогда не сможете отменить свою учетную запись. Не круто.
Однако AWS имеет возможность предоставлять участников с ограниченными разрешениями, которым может быть предоставлено подмножество разрешений для ресурса AWS. Это известно как "IAM - управление идентификацией и доступом", и в соответствии с этой схемой данные для входа в систему для самой учетной записи AWS будут храниться под строгим контролем (а не разглашаться всем сотрудникам компании)., и только ограниченные полномочия будут вручены, как двойник в подростковой поездке в поход.
У меня нет большого опыта из первых рук с IAM и S3, но из-за краткого знакомства с генератором политик IAM мне кажется, что политика, которая выглядит примерно так:
{
"Id": "Policy1344116539061",
"Statement": [
{
"Sid": "Stmt1344116519156",
"Action": [
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::mybucket/*",
"Principal": {
"AWS": [
"womble"
]
}
}
]
}
Я бы определенно проверил это, чтобы убедиться, что он не позволяет ничего, чего вы не хотите (например, s3:PutObject позволяет перезаписывать существующие объекты, чего вы, возможно, не хотите - ответом на это является управление версиями), и вам все равно придется узнать, как применять политику (для чего может помочь руководство пользователя IAM или, возможно, справка по IAM API) или, если они не освещаются, задать подробный вопрос здесь и кому-нибудь может иметь достаточное количество IAM-фу, чтобы иметь возможность указать вам правильное направление), но, по крайней мере, теперь у вас есть указатель в правильном направлении.