O KMS oferece três tipos de SDK: Alibaba Cloud SDK, Credentials SDK e KMS Instance SDK (não recomendado). Este tópico compara seus recursos, métodos de autenticação, APIs compatíveis e tipos de gateway.
Fluxo de integração do SDK
Alibaba Cloud SDK
O Alibaba Cloud SDK encapsula as OpenAPIs do Alibaba Cloud e oferece suporte a APIs do plano de controle (gerenciamento de chaves, credenciais e instâncias) e do plano de dados (operações criptográficas e recuperação de credenciais). Está disponível para Java, Python, C++, PHP, .NET (apenas C#), Go, TypeScript e Swift. Para mais informações, consulte Alibaba Cloud SDK.
APIs compatíveis
Use o Alibaba Cloud SDK para chamar OpenAPIs dos planos de controle e de dados. Consulte OpenAPIs compatíveis com o Alibaba Cloud SDK.
Operações do plano de controle: Gerenciam chaves padrão e instâncias do KMS. Permitem criar chaves, credenciais ou instâncias e modificar tags.
-
Operações do plano de dados:
Operações criptográficas: criptografia e descriptografia simétrica e assimétrica, criptografia de envelope, geração de chave de dados, assinatura digital e verificação de assinatura.
Recuperação de credenciais: obtém os valores das credenciais armazenadas em uma instância do KMS.
Em produção, implemente retentativas de erro e cache de credenciais para lidar com flutuações de rede. Para estratégias de nova tentativa, consulte Retentar solicitações com backoff exponencial.
Tipos de gateway compatíveis
O Alibaba Cloud SDK é compatível com gateways compartilhados e dedicados. As operações do plano de controle exigem gateways compartilhados; as operações do plano de dados funcionam em ambos.
|
Tipo de gateway |
Cenário recomendado |
APIs compatíveis |
|
Gateway compartilhado |
Todas as OpenAPIs |
|
|
Gateway dedicado |
|
Operações criptográficas e recuperação de credenciais - OpenAPI |
Credentials SDK
O Credentials SDK fornece cache de credenciais na aplicação e atualização automática exclusivamente para recuperação de credenciais. Existem três variantes: Credential Client, Credential JDBC Client e RAM Credential Plugin. Disponível para Java (8+), Python e Go. Para mais informações, consulte Credentials SDK.
Tipos de Credentials SDK
|
Tipo de SDK |
Descrição |
|
Credential Client |
|
|
Credential JDBC Client |
|
|
RAM Credential Plugin |
|
APIs compatíveis
O Credentials SDK é compatível apenas com operações de recuperação de credenciais. Para gerenciamento de credenciais (plano de controle), use o Alibaba Cloud SDK.
Tipos de gateway compatíveis
O Credentials SDK recupera credenciais por meio de gateways compartilhados ou dedicados.
|
Tipo de gateway |
Cenário recomendado |
|
Gateway compartilhado |
|
|
Gateway dedicado |
|
KMS Instance SDK (não recomendado)
O KMS Instance SDK acessa endpoints de gateway dedicado para operações criptográficas e recuperação de credenciais. Disponível para Java (8+), PHP, Go, Python e .NET (apenas C#). Para detalhes, consulte KMS Instance SDK.
Endpoints para tipos de gateway
O KMS disponibiliza dois formatos de endpoint:
-
Endpoint de gateway dedicado (endpoint da instância KMS): Endereço de uma instância específica do KMS, acessível apenas por redes privadas.
Formato:
<kms-instance-id>.cryptoservice.kms.aliyuncs.com.Exemplo:
kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com.
Autenticação e autorização
O KMS é compatível com autenticação RAM e autenticação AAP (Application Access Point). Gateways compartilhados aceitam ambos os métodos; gateways dedicados aceitam apenas AAP.
-
Autenticação RAM: Usa funções do RAM, tokens STS, funções RAM do ECS, AccessKeys e outros métodos descritos em Gerenciar credenciais de acesso.
ImportanteO acesso a uma instância por meio de um gateway dedicado com autenticação RAM exige um certificado CA.
Autenticação AAP (não recomendada): Crie um Application Access Point e baixe o arquivo ClientKey, que contém a Credential (ClientKeyContent) e a senha da credencial (ClientKeyPassword).
RAM Authentication
AccessKey
Por padrão, uma conta Alibaba Cloud tem permissões de administrador sobre todos os recursos, e isso não pode ser alterado. Para garantir a segurança dos recursos, recomendamos usar um usuário RAM para criar um par de AccessKey e conceder apenas as permissões necessárias.
Faça login no console do RAM. Na página Users, clique em no nome do usuário RAM desejado.
Na aba Authentication, na seção AccessKey, clique em em Create AccessKey e siga as instruções na tela.
-
Conceda ao usuário RAM permissões para acessar o KMS.
-
Método 1: Configurar uma política baseada em identidade
Na coluna Actions do usuário RAM, clique em em Grant Permission para anexar uma política de permissão de sistema integrada do KMS ao usuário RAM. Para mais informações sobre as políticas de permissão de sistema do KMS, consulte Políticas de sistema para KMS.
NotaTambém é possível criar políticas de permissão personalizadas. Para mais informações, consulte Criar uma política personalizada.
-
Método 2: Configurar uma política baseada em recurso
O KMS é compatível com políticas baseadas em recursos que concedem permissões de acesso para chaves e segredos individuais. Use essas políticas para controlar quais contas Alibaba Cloud, usuários RAM e funções RAM podem gerenciar ou usar chaves e segredos do KMS. Para mais informações, consulte Políticas de chave e Políticas de segredo.
-
ECS RAM Role
Uma função RAM de instância ECS permite obter uma credencial de acesso temporária (token STS) de dentro de uma instância ECS para chamar operações da API do KMS, sem precisar configurar um par de AccessKey.
Para mais informações, consulte Funções RAM de instância.
-
Faça login no console do RAM e crie uma função RAM para um serviço confiável do Alibaba Cloud.
Tipo de Entidade Confiável: Selecione Elastic Compute Service.
Entidade confiável: Selecione Elastic Compute Service (ECS).
-
Conceda à função RAM permissões para acessar o KMS.
-
Método 1: Configurar uma política baseada em identidade
Na coluna Actions da função RAM, clique em em Grant Permission para anexar uma política de permissão de sistema integrada do KMS à função RAM. Para mais informações sobre as políticas de permissão de sistema do KMS, consulte Políticas de sistema para KMS.
NotaTambém é possível criar políticas de permissão personalizadas. Para mais informações, consulte Criar uma política personalizada.
-
Método 2: Configurar uma política baseada em recurso
O KMS é compatível com políticas baseadas em recursos que concedem permissões de acesso para chaves e segredos individuais. Use essas políticas para controlar quais contas Alibaba Cloud, usuários RAM e funções RAM podem gerenciar ou usar chaves e segredos do KMS. Para mais informações, consulte Políticas de chave e Políticas de segredo.
-
Faça login no console do ECS e anexe a função RAM a uma instância ECS.

AccessKey + RamRoleArn
Usuários RAM ou serviços de nuvem podem assumir uma função para obter permissões temporárias (token STS) em vez de usar chaves de longo prazo, o que reduz o risco de vazamento de chaves. Por exemplo, em uma tarefa temporária de processamento de dados, um usuário RAM ou serviço de nuvem assume temporariamente uma função com um RamRoleArn específico. Após a conclusão da tarefa, as permissões da função são revogadas, minimizando o risco de exposição.
-
Crie um par de AccessKey de usuário
Faça login no console do RAM. No painel de navegação à esquerda, escolha . Na página Users, clique em no nome do usuário RAM desejado.
Anexe a política de sistema
AliyunSTSAssumeRoleAccessou uma política personalizada que inclua a açãosts:AssumeRoleao usuário RAM.Na aba Authentication, na seção AccessKey, clique em em Create AccessKey e siga as instruções na tela.
-
Crie e autorize uma função RAM:
No painel de navegação à esquerda, escolha . Na página Roles, clique em em Create Role. Para mais informações, consulte Criar uma função RAM.
-
Conceda à função RAM permissões para acessar o KMS.
-
Método 1: Configurar uma política baseada em identidade
Na coluna Actions da função RAM, clique em em Grant Permission para anexar uma política de permissão de sistema integrada do KMS à função RAM. Para mais informações sobre as políticas de permissão de sistema do KMS, consulte Políticas de sistema para KMS.
NotaTambém é possível criar políticas de permissão personalizadas. Para mais informações, consulte Criar uma política personalizada.
-
Método 2: Configurar uma política baseada em recurso
O KMS é compatível com políticas baseadas em recursos que concedem permissões de acesso para chaves e segredos individuais. Use essas políticas para controlar quais contas Alibaba Cloud, usuários RAM e funções RAM podem gerenciar ou usar chaves e segredos do KMS. Para mais informações, consulte Políticas de chave e Políticas de segredo.
-
-
Obtenha o RamRoleArn da função RAM desejada. Para mais informações, consulte Visualizar informações de uma função RAM.
No painel de navegação à esquerda, escolha . Na página Roles, clique em no nome da função desejada.
-
Na página de detalhes da função, localize o RamRoleArn na seção ARN.
NotaO RamRoleArn é o Alibaba Cloud Resource Name (ARN) da função RAM a ser assumida. O formato é
acs:ram::$accountID:role/$roleName, onde$accountIDé o ID da conta Alibaba Cloud e$roleNameé o nome da função RAM.
STS Token
O Security Token Service (STS) emite uma credencial de acesso temporária, um token STS, para um usuário RAM ou função RAM. Esse token permite o acesso ao KMS com permissões específicas por um período de validade limitado. Após a expiração, o token torna-se automaticamente inválido.
Faça login no console do RAM para criar um usuário RAM ou uma função RAM. Para mais informações, consulte Criar um usuário RAM e Criar uma função RAM.
Conceda a permissão
AliyunSTSAssumeRoleAccessao usuário RAM ou à função RAM. Para mais informações, consulte Gerenciar permissões de usuário RAM e Conceder permissões a uma função RAM.-
Conceda ao usuário RAM ou à função RAM permissões para acessar o KMS.
-
Método 1: Configurar uma política baseada em identidade
Na coluna Actions da função RAM ou do usuário, clique em em Grant Permission para anexar uma política de permissão de sistema integrada do KMS. Para mais informações sobre as políticas de permissão de sistema do KMS, consulte Políticas de sistema para KMS.
NotaTambém é possível criar políticas de permissão personalizadas. Para mais informações, consulte Criar uma política personalizada.
-
Método 2: Configurar uma política baseada em recurso
O KMS é compatível com políticas baseadas em recursos que concedem permissões de acesso para chaves e segredos individuais. Use essas políticas para controlar quais contas Alibaba Cloud, usuários RAM e funções RAM podem gerenciar ou usar chaves e segredos do KMS. Para mais informações, consulte Políticas de chave e Políticas de segredo.
-
Use o usuário RAM ou a função RAM para chamar a operação STS AssumeRole e obter uma credencial de acesso STS temporária. Para mais informações, consulte AssumeRole.
OIDC Role ARN
-
Criar um provedor OIDC
Faça login no console do RAM como administrador do RAM. Na página SSO, clique em na aba Role-based SSO.
Na aba OIDC, clique em em Create IdP.
Na página Create IdP, configure as informações do provedor. Para mais informações, consulte Gerenciar provedores OIDC.
-
Obter e salvar as informações de identidade OIDC (ARN e Client ID)
Acesse a página SSO e, na aba IdP, clique em no nome do provedor OIDC desejado.
Na página de detalhes do IdP, visualize o ARN e o Client ID.
-
Criar e autorizar uma função RAM para o provedor OIDC
Faça login no console do RAM como administrador do RAM e acesse a página .
Clique em em Create Role. No canto superior direito da página de criação, clique em em Switch to Policy Editor.
-
No editor de políticas, especifique o provedor OIDC. Selecione o editor visual e configure os parâmetros conforme descrito abaixo.
NotaPara informações sobre outros modos, consulte Criar uma função RAM para um provedor de identidade OIDC.
Na seção Select Trusted Entity, selecione IdP.
-
Na seção Edit Trust Policy, configure os seguintes parâmetros.
IdP Type: Selecione OIDC.
IdP: Selecione o provedor OIDC criado anteriormente.
-
Conceder à função RAM OIDC permissões para acessar o KMS
-
Método 1: Configurar uma política baseada em identidade
Retorne à página de lista Identities > Roles e clique em em Grant Permission na coluna Actions da função OIDC desejada para anexar diretamente uma política de permissão de sistema integrada do KMS à função RAM. Para mais informações sobre as políticas de permissão de sistema integradas do KMS, consulte Referência de política de permissão de sistema do Key Management Service.
NotaPolíticas de permissão personalizadas também são compatíveis. Para mais informações, consulte Criar uma política personalizada.
-
Método 2: Configurar uma política baseada em recurso
O KMS é compatível com políticas baseadas em recursos que concedem permissões de acesso para chaves e segredos individuais. Use essas políticas para controlar quais contas Alibaba Cloud, usuários RAM e funções RAM podem gerenciar ou usar chaves e segredos do KMS. Para mais informações, consulte Políticas de chave e Políticas de segredo.
-
-
Obter o ARN da função OIDC desejada
Na página , clique em no nome da função desejada.
-
Na página de detalhes da função, localize o ARN da função OIDC na seção ARN.
NotaO Role ARN é o ARN da função RAM a ser assumida. O formato é
acs:ram::$accountID:role/$roleName, onde$accountIDé o ID da conta Alibaba Cloud e$roleNameé o nome da função RAM.
-
Emitir e salvar o arquivo de token OIDC
O Alibaba Cloud não é compatível com login OIDC direto pelo console, mas você pode concluir o processo de SSO OIDC programaticamente. A obtenção de um token OIDC envolve um fluxo OAuth, geralmente por meio de um processo padrão OAuth 2.0 do provedor de identidade OIDC (IdP).
Por exemplo: quando uma aplicação é executada em um cluster ACK com RRSA ativado, o cluster cria e monta automaticamente o arquivo de token OIDC da conta de serviço correspondente para o pod da aplicação.
Faça login no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha .
-
(Opcional) Crie uma regra de rede.
NotaA configuração de uma regra de rede para restringir o acesso por endereço IP de origem é opcional. No entanto, recomendamos configurar uma para maior segurança.
Clique em na aba Network Access Rules e depois clique em em Create Network Access Rule.
No painel Create Network Access Rule, defina Network Type como Public, insira os Allowed Source IP Addresses e clique em em OK.
-
Crie uma política de permissão.
Clique em na aba Policies e depois clique em em Create Policy.
-
No painel Create Policy, configure os parâmetros para o gateway compartilhado conforme descrito abaixo e clique em em OK.
Scope: Shared KMS Gateway
Accessible Resources: Selecione os segredos que deseja acessar.
(Opcional) Network Access Rules: Selecione a regra de rede criada na etapa anterior.
-
Crie um application access point (AAP).
Clique em na aba Application Access e depois clique em em Create AAP.
-
No painel Create AAP, defina Mode como Standard Creation e configure os parâmetros conforme descrito abaixo.
Parâmetro
Descrição
Authentication Method
Selecione ClientKey.
Encryption Password
Insira uma string de 8 a 64 caracteres contendo dígitos, letras e caracteres especiais:
~!@#$%^&*?_-.Validity Period
ImportanteRecomendamos definir o período de validade para um ano a fim de reduzir o risco de vazamento do ClientKey. Certifique-se de rotacionar o ClientKey antes que ele expire para evitar interrupções no serviço. Para mais informações, consulte Rotacionar um ClientKey.
Policies
Selecione a política de permissão criada na etapa anterior.
-
Clique em em OK. O navegador baixará automaticamente o ClientKey. O ClientKey inclui os seguintes arquivos:
Credential (ClientKeyContent): O nome padrão do arquivo é
clientKey_****.json.Senha da credencial (ClientKeyPassword): O nome padrão do arquivo é
clientKey_****_Password.txt.
-
Método 1: Quick Create
Este método é prático e eficiente, adequado para testes rápidos e desenvolvimento. A credencial de acesso criada dessa forma tem acesso total a todos os recursos na instância do KMS.
Faça login no console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha .
-
Na aba Application Access, clique em em Create AAP. No painel Create AAP, configure os parâmetros.
Parâmetro
Descrição
Mode
Selecione Quick Creation.
Scope (KMS Instance)
Selecione a instância do KMS que sua aplicação precisa acessar.
Application Access Point Name
Insira um nome para o application access point.
Authentication Method
Definido como ClientKey e não pode ser alterado.
Credential encryption algorithm
Selecione o algoritmo de criptografia usado para criptografar o ClientKey. Valores válidos: TripleDES-CBC e RC2-CBC (padrão).
Default Permission Policy
O valor é
key/*secret/*e não pode ser alterado. Isso significa que a aplicação pode acessar todas as chaves e segredos na instância do KMS especificada. -
Clique em em OK. O navegador baixará automaticamente o ClientKey. O ClientKey inclui os seguintes arquivos:
Credential (ClientKeyContent): O nome padrão do arquivo é
clientKey_****.json.Senha da credencial (ClientKeyPassword): O nome padrão do arquivo é
clientKey_****_Password.txt.
-
Método 2: Standard Create
Se você precisar configurar permissões de acesso refinadas para recursos, recomendamos usar o método Standard Create.
-
Siga as instruções de Standard Create em Criar um application access point para criar um ClientKey para acessar o gateway dedicado. Os principais parâmetros estão descritos abaixo:
Ao configurar regras de rede, selecione Private para o tipo de rede.
Ao configurar o escopo da regra de permissão, selecione o KMS Instance ID correspondente.
-
Após a criação, seu navegador baixa automaticamente o ClientKey, que inclui:
Credential (ClientKeyContent): O arquivo é nomeado como
clientKey_****.jsonpor padrão.Senha da credencial (ClientKeyPassword): O arquivo é nomeado como
clientKey_****_Password.txtpor padrão.
-
AAP authentication (not recommended)
Shared gateway configuration
Dedicated gateway configuration
É possível criar um ClientKey usando o modo Quick Create ou Standard Create. Para mais informações sobre ClientKeys, consulte Application access points e Criar um application access point.