Esta página aborda a definição do contentor de prevenção de acesso público e a restrição da política da organização de prevenção de acesso público relacionada. A utilização da definição ou da restrição restringe as entidades, como utilizadores anónimos na Internet, às quais pode ser concedido acesso aos seus dados. Para uma vista geral das opções de controlo de acesso, consulte o artigo Vista geral do controlo de acesso.
Vista geral
A prevenção de acesso público protege os contentores e os objetos do Cloud Storage contra a exposição acidental ao público. Quando aplica a prevenção de acesso público, ninguém pode tornar públicos os dados em contentores aplicáveis através de políticas de IAM ou ACLs. Existem duas formas de aplicar a prevenção de acesso público:
Pode aplicar a prevenção de acesso público a contentores individuais.
Se o seu contentor estiver incluído numa organização, pode aplicar a prevenção de acesso público através da restrição da política da organização
storage.publicAccessPrevention
ao nível do projeto, da pasta ou da organização.
Deve usar a prevenção de acesso público?
Use a prevenção de acesso público se souber que os seus dados nunca devem ser expostos na Internet pública. Para oferecer a máxima segurança aos seus recursos, aplique a prevenção de acesso público ao nível mais elevado possível da sua organização.
Não deve usar a prevenção de acesso público se precisar de manter o contentor público para exemplos de utilização, como o alojamento de Websites estáticos. Para criar exceções para contentores deste tipo em organizações que, de resto, aplicam a prevenção de acesso público, desative a prevenção de acesso público no projeto específico que contém o contentor.
Comportamento quando aplicado
Os recursos sujeitos à prevenção de acesso público têm o seguinte comportamento:
Os pedidos a contentores e objetos autorizados através de
allUsers
eallAuthenticatedUsers
falham com um código de estado HTTP401
ou403
.As políticas IAM e as ACLs existentes que concedem acesso a
allUsers
eallAuthenticatedUsers
permanecem em vigor, mas são substituídas pela prevenção de acesso público.Os pedidos de criação de contentores ou objetos com
allUsers
eallAuthenticatedUsers
nas respetivas políticas de IAM ou ACLs falham, com a seguinte exceção:- Se um contentor tiver uma ACL de objeto predefinida que contenha
allUsers
, os pedidos para criar objetos nesse contentor são bem-sucedidos. As LCAs para esses objetos contêmallUsers
, masallUsers
é substituído pela prevenção de acesso público.
- Se um contentor tiver uma ACL de objeto predefinida que contenha
Os pedidos para adicionar
allUsers
eallAuthenticatedUsers
a uma política IAM ou a uma ACL falham com412 Precondition Failed
.
Herança
Mesmo que um contentor não tenha a prevenção de acesso público aplicada explicitamente nas respetivas definições, pode herdar a prevenção de acesso público, o que ocorre se a restrição da política da organização storage.publicAccessPrevention
estiver definida no projeto, na pasta ou na organização em que o contentor existe. Por este motivo, o estado do grupo só pode ser definido como enforced
ou inherited
.
Se os metadados de prevenção de acesso público de um contentor estiverem definidos como
enforced
, a prevenção de acesso público aplica-se ao contentor.Se os metadados de prevenção de acesso público de um contentor estiverem definidos como
inherited
, a prevenção de acesso público é determinada pela restrição da política da organizaçãostorage.publicAccessPrevention
:Se
storage.publicAccessPrevention
estiver definido comoTrue
para o projeto que contém o contentor, a prevenção de acesso público aplica-se ao contentor.Se
storage.publicAccessPrevention
estiver definido comoFalse
para o projeto que contém o contentor, a prevenção de acesso público não se aplica ao contentor.Se
storage.publicAccessPrevention
não estiver definido para o projeto que contém o contentor, a prevenção de acesso público é determinada pelo valorstorage.publicAccessPrevention
definido pela pasta, se existir, que contém o projeto.Da mesma forma, se a pasta que contém o contentor também não definir nenhum valor para
storage.publicAccessPrevention
, a prevenção de acesso público é determinada pelo valorstorage.publicAccessPrevention
definido pela organização que contém o projeto.Se
storage.publicAccessPrevention
não estiver definido para nenhum recurso, a prevenção do acesso público não se aplica ao contentor.
Comportamento se estiver desativado
Quando a prevenção de acesso público deixa de se aplicar a um recurso, ocorre o seguinte:
As políticas de IAM e as ACLs existentes que concedem acesso a
allUsers
eallAuthenticatedUsers
entram em vigor e tornam os dados acessíveis ao público.As solicitações para criar políticas IAM ou ACLs que permitam o acesso a
allUsers
eallAuthenticatedUsers
são bem-sucedidas.Um objeto criado ao abrigo da prevenção de acesso público sem ACLs públicas pode tornar-se acessível ao público se tiver sido criado num contentor acessível publicamente.
Pode desativar a prevenção de acesso público para um projeto, uma pasta ou uma organização
em qualquer altura. Os contentores com uma definição enforced
continuam a ter a prevenção de acesso público aplicada, mesmo que a desative para um projeto, uma pasta ou uma organização que contenha o contentor.
Considerações
Quando aplica a prevenção de acesso público a recursos existentes, toda a autorização existente e as novas adições de
allUsers
eallAuthenticatedUsers
são bloqueadas. Isto pode afetar os seus contentores das seguintes formas:Se uma aplicação depender de
allUsers
eallAuthenticatedUsers
para aceder aos seus dados ou criar recursos públicos, a ativação da prevenção do acesso público pode danificar a aplicação. Para obter informações sobre como identificar os seus recursos públicos dos quais outras aplicações podem depender, expanda o seguinte conteúdo:Como identificar recursos públicos
Antes de aplicar a prevenção de acesso público, recomendamos que faça um inventário dos seus recursos públicos para se certificar de que não interrompe outras cargas de trabalho que tenham uma dependência dos seus dados serem públicos. Pode localizar contentores, objetos e pastas geridas que são públicos através dos seguintes métodos:
- Para ajudar a identificar cargas de trabalho que possam estar a aceder aos seus dados públicos, configure registos de utilização, que podem fornecer informações sobre pedidos de acesso a dados feitos a recursos públicos.
-
Para determinar se um contentor pode estar acessível ao público, verifique as políticas de IAM do contentor. As políticas que concedem funções ao principal
allUsers
ouallAuthenticatedUsers
tornam o contentor potencialmente acessível ao público. Em alternativa à obtenção da política de IAM para buckets individuais, pode usar o Cloud Asset Inventory para ver as políticas de todos os buckets num projeto, numa pasta ou numa organização.Se existirem pastas geridas no seu contentor, também pode verificar as políticas de IAM das pastas geridas para identificar que pastas geridas podem estar acessíveis ao público.
- Para determinar se os objetos individuais podem ser acessíveis ao público,
verifique se o objeto tem ACLs.
As ACLs que concedem acesso ao principal
allUsers
ouallAuthenticatedUsers
tornam o objeto potencialmente acessível ao público.
Os registos de auditoria na nuvem não monitorizam o acesso a objetos públicos. Se os registos de acesso aos dados estiverem ativados quando aplicar a prevenção de acesso público, pode verificar um aumento na geração de registos, que contam para a sua quota de carregamento de registos e podem incorrer em cobranças dos registos de auditoria do Google Cloud. Este aumento pode ocorrer porque o acesso que anteriormente era público e não registado pode ficar associado a autorizações específicas, o que é registado.
Os URLs assinados, que dão acesso por tempo limitado e com âmbito restrito a qualquer pessoa que os use, não são afetados pela prevenção de acesso público.
Os projetos não associados a uma organização não podem usar políticas de organização. Os contentores num projeto deste tipo devem usar a definição ao nível do contentor.
A prevenção de acesso público é fortemente consistente para leitura após atualização, mas a aplicação pode demorar até 10 minutos a entrar em vigor.
Após o início da aplicação, os seus objetos podem continuar acessíveis publicamente através de uma cache da Internet durante algum tempo, consoante a definição
Cache-Control
dos objetos. Por exemplo, se oCache-Control:max-age
de um objeto estiver definido como o valor predefinido de 3600 segundos, o objeto pode persistir numa cache da Internet durante esse período.
O que se segue?
- Saiba como usar a prevenção de acesso público.
- Leia mais acerca das políticas da organização.