O KMS oferece três categorias de SDK: Alibaba Cloud SDK, SDKs de Segredos e KMS Instance SDK (não recomendado). Escolha o SDK conforme seu cenário de integração, requisitos de autenticação e tipo de gateway.
Fluxograma de integração de SDK
Alibaba Cloud SDK
O Alibaba Cloud SDK é um pacote de dependências para chamar APIs de serviços em nuvem. Com ele, os desenvolvedores criam aplicações sobre a infraestrutura da Alibaba Cloud de forma ágil. O SDK suporta operações de API de gerenciamento e de negócios. Linguagens compatíveis: Java, Python, C++, PHP, .NET (apenas C#), Go, TypeScript e Swift. Para mais informações, consulte Alibaba Cloud SDK.
Operações de API suportadas
O Alibaba Cloud SDK suporta operações de gerenciamento e de negócios da API do KMS. A lista completa está disponível em OpenAPI suportadas.
Operações de gerenciamento: gerenciam chaves padrão e instâncias do KMS, como criar chaves, segredos e instâncias, além de alterar tags de chave.
-
Operações de negócios:
Operações criptográficas: criptografia e descriptografia simétrica e assimétrica, criptografia de envelope, geração de chave de dados, além de geração e verificação de assinatura digital.
Recuperação de valor de segredo: recupera valores de segredo das instâncias do KMS.
Em produção, implemente políticas de nova tentativa e cache de segredos para evitar falhas de recuperação causadas por instabilidade na rede. Para mais informações, consulte Novas tentativas de solicitação com backoff exponencial.
Tipos de gateway suportados
O Alibaba Cloud SDK acessa a API do KMS e a API de Instância do KMS por meio de gateways compartilhados ou dedicados. As operações de gerenciamento estão disponíveis apenas em gateways compartilhados. Já as operações de negócios funcionam em ambos os tipos.
|
Tipo de gateway |
Cenário recomendado |
Autenticação |
Operação de API suportada |
|
Gateway compartilhado |
|
Autenticação RAM |
Todas as operações da API do KMS |
|
Gateway dedicado |
|
Autenticação RAM |
Recuperação de valor de segredo e operações criptográficas da API do KMS |
SDKs de Segredos
Os SDKs de Segredos encapsulam a API do KMS e a API de Instância do KMS com cache e atualização integrados de segredos, oferecendo alta estabilidade e fácil integração. Esses SDKs servem exclusivamente para recuperar segredos. Existem três tipos disponíveis: o cliente de segredos, o cliente JDBC (Java Database Connectivity) de segredos e o plug-in de segredos do Resource Access Management (RAM). Linguagens compatíveis: Java 8+, Python e Go. Para mais informações, consulte Credentials SDK.
Tipos de SDKs de Segredos
|
Tipo de SDK |
Descrição |
|
|
|
|
|
APIs suportadas
Os SDKs de Segredos servem apenas para recuperar valores de segredo por meio da API do KMS ou da API de Instância do KMS. O uso da API de Instância do KMS não é recomendado. Para gerenciar segredos, utilize o Alibaba Cloud SDK.
Em produção, implemente políticas de nova tentativa e cache de segredos para evitar falhas de recuperação causadas por instabilidade na rede. Para mais informações, consulte Novas tentativas de solicitação com backoff exponencial.
Tipos de gateway suportados
Os SDKs de Segredos recuperam valores de segredo por meio de gateways compartilhados ou dedicados. Gateways compartilhados aceitam autenticação RAM ou autenticação por Application Access Point (AAP) para chamadas à API do KMS. Gateways dedicados aceitam apenas autenticação AAP para chamadas à API de Instância do KMS.
|
Tipo de gateway |
Cenário recomendado |
Autenticação |
Operação de API suportada |
|
Gateway compartilhado |
|
Autenticação RAM |
Recuperação de valor de segredo da API do KMS |
|
Autenticação AAP (não recomendada) |
Recuperação de valor de segredo da API de Instância do KMS |
||
|
Gateway dedicado |
|
Autenticação AAP (não recomendada) |
Recuperação de valor de segredo da API de Instância do KMS |
KMS Instance SDK (não recomendado)
O KMS Instance SDK acessa endpoints de gateway dedicado para executar operações criptográficas e recuperar valores de segredo. Linguagens compatíveis: Java 8+, PHP, Go, Python e .NET (apenas C#). Para mais informações, consulte KMS Instance SDK.
Endpoints de gateway e autenticação
Endpoints de gateway
O KMS disponibiliza dois tipos de endpoints:
Endpoint de gateway compartilhado (endpoint de serviço do KMS): endereço de rede global do KMS, acessível pela Internet ou por VPCs. Os endpoints variam conforme a região. Por exemplo, os endpoints da região China (Hangzhou) são kms.cn-hangzhou.aliyuncs.com e kms-vpc.cn-hangzhou.aliyuncs.com. Para mais informações, consulte Operações.
Endpoint de gateway dedicado (também conhecido como endpoint de instância do KMS): endereço de rede de uma instância específica do KMS. O acesso aos endpoints de gateway dedicado ocorre exclusivamente por rede privada. Esses endpoints seguem o formato
{The ID of the KMS instance}.cryptoservice.kms.aliyuncs.com.
Autenticação
O KMS suporta autenticação RAM e AAP. Gateways compartilhados aceitam ambos os métodos. Gateways dedicados suportam apenas autenticação AAP.
Autenticação RAM: funções RAM, tokens do Security Token Service (STS), funções RAM de instâncias do Elastic Compute Service (ECS) e pares de AccessKey.
Autenticação AAP (não recomendada): crie um AAP, baixe e salve a chave do cliente, que inclui ClientKeyContent e ClientKeyPassword. Dois modos estão disponíveis: configuração de gateway dedicado e configuração de gateway compartilhado. Configure o AAP seguindo as instruções em Autenticação AAP.