O KMS oferece três categorias de SDK: Alibaba Cloud SDK, Secret SDKs 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 services cloud. Com ele, desenvolvedores criam aplicações rapidamente sobre a infraestrutura da Alibaba Cloud. O SDK suporta operações de API de gerenciamento e de negócios. Linguagens suportadas: 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 Supported OpenAPI.
Operações de gerenciamento: gerenciam chaves padrão e instâncias do KMS, incluindo criação de chaves, segredos e instâncias, além da alteração de 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 chaves de dados, geração e verificação de assinaturas digitais.
Recuperação de valores de segredo: obtém valores de segredo diretamente 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 Retry requests with exponential backoff.
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. 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 valores de segredo e operações criptográficas da API do KMS |
Secret SDKs
Os Secret SDKs encapsulam a API do KMS e a API de Instância do KMS com cache e atualização integrados de segredos, garantindo alta estabilidade e facilitando a integração. Estes SDKs servem exclusivamente para recuperar segredos. Existem três tipos disponíveis: cliente de segredos, cliente JDBC (Java Database Connectivity) de segredos e plug-in de segredos do Resource Access Management (RAM). Linguagens suportadas: Java 8+, Python e Go. Para mais informações, consulte Credentials SDK.
Tipos de Secret SDKs
|
Tipo de SDK |
Descrição |
|
|
|
|
|
APIs suportadas
Os Secret SDKs servem apenas para recuperar valores de segredo por meio da API do KMS ou da API de Instância do KMS. Não recomendamos o uso da API de Instância do KMS. Para gerencie 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 Retry requests with exponential backoff.
Tipos de gateway suportados
Os Secret SDKs recuperam valores de segredo por meio de gateways compartilhados ou dedicados. Gateways compartilhados aceitam autenticação RAM ou 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 valores de segredo da API do KMS |
|
Autenticação AAP (não recomendada) |
Recuperação de valores de segredo da API de Instância do KMS |
||
|
Gateway dedicado |
|
Autenticação AAP (não recomendada) |
Recuperação de valores 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 suportadas: 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 service do KMS): endereço de rede global do KMS, acessível via Internet ou VPCs. Os endpoints variam conforme a região. Por exemplo, os endpoints da china (Hangzhou) são kms.cn-hangzhou.aliyuncs.com e kms-vpc.cn-hangzhou.aliyuncs.com. Para mais informações, consulte Operations.
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 a endpoints de gateway dedicado ocorre exclusivamente via rede privada. Estes 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 do RAM, tokens do Security Token Service (STS), funções do 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. Existem dois modos disponíveis: configuração de gateway dedicado e configuração de gateway compartilhado. Configure o AAP seguindo as instruções em AAP authentication.