Esta página aborda o acesso de nível de contentor uniforme, que lhe permite controlar uniformemente o acesso aos seus recursos do Cloud Storage. Quando ativa o acesso uniforme ao nível do contentor num contentor, as listas de controlo de acesso (ACLs) são desativadas, e apenas as autorizações de identidade e gestão de acessos (IAM) ao nível do contentor concedem acesso a esse contentor e aos objetos que contém. Revoga todo o acesso concedido pelas LCAs de objetos e a capacidade de administrar autorizações através das LCAs de contentores.
Vista geral
O Cloud Storage oferece dois sistemas para conceder autorização aos utilizadores para aceder aos seus contentores e objetos: IAM e Listas de controlo de acesso (LCAs). Estes sistemas atuam em paralelo. Para que um utilizador aceda a um recurso do Cloud Storage, apenas um dos sistemas tem de conceder autorização ao utilizador. O IAM é usado em todo o Google Cloud e permite-lhe conceder uma variedade de autorizações ao nível do contentor e do projeto. As ACLs são usadas apenas pelo Cloud Storage e têm opções de autorização limitadas, mas permitem-lhe conceder autorizações por objeto.
Para suportar um sistema de autorizações uniforme, o Cloud Storage tem acesso uniforme ao nível do contentor. A utilização desta funcionalidade num contentor desativa as ACLs para todos os recursos do Cloud Storage no contentor. O acesso aos recursos do Cloud Storage é concedido exclusivamente através do IAM. O acesso uniforme ao nível do contentor não pode ser desativado depois de estar ativo num contentor durante 90 dias consecutivos.
Deve usar o acesso uniforme ao nível do contentor?
Geralmente, recomendamos a utilização do acesso uniforme ao nível do contentor:
O acesso uniforme ao nível do contentor unifica e simplifica a forma como concede acesso aos seus recursos do Cloud Storage.
O acesso uniforme ao nível do contentor impede a exposição não intencional de dados a partir de ACLs.
O acesso uniforme ao nível do contentor tem de estar ativado para usar as seguintes funcionalidades:
- Espaço de nomes hierárquico
- Pastas geridas
- Condições da IAM definidas diretamente no contentor
O acesso uniforme ao nível do contentor tem de estar ativado para conceder às entidades da federação de identidade da força de trabalho ou da federação de identidade do Workload acesso aos recursos do Cloud Storage.
Não deve usar o acesso uniforme ao nível do contentor se quiser usar o sistema de LCAs para o seu contentor.
Comportamento quando ativado
Pode ativar o acesso de nível de contentor uniforme quando cria um novo contentor ou quando ativa explicitamente o acesso de nível de contentor uniforme num contentor existente.
Depois de ativado, um contentor tem o seguinte comportamento:
Os pedidos para definir, ler ou modificar ACLs de objetos e contentores falham com erros
400 Bad Request
.- Isto inclui pedidos da API JSON que usam quaisquer métodos
BucketAccessControls
,DefaultObjectAccessControls
ouObjectAccessControls
.
- Isto inclui pedidos da API JSON que usam quaisquer métodos
Os pedidos da API JSON para uma projeção completa dos metadados do contentor ou do objeto incluem uma lista de ACL vazia como parte da resposta.
A propriedade do objeto individual já não existe. O acesso concedido a partir dessa propriedade é revogado, e os pedidos de metadados de objetos e contentores já não contêm um campo
owner
.No momento da criação, os contentores recebem funções da IAM especializadas. Se ativar o acesso uniforme ao nível do contentor como parte da criação de um novo contentor, esse contentor recebe funções do IAM adicionais.
Este comportamento mantém as autorizações que os objetos teriam herdado da ACL de objetos predefinida padrão para um contentor.
Se ativar o acesso uniforme ao nível do contentor num contentor existente, tem de aplicar manualmente essas funções. Se tiver alterado anteriormente a ACL de objetos predefinida do contentor, é provável que queira aplicar um conjunto diferente de funções do IAM.
Comportamento se for revertido
Para suportar a capacidade de desativar o acesso de nível de contentor uniforme e reverter para a utilização de LCAs, o Cloud Storage guarda as LCAs existentes. Se desativar o acesso uniforme ao nível do contentor:
Os objetos recuperam as respetivas LCAs guardadas.
Todos os objetos adicionados ao contentor após a ativação do acesso uniforme ao nível do contentor ganham LCAs de acordo com as LCAs de objetos predefinidas usadas pelo contentor.
Requisitos para desativar o acesso uniforme ao nível do contentor
Para desativar o acesso uniforme ao nível do contentor, têm de se verificar as seguintes condições:
A funcionalidade foi ativada durante menos de 90 dias consecutivos.
Removeu todas as condições da IAM da política de IAM do contentor.
O contentor não está sujeito à restrição da política organizacional Require uniform bucket-level access.
Eliminou todas as pastas geridas do contentor.
Considerações ao migrar um contentor existente
Quando ativa o acesso de nível de contentor uniforme num contentor existente, deve garantir que os utilizadores e os serviços que dependiam anteriormente das ACLs para aceder têm as respetivas autorizações migradas para o IAM. Esta secção descreve alguns passos que deve seguir quando migrar um contentor para o acesso uniforme ao nível do contentor. Tenha em atenção que, uma vez que as ACLs e o IAM estão sincronizados para autorizações de contentores, as suas considerações focam-se especificamente no acesso a objetos no seu contentor e não no acesso ao contentor.
Considere se uma autorização de IAM ao nível do contentor expõe os dados em excesso
Antes de atribuir equivalentes do IAM às suas ACLs, considere o seguinte:
- Uma autorização do IAM aplicada ao nível do contentor aplica-se a todos os objetos no contentor, enquanto as LCAs de objetos podem variar de objeto para objeto.
Se existir acesso que quer aplicar a alguns objetos, mas não a outros, deve agrupar os objetos em contentores separados. Cada agrupamento deve conter os objetos que têm as mesmas autorizações.
Verifique a utilização da LCA de objetos
Quando migrar para o acesso uniforme ao nível do contentor, deve verificar se os objetos no contentor estão a ser acedidos através das ACLs aplicadas aos mesmos. Para verificar isto, o Cloud Monitoring tem uma métrica que acompanha a utilização da ACL. Se esta métrica indicar que os utilizadores ou os serviços dependem das ACLs para aceder aos seus objetos, deve atribuir equivalentes do IAM ao contentor antes de ativar o acesso de nível de contentor uniforme. Para um guia sobre como verificar a utilização de ACLs na monitorização, consulte o artigo Verifique a utilização de ACLs.
Use esta métrica para determinar se a ativação do acesso uniforme ao nível do contentor interromperia o seu fluxo de trabalho:
Métrica | Descrição |
---|---|
storage.googleapis.com/authz/acl_operations_count |
O número de operações de LCA que vão ser desativadas assim que o acesso de nível de contentor uniforme for ativado, discriminado por tipo de operação de LCA e contentor. |
Uma operação de LCA importante a examinar é OBJECT_ACCESS_REQUIRED_OBJECT_ACL
:
Se este número for zero, não foram necessárias ACLs ao nível do objeto para aceder a objetos nas últimas 6 semanas. As políticas de IAM estão a abranger as autorizações necessárias ao nível do contentor ou do projeto.
Se este número for superior a zero, existiram pedidos de acesso a objetos nas últimas 6 semanas que exigiram autorizações da ACL de objetos. Deve atribuir políticas de IAM equivalentes antes de ativar o acesso uniforme ao nível do contentor.
Para mais informações sobre métricas de monitorização, consulte o artigo Métricas, séries cronológicas e recursos.
Verifique a ACL de objetos predefinida do contentor
Os contentores sem acesso uniforme ao nível do contentor têm uma LCA de objetos predefinida associada. Os novos objetos adicionados a esses contentores têm esta LCA de objeto predefinida aplicada, a menos que seja fornecida explicitamente uma LCA no momento em que o objeto é adicionado ao contentor.
Por exemplo, os contentores usam frequentemente a LCA predefinida projectPrivate
como a LCA de objeto predefinida. projectPrivate
concede ao objeto a autorização READER
aos visitantes do projeto associados ao contentor e concede ao objeto a autorização OWNER
aos editores e proprietários do projeto associados ao contentor.
Antes de ativar o acesso uniforme ao nível do contentor, verifique a LCA do objeto predefinida que o contentor tem. Considere se quer conceder as autorizações associadas à ACL de objetos predefinida depois de ativar o acesso uniforme ao nível do contentor. Se for o caso, atribua equivalentes da IAM ao contentor.
Atribua equivalentes da IAM a LCAs de objetos
As LCAs de objetos podem conceder acesso que o IAM não concede atualmente. Para garantir que os utilizadores existentes não perdem o acesso a objetos quando ativa o acesso de nível de contentor uniforme, use a tabela seguinte e atribua aos utilizadores afetados as funções do IAM adequadas.
Autorização da LCA de objetos | Função de IAM equivalente |
---|---|
READER |
Leitor de objetos antigos do Storage (roles/storage.legacyObjectReader ) |
OWNER |
Proprietário de objetos antigos do Storage (roles/storage.legacyObjectOwner ) |
Considerações sobre a utilização de condições do IAM
Para evitar conflitos entre as políticas do IAM de um contentor e as ACLs de objetos, só é possível usar condições do IAM em contentores com o acesso de nível de contentor uniforme ativado. Isto significa que:
Para definir condições da IAM num contentor, tem primeiro de ativar o acesso uniforme ao nível do contentor nesse contentor.
Antes de poder desativar o acesso uniforme ao nível do contentor num contentor, tem primeiro de remover todas as condições do IAM da política desse contentor. Para ver informações sobre como ver e remover condições da política de um contentor, consulte o artigo Usar condições do IAM no contentor.
O que se segue?
- Saiba como usar o acesso uniforme ao nível do contentor.
- Saiba mais sobre a aplicação da restrição de acesso uniforme ao nível do contentor, que pode definir na sua Google Cloud organização, pasta ou projeto.
- Defina autorizações da IAM em contentores e projetos.