Como acessar a API

Os clientes acessam o Google Cloud Key Management Service pela nossa API REST. Assim, qualquer idioma compatível com o envio de solicitações HTTP pode acessar a API. No entanto, muitos usuários preferem uma biblioteca de cliente mais idiomática.

A longo prazo, queremos que os clientes usem o gRPC, com melhorias substanciais no desempenho. No entanto, alguns desenvolvedores podem estar mais familiarizados com as Bibliotecas de cliente da API do Google atuais. Por isso, recomendamos o uso das bibliotecas baseadas na nossa API REST.

Há também uma interface baseada na Web para o Cloud KMS no Console do Google Cloud, que permite operações de gerenciamento de chaves. As operações de criptografia e descriptografia não são executadas a partir da interface da Web.

Nosso objetivo é facilitar o acesso de todos os idiomas e plataformas ao Cloud KMS. Esse será um trabalho contínuo. Se de alguma forma ainda não atingimos as expectativas, avise-nos.

Plataformas

A forma como os clientes acessam a API varia um pouco dependendo da plataforma em que o código é executado, particularmente no que diz respeito à autenticação. As credenciais padrão do aplicativo do Google abstraem muitas das diferenças, mas ainda há coisas a serem levadas em consideração.

Compute Engine e Google Kubernetes Engine

O software em execução no Compute Engine, incluindo os nós do Google Kubernetes Engine, normalmente é autenticado usando credenciais provisionadas automaticamente no ambiente usando a conta de serviço padrão. O mesmo acontece com o Cloud KMS. Basta garantir que, ao criar uma instância, você conceda a ela acesso ao escopo https://www.googleapis.com/auth/cloudkms (preferencial porque ele é compatível com o princípio do menor privilégio) ou o escopo do OAuth https://www.googleapis.com/auth/cloud-platform.

Exemplo:

gcloud compute instances create "instance-1" \
    --zone "us-east1-b" \
    --scopes "https://www.googleapis.com/auth/cloudkms"

Para mais informações, consulte a documentação do Compute Engine ou a documentação do GKE.

App Engine

Para usar o Cloud KMS com o App Engine:

  1. Forneça suas permissões do Cloud Identity and Access Management da conta de serviço do App Engine (PROJECT_NAME@appspot.gserviceaccount.com) para gerenciar e/ou usar suas chaves.
  2. Use o Application Default Credentials e especifique o escopo https://www.googleapis.com/auth/cloudkms. Também é possível especificar o escopo https://www.googleapis.com/auth/cloud-platform, mas ele inclui escopos mais amplos do que apenas o Cloud KMS.

Para mais informações, consulte Como acessar a API e Como controlar o acesso na documentação do App Engine.

Ambiente de produção local

Para seu ambiente de produção local, a maneira recomendada de autenticação em uma API do Google Cloud, incluindo o Cloud KMS, é usar uma conta de serviço. Para saber como usar uma conta de serviço, consulte Primeiros passos com a autenticação.

Autenticação do cliente

Se for preciso que o aplicativo autentique os usuários diretamente, consiga e use credenciais em nome deles. Para saber mais, consulte Autenticação como usuário final.

Estação de trabalho do desenvolvedor

A autenticação com uma conta de serviço também é recomendada para a estação de trabalho do desenvolvedor. Para informações sobre como usar uma conta de serviço, consulte Primeiros passos com a autenticação.

Ambiente de produção não gerenciado pelo Google

Para um ambiente não gerenciado pelo Google, você precisará:

  1. criar uma conta de serviço;
  2. fazer o download de um arquivo de chave JSON para essa conta de serviço;
  3. provisionar de alguma forma esse arquivo de chave no seu ambiente de produção;
  4. carregar as credenciais do arquivo de chave em seu código.

Esse processo é descrito em detalhes na documentação do Cloud Identity (em inglês).