Os projetos doGoogle Cloud permitem organizar recursos, gerenciar o acesso e acompanhar o faturamento. Todos os recursos do Google Cloud pertencem a um projeto, incluindo recursos do Cloud Storage, como buckets e objetos.
Um projeto consiste em um conjunto de usuários, um conjunto de APIs e as configurações de faturamento, autenticação e monitoramento dessas APIs. Por exemplo, todos os seus buckets e objetos do Cloud Storage, bem como as permissões do usuário para acessá-los, residem em um projeto.
É possível ter um projeto ou criar vários e usá-los para organizar seus recursos do Google Cloud , incluindo os dados do Cloud Storage, em grupos lógicos.
Para mais informações, consulte a visão geral de projetos no Google Cloud.
Quando especificar um projeto
Na maioria das vezes, não é necessário especificar um projeto ao realizar ações no Cloud Storage. No entanto, inclua o ID do projeto ou o número do projeto nos seguintes casos:
Console
Ao usar o Cloud Storage com o console do Google Cloud , você é automaticamente associado a um projeto. É possível alterar projetos usando o menu suspenso na parte de cima da janela do console do Google Cloud .
Ao acessar pela primeira vez um bucket com pagamentos do solicitante ativados, você receberá uma solicitação para selecionar um projeto para faturar as solicitações. Posteriormente, será possível alterar o projeto de faturamento usando o botão Alterar projeto, localizado acima da lista de objetos do bucket.
Linha de comando
Os comandos a seguir usam a property project definida na configuração da CLI do Google Cloud, a menos que você use a flag --project global no comando para especificar um projeto diferente:
storage buckets createstorage ls(ao listar buckets) estorage buckets liststorage service-agentstorage hmac createestorage hmac list
Use a flag --billing-project global, junto com um identificador de projeto, para indicar o projeto a ser cobrado pelo acesso ao bucket. Isso é necessário para acessar um bucket com pagamentos do solicitante ativados. Fora desse contexto, isso é opcional.
Bibliotecas de cliente
As bibliotecas de cliente do Cloud Storage exigem que um projeto seja especificado nas mesmas circunstâncias que a API JSON.
API JSON
Os seguintes métodos exigem que você especifique um projeto:
- Listar buckets
- Inserir bucket
- Receber agente de serviço do projeto
- Todos os métodos associados ao recurso de chave HMAC
O projeto é enviado como um parâmetro no URL de solicitação, como neste exemplo:
GET https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER
Para indicar um projeto a ser cobrado pelo acesso ao bucket, use o parâmetro de consulta "userProject", junto com um identificador de projeto, como no exemplo a seguir:
GET https://storage.googleapis.com/storage/v1/b?userProject=PROJECT_IDENTIFIER
Esse parâmetro de consulta é necessário para acessar um bucket com pagamentos do solicitante ativados. Fora desse contexto, ele é opcional.
API XML
As solicitações a seguir exigem que você especifique um projeto, a menos que tenha definido um projeto padrão para acesso interoperável:
O projeto associado a essas solicitações de API XML é especificado no cabeçalho HTTP x-goog-project-id, como neste exemplo:
x-goog-project-id: PROJECT_ID
O cabeçalho é opcional para outras solicitações da API XML.
Para indicar um projeto de cobrança pelo acesso ao bucket, use o cabeçalho "x-goog-user-project" e um ID do projeto, como neste exemplo:
x-goog-user-project: PROJECT_ID
Esse cabeçalho é necessário ao acessar um bucket com pagamentos do solicitante ativados. Do contrário, é opcional.
Projetos e permissões
Para cada projeto, você usa o gerenciamento de identidade e acesso (IAM, na sigla em inglês) para conceder a capacidade de gerenciar e trabalhar no seu projeto. Quando você concede um papel do IAM a um principal, como uma Conta do Google, ele recebe determinadas permissões que o autorizam a executar ações. Quando você concede um papel no nível do projeto, o acesso fornecido pelo papel se aplica a todos os buckets e objetos dentro do projeto. Como alternativa, se você conceder um papel para um bucket individual, o acesso fornecido pelo papel será limitado apenas a esses bucket e aos objetos que ele contém.
Para uma lista de papéis disponíveis que se aplicam ao Cloud Storage e uma discussão sobre como um conjunto especial de papéis, chamados de papéis básicos, são aplicáveis ao Cloud Storage, consulte Papéis do IAM para o Cloud Storage.
Para instruções sobre como visualizar, conceder e revogar os papéis de um principal no nível do bucket e do projeto, consulte Como usar o IAM com projetos.
Contas de serviço
As contas de serviço permitem que os aplicativos autentiquem e acessem recursos e serviços doGoogle Cloud . Por exemplo, é possível criar uma conta de serviço que as instâncias do Compute Engine usam para acessar objetos armazenados em buckets do Cloud Storage. As contas de serviço são criadas dentro de um projeto e têm um endereço de e-mail exclusivo que as identifica.
Veja a seguir exemplos de ações relacionadas ao Cloud Storage que costumam ser realizadas por contas de serviço que você cria e gerencia:
- Realizar transferências do Serviço de transferência do Cloud Storage.
- Como mover dados de e para instâncias do Cloud SQL.
- Criar URLs assinados.
Agentes de serviço
Um agente de serviço é um tipo especial de conta de serviço que atua em nome de um serviço do Google Cloud . O Cloud Storage usa um agente de serviço para os seguintes recursos:
O agente de serviço do Cloud Storage não está inicialmente disponível quando você cria um projeto. Em vez disso, ele é ativado automaticamente na primeira vez que é acessado, seja por um dos recursos listados anteriormente ou quando você solicita o nome do agente de serviço. É necessário ativar a conta de serviço antes de atribuir permissões a ela.
Veja a seguir um exemplo de endereço de e-mail para o agente de serviço do Cloud Storage associado ao número do projeto 123456789876:
service-123456789876@gs-project-accounts.iam.gserviceaccount.com
Exclusões de projetos
Quando você exclui (encerra) um projeto, os buckets do Cloud Storage e os objetos neles também são excluídos, a menos que estejam protegidos por exclusão reversível. Para proteger seus dados caso um projeto seja excluído de forma acidental ou maliciosa, recomendamos que você ative a exclusão reversível nos buckets:
Se você excluir o projeto, qualquer bucket com a exclusão reversível ativada será retido pelo período de retenção da exclusão reversível ou pela janela de recuperação do projeto doGoogle Cloud , o que for menor. Após esse período, o bucket é excluído permanentemente.
Se você restaurar um projeto excluído, os buckets serão restaurados para o estado em que estavam quando o projeto foi excluído. Por exemplo, os buckets que estavam ativos quando o projeto foi excluído são restaurados como buckets ativos.
Os buckets que não estão protegidos pela exclusão reversível podem ser excluídos imediatamente quando um projeto é excluído e talvez não possam ser restaurados.
Também recomendamos as seguintes estratégias para proteger seus dados contra exclusões de projetos:
Limite o acesso à exclusão no nível do projeto colocando uma garantia nos seus projetos.
Faça backup de dados críticos para os negócios em buckets de um projeto diferente.
Para mais informações sobre as opções de proteção e recuperação de dados, consulte Opções de proteção, backup e recuperação de dados.
A seguir
- Conclua um dos Guias de início rápido do Cloud Storage.
- Saiba como criar um novo projeto e gerenciar projetos existentes.
- Saiba como usar o console do Google Cloud para gerenciar seus dados.
- Gerencie as contas de serviço do seu projeto.