Práticas recomendadas de controle de acesso

Nesta página, você verá as práticas recomendadas ao usar o Identity and Access Management (IAM) e as Listas de controle de acesso (ACLs) para gerenciar o acesso a dados.

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.

    Para mais informações sobre como usar a API XML para interoperabilidade com o Amazon S3, consulte Migração simples do Amazon S3 para o Cloud Storage.

A seguir