Access Control Lists (ACLs)
ACLs são utilizadas para controlar o acesso de tenants a buckets e objetos, permitindo um controle restrito de suas funções.
Para mais informações sobre ACLs, consulte a documentação de ACL.
ACL em Buckets
É possível estabelecer uma ACL para um bucket por completo, sendo que as permissões não são passadas de forma recursiva, logo, os objetos ainda são acessíveis por terceiros.
Criar ACL do Bucket
- 🖥️ Console
- MGC-CLI
- AWS-CLI
- RCLONE
- Clique no ícone de menu ao lado do bucket para o qual deseja configurar permissões.
- Selecione a opção “Criar Acesso via ACL”.
- Insira o e-mail da pessoa a quem deseja conceder acesso e clique em “Adicionar”.
- Escolha o nível de acesso desejado para o usuário:
- Leitura: O usuário poderá listar e acessar os metadados dos objetos no bucket.
- Leitura e Escrita: Além das permissões de Leitura, o usuário poderá fazer o upload de objetos no bucket.
- Clique em “Criar Acesso”.
mgc object-storage buckets acl set --dst NOME_DO_BUCKET --public-read
Você pode adicionar a flag que melhor atenda às suas necessidades de acesso. As opções disponíveis são:
-
--private:
O proprietário (Owner) possui FULL_CONTROL. Apenas o proprietário e os delegados da conta têm direitos de acesso; outros usuários não têm acesso. -
--public-read:
O proprietário (Owner) possui FULL_CONTROL. Qualquer pessoa pode ler o bucket. -
--grant-write array (object):
Permite que os destinatários criem objetos neste bucket.
aws s3 mb s3://NOME_DO_BUCKET
Utilizando o AWS s3api:
aws s3api put-bucket-acl --bucket NOME_DO_BUCKET --acl "ACL-Grantee"
Para mais informações sobre as opções de configuração no “ACL-Grantee”, consulte a documentação de ACL da AWS CLI.
O RClone não oferece suporte direto para ACL vinculada ao Bucket. Durante a configuração, você pode definir ACL ao criar um remote.
rclone config
Listar Bucket com ACL
Para acessar um bucket com permissões concedidas por meio de uma Lista de Controle de Acesso (ACL). Utilize os seguintes comandos para listar todos os objetos disponíveis para o seu acesso:
- MGC-CLI
- AWS-CLI
- RCLONE
mgc object-storage objects list NOME_DO_BUCKET
aws s3 ls s3://NOME_DO_BUCKET --recursive
Utilizando o AWS s3api:
aws s3api list-objects --bucket NOME_DO_BUCKET
rclone lsd NOME_DO_REMOTO:NOME_DO_BUCKET
Verificar ACL do Bucket
- 🖥️ Console
- MGC-CLI
- AWS-CLI
- RCLONE
- Clique no ícone de menu ao lado do bucket para o qual deseja configurar permissões.
- Selecione a opção “Criar Acesso via ACL”.
- Na lista de acessos concedidos para o bucket, você pode:
- Deletar um acesso clicando no ícone de exclusão (:trash:).
- Alterar o nível de acesso entre “Leitura” e “Leitura e Escrita”.
- Clique em “Criar Acesso” para atualizar a lista.
mgc object-storage buckets acl get NOME_DO_BUCKET
aws s3api get-bucket-acl --bucket NOME_DO_BUCKET
O RClone não oferece uma função direta para gerenciar ACL vinculada ao bucket. Durante a configuração, você pode definir a ACL ao criar um remote:
rclone config
ACL de Objetos
É possível adicionar permissões para objetos específicos, permitindo um controle mais granular sobre o acesso. Além disso, permitindo que as permissões estejam presentes não apenas nos buckets, mas também em seus conteúdos.
Criar ACL de um Objeto
- 🖥️ Console
- MGC-CLI
- AWS-CLI
- RCLONE
Atualmente, a criação de listas de controle de acesso (ACL) para objetos não é suportada diretamente pelo Console. Essa configuração deve ser realizada por meio da CLI.
mgc object-storage objects acl set "mgc-bucket-1"/"my-file"
Você pode adicionar a flag correspondente às suas necessidades de acesso. As opções disponíveis são:
-
--private: O proprietário (Owner) possui FULL_CONTROL. Apenas o proprietário e os delegados da conta têm direitos de acesso; nenhum outro usuário tem acesso.
-
--public-read: O proprietário (Owner) possui FULL_CONTROL. Qualquer pessoa pode acessar o objeto para LEITURA (Read).
-
--grant-write array (object): Permite que os destinatários criem objetos no bucket especificado.
aws s3 cp "MEU-OBJETO" s3://mgc-bucket-1 --acl public-read
Utilizando o AWS s3api:
aws s3api put-bucket-acl --bucket "mgc-bucket-1" --key "MEU-OBJETO" --acl "ACL-Grantee"
Para determinar o tipo de acesso a configurar em “ACL-Grantee”, consulte a documentação de ACL da AWS CLI.
rclone copy "my-file" "NOME_DO_REMOTO":"mgc-bucket-1"/"my-file" --acl ACL
No RClone, a ACL é configurada durante o upload ou cópia do objeto. O valor para ACL segue o mesmo padrão descrito na documentação de ACL da AWS CLI.
Verificar ACL do Objeto
- 🖥️ Console
- MGC-CLI
- AWS-CLI
- RCLONE
Atualmente, o gerenciamento de ACLs de objetos não está disponível na interface do Console da Magalu Cloud. No entanto, para proporcionar uma experiência mais eficiente, recomendamos o uso do RClone GUI, uma ferramenta compatível com nosso produto de Armazenamento de Objetos. O RClone GUI oferece uma interface gráfica intuitiva e confiável para o gerenciamento de objetos na nuvem. Para orientações sobre a instalação, configuração e uso do RClone GUI, consulte a documentação fornecida.
mgc object-storage objects acl get NOME_DO_BUCKET/NOME_DO_OBJETO
aws s3api get-object-acl --bucket mgc-bucket-1 --key my-file
Atualmente, o RClone não oferece um comando específico para listar a ACL de um objeto diretamente. No entanto, você pode visualizar as configurações de ACL durante o processo de sincronização ou cópia de objetos.
Upload de um Objeto Público
Fazer o upload de um objeto público significa que qualquer pessoa com o link poderá acessar esse arquivo.
- 🖥️ Console
- MGC-CLI
- AWS-CLI
- RCLONE
Atualmente, a interface do Console não suporta a funcionalidade de upload de objetos. Para realizar essa operação, utilize as ferramentas de linha de comando (CLI).
Atualmente, não é possível fazer upload de objeto publico via MGC-CLI.
aws s3 cp "MEU-OBJETO" s3://mgc-bucket-1 --acl public-read
Utilizando o AWS s3api:
aws s3api put-object-acl --bucket "mgc-bucket-1" --key "MEU-OBJETO" --acl public-read
rclone copy "MEU-OBJETO" "NOME_DO_REMOTO":"mgc-bucket-1"/"MEU-OBJETO" --acl public-read
Tornar um Objeto Público
Tornar um objeto público permite que qualquer pessoa com o link tenha acesso a ele.
- 🖥️ Console
- MGC-CLI
- AWS-CLI
- RCLONE
Atualmente, a interface do Console não suporta a funcionalidade de upload de objetos. Para realizar essa operação, utilize as ferramentas de linha de comando (CLI).
mgc object-storage objects acl set NOME_DO_BUCKET/CAMINHO_DO_OBJETO --public-read
aws s3 cp "MEU-OBJETO" s3://mgc-bucket-1 --acl public-read
Utilizando o AWS s3api:
aws s3api put-object-acl --bucket NOME_DO_BUCKET --key CAMINHO_DO_OBJETO --acl public-read
rclone copy "MEU-OBJETO" "NOME_DO_REMOTO":"mgc-bucket-1"/"MEU-OBJETO" --acl public-read
Criar ACL para Usuários Distintos
Exemplos práticos:
-
Leitura: Departamentos de auditoria precisam acessar os logs, mas não modificá-los.
-
Leitura e Escrita: Equipe de TI precisa adicionar novos logs e atualizar os existentes.
Dados de Exemplo:
- Nome do bucket:
meu-bucket-super-secreto
- Tenant ID do departamento de auditoria (somente leitura):
7e1a0618-319f-4c87-a38d-67adb33da365
- Tenant ID da equipe de TI (leitura e escrita):
3df4456b-0390-467c-8b03-97a7d704c0fc
- MGC-CLI
- AWS-CLI
mgc object-storage buckets acl set --dst meu-bucket-super-secreto --grant-read id=7e1a0610-31fb-4cc7-a304-e7daddb336a5 --grant-full-control id=3df4455d-0390-407e-b803-970a77ddc940
aws s3api put-bucket-acl --bucket meu-bucket-super-secreto --grant-read id=7e1a0610-31fb-4cc7-a304-e7daddb336a5 --grant-full-control id=3df4455d-0390-407e-b803-970a77ddc940
Dicas de Uso: Teste sempre as configurações com arquivos de teste antes de aplicá-las a dados críticos para garantir que as permissões estejam corretamente configuradas.
Ao configurar a ACL do bucket, observe que as regras não são aplicáveis de forma recursiva, ou seja, não são transmitidas para os objetos contidos no bucket. Para aplicar regras de acesso aos objetos, utilize a ACL para Objetos.