Bucket policy
Bucket policies são regras de controle de acesso associadas a um bucket de armazenamento, que definem quem pode acessar ou gerenciar os objetos armazenados dentro desse bucket e de que forma. Essas políticas permitem que você controle permissões de forma detalhada, especificando ações permitidas, condições para acesso e usuários ou grupos que têm acesso.
- 🖥️ Console
- >_ CLI
Atualmente, a definição de políticas para buckets não está disponível através da interface do Console. No entanto, você pode configurar políticas usando CLI.
Para definir a política de um bucket via CLI, utilize os seguintes comandos:
MGC-CLI
mgc object-storage buckets policy set NOME_DO_BUCKET POLICY
AWS S3API
aws s3api put-bucket-policy --bucket NOME_DO_BUCKET --policy POLICY
As políticas são definidas utilizando um documento de política com a seguinte sintaxe:
policy = {
<version_block?>
<id_block?>
<statement_block>
}
<version_block> = "Version" : ("2012-10-17")
<id_block> = "Id" : <policy_id_string>
<statement_block> = "Statement" : [ <statement>, <statement>, ... ]
<statement> = {
<sid_block?>,
<principal_block?>,
<effect_block>,
<action_block>,
<resource_block>
}
<sid_block> = "Sid" : <sid_string>
<effect_block> = "Effect" : ("Allow" | "Deny")
<principal_block> = ("Principal") : ("*" | <principal_map>)
<principal_map> = { <principal_map_entry>, <principal_map_entry>, ... }
<principal_map_entry> = ("MGC") :
[<principal_id_string>, <principal_id_string>, ...]
<action_block> = ("Action") :
("*" | <action_string> | [<action_string>, <action_string>, ...])
<resource_block> = ("Resource") :
: ("*" | <resource_string> | [<resource_string>, <resource_string>, ...])
Exemplos:
- Permitir que qualquer usuário delete objetos em
meu-bucket
:
{
"Version": "2024-07-19",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:DeleteObject",
"Resource": "meu-bucket"
}
]
}
- Permitir que um usuário específico possa armazenar objetos na pasta
imagens
:
{
"Version": "2024-07-19",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"MGC": ["12345678"]
},
"Action": "s3:PutObject",
"Resource": "meu-bucket/imagens/*"
}
]
}