Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Tipos de credenciais compatíveis com vários casos de uso

Visão geral

Atualmente, o gsutil é compatível com vários tipos de credenciais/autenticação, além de a capacidade de acessar dados públicos de forma anônima. Cada um desses tipos de credenciais é discutido em mais detalhes abaixo, além de informações sobre como configurar e usar credenciais por meio do SDK do Cloud.

Como configurar/usar credenciais via Cloud Sdk Distribution do Gsutil

Quando a gsutil é instalada/usada por meio do SDK do Cloud ("gcloud"), as credenciais são armazenadas pelo SDK do Cloud em um arquivo não editável pelo usuário localizado em ~/.config/gcloud (qualquer manipulação de credenciais deve ser feita por meio do gcloud auth ). Se você precisar configurar várias credenciais (por exemplo, uma para uma conta de usuário individual e uma segunda para uma conta de serviço), o comando gcloud auth gerenciará as credenciais para você, e você também alternará entre credenciais usando o comando gcloud auth. Veja mais detalhes em https://cloud.google.com/sdk/gcloud/reference/auth.

Após a configuração das credenciais via gcloud auth, essas credenciais serão usadas mesmo que o usuário tenha arquivos de configuração boto (que estão localizados em ~/.boto, a menos que um caminho diferente seja especificado em BOTO_CONFIG{101 }variável do ambiente). No entanto, o gsutil procurará as credenciais no arquivo de configuração boto se for necessário usar um tipo de credencial que não seja do Cloud Storage e não estiver armazenado no armazenamento de credenciais da gcloud (por exemplo, uma credencial HMAC para uma conta S3).

Tipos de credenciais compatíveis

A gsutil é compatível com vários tipos de credenciais (o subconjunto específico depende da distribuição da gsutil que você está usando. Consulte a discussão acima.

Conta de usuário do OAuth2:

Esse é o tipo de credenciais preferencial para autenticar solicitações em nome de um usuário específico (provavelmente o uso mais comum da gsutil). Esse é o tipo de credencial padrão que será criado quando você executar "gsutil config" (ou "gcloud init" para instalações do SDK do Cloud). Para mais detalhes sobre a autenticação do OAuth2, consulte: https://developers.google.com/accounts/docs/OAuth2#scenarios

HMAC:

Esse tipo de credencial pode ser usado por programas implementados com a autenticação HMAC, que é um mecanismo de autenticação compatível com outros provedores de serviços de armazenamento em nuvem. Esse tipo de credencial também pode ser usado para uso interativo ao mover dados de/para provedores de serviços compatíveis com credenciais HMAC. Esse é o tipo de credencial que será criada quando você executar "gsutil config -a".

É possível configurar credenciais do HMAC para o Cloud Storage e outro provedor de serviços. ou configurar as credenciais da conta de usuário do OAuth2 para credenciais do Cloud Storage e HMAC para outro provedor de serviços. Para fazer isso, depois de executar o comando "gsutil config" (ou "gcloud init" para instalações do SDK do Cloud), edite o arquivo de configuração ~/.boto gerado e procure comentários sobre onde outras credenciais podem ser adicionadas.

Para mais detalhes sobre a autenticação HMAC, consulte https://developers.google.com/storage/docs/reference/v1/getting-startedv1#key.

Conta de serviço do OAuth2:

Esse é o tipo preferencial de credencial a ser usado ao autenticar um serviço ou aplicativo (e não um usuário). Por exemplo, se você executar a gsutil a partir de um cron job noturno para fazer upload/download de dados, o uso de uma conta de serviço não dependerá das credenciais de um funcionário individual na sua empresa. Esse é o tipo de credencial que será configurado quando você executar "gsutil config -e". Para configurar as credenciais da conta de serviço quando instaladas pelo Cloud SDK, execute "gcloud auth activate-service-account".

É importante observar que uma conta de serviço é considerada um editor por padrão para fins de acesso à API, e não a um Proprietário. Em particular, o fato de que os editores têm acesso de PROPRIET inRIO no objeto padrão e nas ACLs de bucket, mas as opções de ACL prontas removem o acesso de PROPRIET fromRIO dos editores, podendo gerar resultados inesperados. A solução para esse problema é usar "gsutil acl ch" em vez de "gsutil acl set {canances-ACL}" para alterar permissões em um intervalo.

Para configurar uma conta de serviço para uso com "gsutil config -e" ou "gcloud auth activate-service-account", consulte https://cloud.google.com/storage/docs/authentication#generation-a-private-key

Para mais detalhes sobre as contas de serviço do OAuth2, consulte https://developers.google.com/accounts/docs/OAuth2ServiceAccount

Para mais informações sobre papéis de conta, consulte https://developers.google.com/console/help/#DifferentRoles.

Conta de serviço interno do Google Compute Engine:

Esse é o tipo de conta de serviço usado para contas hospedadas pelo App Engine ou pelo Google Compute Engine. Essas credenciais são criadas automaticamente para você no Google Compute Engine quando você executa o comando gcloud compute instances create e as credenciais podem ser controladas com a sinalização --scopes.

Para mais detalhes sobre as contas de serviço do Google Compute Engine, consulte https://developers.google.com/compute/docs/authentication.

Para mais detalhes sobre contas de serviço do App Engine, consulte https://developers.google.com/appengine/docs/python/appidentity/overview

Falsificação da conta de serviço:

Representar uma conta de serviço é útil em cenários em que você precisa conceder acesso de curto prazo a recursos específicos. Por exemplo, se você tiver um bucket de dados confidenciais que normalmente é somente leitura e quer conceder acesso de gravação temporariamente por meio de uma conta de serviço confiável.

Para especificar qual conta de serviço usar para personificação, execute "gsutil -i", "gsutil config" e edite o arquivo de configuração boto ou "gcloud config set auth/impersonate_service_account [service_account_email_address]".

Para representar a identidade, suas credenciais originais precisam receber papéis/iam.serviceAccountTokenCreator na conta de serviço de destino. Para mais informações, acesse https://cloud.google.com/iam/docs/creating-short-Lifetime-service-account-credentials

Credenciais de conta externa (Federação de identidade da carga de trabalho):

Usando a federação de identidade da carga de trabalho, é possível acessar os recursos do Google Cloud na Amazon Web Services (AWS), no Microsoft Azure ou em qualquer provedor de identidade compatível com o OpenID Connect (OIDC) ou SAML 2.0.

Para mais informações, consulte https://cloud.google.com/iam/docs/using-workload-identity-federation (em inglês).