As políticas e as ACLs do IAM exigem gerenciamento ativo para serem eficazes.
Antes de criar um bucket ou objeto acessível a outros usuários, saiba com quem você quer compartilhar o bucket ou objeto e quais os papéis que serão atribuídos a essas pessoas. As mudanças no
gerenciamento de projetos, nos padrões de uso e na propriedade organizacional podem exigir que você
modifique as configurações de IAM ou ACL em buckets e projetos, especialmente se
gerenciar o Cloud Storage em uma organização ou para um grande
grupo de usuários. Ao avaliar e planejar as configurações de controle de acesso, lembre-se destas práticas recomendadas:
Use o princípio de privilégio mínimo ao conceder acesso a buckets ou objetos.
O princípio de privilégio mínimo é uma diretriz de segurança
para conceder acesso a seus recursos. Com base nesse princípio, conceda o privilégio mínimo necessário para que um usuário execute a tarefa atribuída. Por exemplo,
se você quiser compartilhar arquivos, conceda a pessoa o
papel storage.objectViewer do IAM ou a permissão READER das ACLs, e não o papel de storage.admin do IAM ou a permissão OWNER das ACLs.
Evite conceder papéis do IAM com a permissão setIamPolicy ou
conceder a permissão OWNER da ACL a pessoas que você não conhece.
Quando você dá a permissão setIamPolicy do IAM ou
OWNER das ACLs, permite que um usuário altere permissões e assuma o controle
dos dados. Use papéis com essas permissões somente quando quiser delegar o controle administrativo sobre objetos e buckets.
Tenha cuidado em como você concede permissões a usuários anônimos.
Os tipos de Principais allUsers e allAuthenticatedUsers só devem ser usados se for admissível que qualquer pessoa na Internet possa ler e analisar seus dados. Embora esses escopos sejam úteis para alguns aplicativos e cenários, em geral, não é uma boa ideia conceder a todos os usuários determinadas permissões, como setIamPolicy, update, create ou deletedo IAM ou OWNER das ACLs.
Delegue o controle administrativo de seus buckets.
Verifique se os buckets e recursos ainda podem ser gerenciados por
outros membros da equipe caso um indivíduo com acesso administrativo saia do
grupo.
Para evitar que os recursos se tornem inacessíveis, você tem as seguintes
opções:
Atribua o papel do IAM Administrador do Storage do projeto a um grupo em vez de a
um indivíduo.
Atribua o papel do IAM Administrador do Storage do projeto a pelo menos dois
indivíduos.
Conceda a permissão OWNER das ACLs do bucket a pelo menos dois indivíduos
Esteja ciente do comportamento interoperável do Cloud Storage.
A API XML permite acesso interoperável com outros serviços de armazenamento, como o Amazon S3. Nesse caso, o identificador de assinaturas determina a sintaxe da ACL. Por exemplo, se a ferramenta ou biblioteca que você estiver usando solicitar que o Cloud Storage recupere ACLs e essa solicitação usar o identificador de assinatura de outro provedor de armazenamento, o Cloud Storage retornará um documento XML que usa a sintaxe da ACL do provedor de armazenamento correspondente. Se a
ferramenta ou biblioteca que você estiver usando solicitar que o Cloud Storage
aplique ACLs e a solicitação usar o identificador de assinatura de outro provedor de
armazenamento, o Cloud Storage aguardará o recebimento de um documento XML
que usa a sintaxe da ACL do provedor de armazenamento correspondente.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-05 UTC."],[],[],null,["# Access control best practices\n\nThis page describes best practices for using\n[Identity and Access Management (IAM)](/storage/docs/access-control/iam)\nand [Access Control Lists (ACLs)](/storage/docs/access-control/lists) to manage access to your data.\n\nIAM policies and ACLs require active management to be effective.\nBefore you make a bucket or object accessible to other users, be sure you know\nwho you want to share the bucket or object with and what roles you want each of\nthose people to have. Over time, changes in project management, usage patterns,\nand organizational ownership may require you to modify IAM or ACL\nsettings on buckets and projects, especially if you manage\nCloud Storage in a large organization or for a large group of users. As\nyou evaluate and plan your access control settings, keep the following best\npractices in mind:\n\n- **Use the principle of least privilege when granting access to your buckets or\n objects.**\n\n The [*principle of least privilege*](https://en.wikipedia.org/wiki/Principle_of_least_privilege) is a security\n guideline for granting access to your resources. When you grant access based\n on the principle of least privilege, you grant the minimum permission\n that's necessary for a user to accomplish their assigned task. For example,\n if you want to share files with someone, you should grant them the\n `storage.objectViewer` IAM role or the `READER` ACLs\n permission, and not the `storage.admin` IAM role or the\n `OWNER` ACLs permission.\n- **Avoid granting IAM roles with `setIamPolicy` permission or\n granting the ACL `OWNER` permission to people you do not know.**\n\n Granting the `setIamPolicy` IAM permission or the\n `OWNER` ACLs permission allows a user to change permissions and take control\n of data. You should use roles with these permissions only when you want to\n delegate administrative control over objects and buckets.\n- **Be careful how you grant permissions for anonymous users.**\n\n The `allUsers` and `allAuthenticatedUsers` principal types should only be\n used when it is acceptable for anyone on the Internet to read and analyze\n your data. While these scopes are useful for some applications and\n scenarios, it is usually not a good idea to grant all users certain\n permissions, such as the IAM permissions `setIamPolicy`,\n `update`, `create`, or `delete`, or the ACLs `OWNER` permission.\n- **Be sure you delegate administrative control of your buckets.**\n\n You should be sure that your resources can still be managed by\n other team members should an individual with administrative access leave the\n group.\n\n To prevent resources from becoming inaccessible, you can do any of the\n following:\n - Grant the **Storage Admin** IAM role for your project to a\n group instead of an individual\n\n - Grant the **Storage Admin** IAM role for your project to\n at least two individuals\n\n - Grant the `OWNER` ACLs permission for your bucket to at least two\n individuals\n\n- **Be aware of Cloud Storage's interoperable behavior.**\n\n When using the XML API for interoperable access with other storage services,\n such as Amazon S3, the signature identifier determines the ACL syntax. For\n example, if the tool or library you are using makes a request to\n Cloud Storage to retrieve ACLs and the request uses another storage\n provider's signature identifier, then Cloud Storage returns an XML\n document that uses the corresponding storage provider's ACL syntax. If the\n tool or library you are using makes a request to Cloud Storage to\n apply ACLs and the request uses another storage provider's signature\n identifier, then Cloud Storage expects to receive an XML document\n that uses the corresponding storage provider's ACL syntax.\n\n For more information about using the XML API for interoperability with\n Amazon S3, see [Simple migration from Amazon S3 to Cloud Storage](/storage/docs/aws-simple-migration).\n\nWhat's next\n-----------\n\n- [Learn how to use IAM policies with Cloud Storage](/storage/docs/access-control/using-iam-permissions).\n- [Learn how to use ACLs with Cloud Storage](/storage/docs/access-control/create-manage-lists).\n- [Review the IAM reference table for Cloud Storage](/storage/docs/access-control/iam-reference)."]]