Prevenção de acesso público

Configuração

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:

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 e allAuthenticatedUsers falham com um código de estado HTTP 401 ou 403.

  • As políticas IAM e as ACLs existentes que concedem acesso a allUsers e allAuthenticatedUsers 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 e allAuthenticatedUsers 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êm allUsers, mas allUsers é substituído pela prevenção de acesso público.
  • Os pedidos para adicionar allUsers e allAuthenticatedUsers a uma política IAM ou a uma ACL falham com 412 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ção storage.publicAccessPrevention:

    • Se storage.publicAccessPrevention estiver definido como True para o projeto que contém o contentor, a prevenção de acesso público aplica-se ao contentor.

    • Se storage.publicAccessPrevention estiver definido como False 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 valor storage.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 valor storage.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 e allAuthenticatedUsers 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 e allAuthenticatedUsers 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 e allAuthenticatedUsers são bloqueadas. Isto pode afetar os seus contentores das seguintes formas:

    • Se uma aplicação depender de allUsers e allAuthenticatedUsers 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:

    • 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 o Cache-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?