Recomendamos que você acesse o Cloud Key Management Service com nossas bibliotecas de cliente das APIs do Google de alto desempenho. Essas bibliotecas, que se conectam à API gRPC do Cloud KMS, são fornecidas em várias linguagens de programação conhecidas.
Você também pode acessar o Cloud KMS por meio da nossa API REST. Assim, qualquer linguagem compatível com o envio de solicitações HTTP pode acessar a API. No entanto, a maioria dos usuários prefere uma biblioteca de cliente mais idiomática.
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 consideradas.
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:
- Conceda à sua conta de serviço do
App Engine (
PROJECT_NAME@appspot.gserviceaccount.com
) permissões do gerenciamento de identidade e acesso para gerenciar e/ou usar suas chaves. - Use o Application Default Credentials e especifique o escopo
https://www.googleapis.com/auth/cloudkms
. Também é possível especificar o escopohttps://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á:
- criar uma conta de serviço;
- fazer o download de um arquivo de chave JSON para essa conta de serviço;
- provisionar de alguma forma esse arquivo de chave no seu ambiente de produção;
- 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).