Todos os produtos
Search
Central de documentação

Key Management Service:Visão geral do SDK

Última atualização: Jun 27, 2026

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

image

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.

image

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.

Importante

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

  • Requer operações do plano de controle (gerenciamento de chaves, credenciais ou instâncias).

  • Implantado fora de VPCs do Alibaba Cloud.

  • Ambientes fora de produção (testes internos).

Todas as OpenAPIs

Gateway dedicado

  • Implantado em uma VPC do Alibaba Cloud.

  • Operações frequentes no plano de dados (criptografia/descriptografia, recuperação de credenciais).

  • Altos requisitos de segurança para dados corporativos.

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.

image

Tipos de Credentials SDK

Tipo de SDK

Descrição

Credential Client

  • Compatível com todos os tipos de credenciais.

  • Recupere credenciais com uma única linha de código.

  • Inclui cache de credenciais integrado e atualização automática.

Credential JDBC Client

  • Requer Java 8 ou superior.

  • Compatível apenas com credenciais do RDS e credenciais genéricas no formato {\"AccountName\":\"\",\"AccountPassword\":\"\"}.

  • Indicado para autenticação de banco de dados via JDBC, pools de conexão (c3p0, DBCP) ou frameworks de banco de dados. Permite definir intervalos personalizados de atualização.

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

  • A performance na recuperação de credenciais não é crítica.

  • Implantado fora de VPCs do Alibaba Cloud.

  • Ambientes fora de produção (testes internos).

Gateway dedicado

  • Implantado em uma VPC do Alibaba Cloud.

  • Operações frequentes de recuperação de credenciais.

  • Altos requisitos de segurança para dados corporativos.

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.

image

Endpoints para tipos de gateway

O KMS disponibiliza dois formatos de endpoint:

  • Endpoint de gateway compartilhado (endpoint do serviço KMS): Endereço global do KMS, acessível pela internet pública ou via VPC.

    • Formato: kms.<region-id>.cryptoservice.kms.aliyuncs.com. IDs de região disponíveis: Regiões e zonas.

    • Exemplo: Para China (Hangzhou), o endpoint público é kms.cn-hangzhou.aliyuncs.com e o endpoint de VPC é kms-vpc.cn-hangzhou.aliyuncs.com.

  • 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.

    Importante

    O 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

Aviso

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.

  1. Faça login no console do RAM. Na página Users, clique em no nome do usuário RAM desejado.

  2. Na aba Authentication, na seção AccessKey, clique em em Create AccessKey e siga as instruções na tela.

  3. 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.

      Nota

      També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.

  1. 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).

  2. 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.

      Nota

      També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.

  3. Faça login no console do ECS e anexe a função RAM a uma instância ECS.image

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.

  1. Crie um par de AccessKey de usuário

    1. Faça login no console do RAM. No painel de navegação à esquerda, escolha Identities > Users. Na página Users, clique em no nome do usuário RAM desejado.

    2. Anexe a política de sistema AliyunSTSAssumeRoleAccess ou uma política personalizada que inclua a ação sts:AssumeRole ao usuário RAM.

    3. Na aba Authentication, na seção AccessKey, clique em em Create AccessKey e siga as instruções na tela.

  2. Crie e autorize uma função RAM:

    1. No painel de navegação à esquerda, escolha Identities > Roles. Na página Roles, clique em em Create Role. Para mais informações, consulte Criar uma função RAM.

    2. 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.

        Nota

        També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.

  3. Obtenha o RamRoleArn da função RAM desejada. Para mais informações, consulte Visualizar informações de uma função RAM.

    1. No painel de navegação à esquerda, escolha Identities > Roles. Na página Roles, clique em no nome da função desejada.

    2. Na página de detalhes da função, localize o RamRoleArn na seção ARN.

      Nota

      O 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.

  1. 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.

  2. Conceda a permissão AliyunSTSAssumeRoleAccess ao 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.

  3. 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.

      Nota

      També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.

  4. 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

  1. Criar um provedor OIDC

    1. Faça login no console do RAM como administrador do RAM. Na página SSO, clique em na aba Role-based SSO.

    2. Na aba OIDC, clique em em Create IdP.

    3. Na página Create IdP, configure as informações do provedor. Para mais informações, consulte Gerenciar provedores OIDC.

  2. Obter e salvar as informações de identidade OIDC (ARN e Client ID)

    1. Acesse a página SSO e, na aba IdP, clique em no nome do provedor OIDC desejado.

    2. Na página de detalhes do IdP, visualize o ARN e o Client ID.

  3. Criar e autorizar uma função RAM para o provedor OIDC

    1. Faça login no console do RAM como administrador do RAM e acesse a página Identities > Roles.

    2. Clique em em Create Role. No canto superior direito da página de criação, clique em em Switch to Policy Editor.

    3. No editor de políticas, especifique o provedor OIDC. Selecione o editor visual e configure os parâmetros conforme descrito abaixo.

      Nota

      Para informações sobre outros modos, consulte Criar uma função RAM para um provedor de identidade OIDC.

      1. Na seção Select Trusted Entity, selecione IdP.

      2. Na seção Edit Trust Policy, configure os seguintes parâmetros.

        • IdP Type: Selecione OIDC.

        • IdP: Selecione o provedor OIDC criado anteriormente.

  4. 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.

      Nota

      Polí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.

  5. Obter o ARN da função OIDC desejada

    1. Na página Identities > Roles, clique em no nome da função desejada.

    2. Na página de detalhes da função, localize o ARN da função OIDC na seção ARN.

      Nota

      O 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.

  6. 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.

  7. AAP authentication (not recommended)

    Shared gateway configuration

    1. 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 Application Access > Multi-Cloud Access (formerly AAP).

    2. (Opcional) Crie uma regra de rede.

      Nota

      A 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.

      1. Clique em na aba Network Access Rules e depois clique em em Create Network Access Rule.

      2. No painel Create Network Access Rule, defina Network Type como Public, insira os Allowed Source IP Addresses e clique em em OK.

    3. Crie uma política de permissão.

      1. Clique em na aba Policies e depois clique em em Create Policy.

      2. No painel Create Policy, configure os parâmetros para o gateway compartilhado conforme descrito abaixo e clique em em OK.

        1. Scope: Shared KMS Gateway

        2. Accessible Resources: Selecione os segredos que deseja acessar.

        3. (Opcional) Network Access Rules: Selecione a regra de rede criada na etapa anterior.

    4. Crie um application access point (AAP).

      1. Clique em na aba Application Access e depois clique em em Create AAP.

      2. 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

        Importante

        Recomendamos 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.

      3. 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.

    5. 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.

      • 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.

        1. 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 Application Access > Multi-Cloud Access (formerly AAP).

        2. 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.

        3. 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.

        1. 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:

          1. Ao configurar regras de rede, selecione Private para o tipo de rede.

          2. Ao configurar o escopo da regra de permissão, selecione o KMS Instance ID correspondente.

        2. Após a criação, seu navegador baixa automaticamente o ClientKey, que inclui:

          • Credential (ClientKeyContent): O arquivo é nomeado como clientKey_****.json por padrão.

          • Senha da credencial (ClientKeyPassword): O arquivo é nomeado como clientKey_****_Password.txt por padrão.