Todos os produtos
Search
Central de documentação

Key Management Service:SDK Overview

Última atualização: Sep 21, 2026

O KMS oferece três tipos de SDK: Alibaba Cloud SDK, Credentials SDK e KMS Instance SDK (não recomendado). Este tópico descreve os fluxos de integração, métodos de autenticação, APIs compatíveis e tipos de gateway de cada um, para que você possa escolha o SDK mais adequado às suas necessidades de negócio.

Fluxo de integração do SDK

image

Alibaba Cloud SDK

O Alibaba Cloud SDK é um pacote de dependências que encapsula as openapi da Alibaba Cloud, ajudando desenvolvedores a crie rapidamente aplicações relacionadas à Alibaba Cloud. Ele oferece suporte tanto a API de plano de controle para chaves e credenciais quanto a API de plano de dados. Está disponível em Java, Python, C++, PHP, .NET (apenas C#), Go, TypeScript e Swift. Para mais informações, consulte Alibaba Cloud SDK.

image

API compatíveis

O Alibaba Cloud SDK permite chamar openapi para execute operações de plano de controle e operações de plano de dados do KMS. Para mais informações sobre as API compatíveis, consulte OpenAPIs supported by Alibaba Cloud SDK.

  • Operações de plano de controle: gerencie chaves padrão e instâncias do KMS — crie chaves, credenciais ou instâncias e modifique tags.

  • Operações de plano de dados:

    • Operações criptográficas: criptografia/descriptografia simétrica e assimétrica, criptografia por envelope, geração de chaves de dados, assinatura digital e verificação de assinatura.

    • Recuperação de credenciais: obtenha os valores de credenciais armazenadas em uma instância do KMS.

Importante

Em produção, implemente retentativa de erros e cache de credenciais para lidar com flutuações de rede e evitar falhas na recuperação de credenciais. Para estratégias de retentativa, consulte Retry requests with exponential backoff.

Tipos de gateway compatíveis

O Alibaba Cloud SDK oferece suporte a gateway compartilhados ou dedicados para acessar openapi e API de instância. Operações de API de plano de controle exigem gateway compartilhados, enquanto operações de API de plano de dados aceitam tanto gateway compartilhados quanto dedicados.

Tipo de gateway

Cenário recomendado

API compatíveis

gateway compartilhado

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

  • Implantação fora de VPC da Alibaba Cloud.

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

Todas as openapi

gateway dedicado

  • Implantação dentro de uma VPC da Alibaba Cloud.

  • Operações de plano de dados em alta frequência (criptografia/descriptografia, recuperação de credenciais).

  • Requisitos elevados de segurança para dados de negócio.

openapi de operações criptográficas e recuperação de credenciais

Credentials SDK

O Credentials SDK é um wrapper personalizado baseado nas openapi e API de instância do KMS. Ele fornece cache e atualização de credenciais dentro da aplicação, garantindo maior estabilidade de negócio e integração simplificada. Oferece suporte exclusivamente à recuperação de credenciais e inclui três tipos de SDK: Credential Client, Credential JDBC Client e RAM Credential Plugin. Está disponível em Java (Java 8+), Python e Go. Para mais informações, consulte Credentials SDK.

image

Tipos de Credentials SDK

SDK

Descrição

Secrets Manager Client

  • Compatível com todos os tipos de credenciais.

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

  • Cache de credenciais integrado e atualização automática para maior estabilidade do negócio.

Secrets JDBC client

  • Requer Java (Java 8 ou posterior).

  • Compatível com credenciais do RDS e credenciais genéricas no formato {"AccountName":"<database account username>","AccountPassword":"<database account password>"}.

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

RAM secret plug-in

  • Compatível apenas com credenciais RAM.

  • Requer uma versão do SDK compatível. Para mais informações, consulte Supported Alibaba Cloud SDKs.

API compatíveis

O Credentials SDK oferece suporte apenas a operações de recuperação de credenciais por meio de openapi e API de instância (não recomendado). Para gerenciamento de credenciais (plano de controle), utilize o Alibaba Cloud SDK.

Tipos de gateway compatíveis

O Credentials SDK recupera credenciais por meio de gateway compartilhados ou dedicados.

Tipo de gateway

Cenário recomendado

gateway compartilhado

  • O desempenho da recuperação de credenciais não é crítico.

  • Implantação fora de VPC da Alibaba Cloud.

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

gateway dedicado

  • Implantação dentro de uma VPC da Alibaba Cloud.

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

  • Requisitos elevados de segurança para dados de negócio.

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. Está disponível em Java (Java 8+), PHP, Go, Python e .NET (apenas C#). Para mais detalhes, consulte KMS Instance SDK.

image

Endpoints por tipo de gateway

O KMS fornece dois tipos de endpoint:

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

    • Formato: kms.<region-id>.cryptoservice.kms.aliyuncs.com. Para informações sobre o ID da região, consulte Regions and zones.

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

  • Endpoint de gateway dedicado (endpoint de instância do 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 oferece suporte a autenticação RAM e autenticação AAP (Application Access Point). gateway compartilhados aceitam ambas; gateway dedicados aceitam apenas AAP.

  • Autenticação RAM: funções RAM, tokens STS, funções RAM de instâncias ECS, AccessKey e outros métodos. Para mais informações, consulte Manage credentials.

    Importante

    Ao utilizar autenticação RAM para acessar chaves e credenciais em uma instância por meio de um gateway dedicado, é necessário configure 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).

Autenticação RAM

AccessKey

Aviso

Por padrão, uma conta Alibaba Cloud tem permissões de administrador para todos os recursos, e isso não pode ser alterado. Para garantir a segurança dos recursos, recomendamos crie um par de AccessKey por meio de um usuário RAM 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 de destino.

  2. Na aba Secret Management, na seção AccessKey, clique em Create AccessKey.

  3. Conceda permissões ao usuário RAM para acessar o KMS.

    • Método 1: configure uma política baseada em identidade

      Na coluna Actions do usuário RAM, clique em Grant Permission para associar 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 System policies for KMS.

      Nota

      Também é possível crie políticas de permissão personalizadas. Para mais informações, consulte Create a custom policy.

    • Método 2: configure uma política baseada em recurso

      O KMS oferece suporte a políticas baseadas em recurso que concedem permissões de acesso a chaves e credenciais individuais. Utilize essas políticas para controlar quais contas Alibaba Cloud, usuários RAM e funções RAM podem gerencie ou utilizar chaves e credenciais do KMS. Para mais informações, consulte Key policies e Secret policies.

Função RAM de instância ECS

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 a necessidade de configure um par de AccessKey.

Para mais informações, consulte Instance RAM roles.

  1. Faça login no console do RAM e crie uma função RAM para um service Alibaba Cloud confiável.

    • 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: configure uma política baseada em identidade

      Na coluna Actions da função RAM, clique em Grant Permission para associar 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 System policies for KMS.

      Nota

      Também é possível crie políticas de permissão personalizadas. Para mais informações, consulte Create a custom policy.

    • Método 2: configure uma política baseada em recurso

      O KMS oferece suporte a políticas baseadas em recurso que concedem permissões de acesso a chaves e credenciais individuais. Utilize essas políticas para controlar quais contas Alibaba Cloud, usuários RAM e funções RAM podem gerencie ou utilizar chaves e credenciais do KMS. Para mais informações, consulte Key policies e Secret policies.

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

Token STS

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 acessar o KMS com permissões específicas durante um período de validade limitado. Após a expiração, o token se torna inválido automaticamente.

  1. Faça login no console do RAM para crie um usuário RAM ou uma função RAM. Para mais informações, consulte Create a RAM user e Create a RAM role.

  2. Conceda a permissão AliyunSTSAssumeRoleAccess ao usuário RAM ou à função RAM. Para mais informações, consulte Manage RAM user permissions e Grant permissions to a RAM role.

  3. Conceda ao usuário RAM ou à função RAM permissões para acessar o KMS.

    • Método 1: configure uma política baseada em identidade

      Na coluna Actions da função ou do usuário RAM, clique em Grant Permission para associar 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 System policies for KMS.

      Nota

      Também é possível crie políticas de permissão personalizadas. Para mais informações, consulte Create a custom policy.

    • Método 2: configure uma política baseada em recurso

      O KMS oferece suporte a políticas baseadas em recurso que concedem permissões de acesso a chaves e credenciais individuais. Utilize essas políticas para controlar quais contas Alibaba Cloud, usuários RAM e funções RAM podem gerencie ou utilizar chaves e credenciais do KMS. Para mais informações, consulte Key policies e Secret policies.

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

RamRoleArn

Usuários RAM ou service cloud podem assumir uma função para obter permissões temporárias (token STS) em vez de utilizar chaves de longa duração, reduzindo o risco de vazamento de chaves. Por exemplo, em uma tarefa temporária de processamento de dados, um usuário RAM ou service cloud 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 de destino.

    2. Associe 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 Secret Management, na seção AccessKey, clique em Create AccessKey.

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

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

    2. Conceda à função RAM permissões para acessar o KMS.

      • Método 1: configure uma política baseada em identidade

        Na coluna Actions da função RAM, clique em Grant Permission para associar 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 System policies for KMS.

        Nota

        Também é possível crie políticas de permissão personalizadas. Para mais informações, consulte Create a custom policy.

      • Método 2: configure uma política baseada em recurso

        O KMS oferece suporte a políticas baseadas em recurso que concedem permissões de acesso a chaves e credenciais individuais. Utilize essas políticas para controlar quais contas Alibaba Cloud, usuários RAM e funções RAM podem gerencie ou utilizar chaves e credenciais do KMS. Para mais informações, consulte Key policies e Secret policies.

  3. Obtenha o RamRoleArn da função RAM de destino. Para mais informações, consulte View the information about a RAM role.

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

    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, em que $accountID é o ID da conta Alibaba Cloud e $roleName é o nome da função RAM.

OIDC Role ARN

  1. crie um provedor OIDC

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

    2. Na aba OIDC, clique em Create IdP.

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

  2. Obtenha e salve 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 de destino.

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

  3. crie e autorize uma função RAM para o provedor OIDC

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

    2. clique em Create Role. No canto superior direito da página de criação, clique 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 Create a RAM role for an OIDC identity provider.

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

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

        • IdP Type: selecione OIDC.

        • IdP: selecione o provedor OIDC criado anteriormente.

  4. Conceda à função RAM OIDC permissões para acessar o KMS

    • Método 1: configure uma política baseada em identidade

      Retorne à página de lista Identities > Roles e clique em Grant Permission na coluna Actions da função OIDC de destino para associar 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 Key Management Service System Permission Policy Reference.

      Nota

      Políticas de permissão personalizadas também são compatíveis. Para mais informações, consulte Create a custom policy.

    • Método 2: configure uma política baseada em recurso

      O KMS oferece suporte a políticas baseadas em recurso que concedem permissões de acesso a chaves e credenciais individuais. Utilize essas políticas para controlar quais contas Alibaba Cloud, usuários RAM e funções RAM podem gerencie ou utilizar chaves e credenciais do KMS. Para mais informações, consulte Key policies e Secret policies.

  5. Obtenha o OIDC Role ARN de destino

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

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

      Nota

      O Role ARN é o ARN da função RAM a ser assumida. O formato é acs:ram::$accountID:role/$roleName, em que $accountID é o ID da conta Alibaba Cloud e $roleName é o nome da função RAM.

  6. Emita e salve o arquivo de token OIDC

    A Alibaba Cloud não oferece suporte ao login OIDC direto pelo console, mas é possível concluir o processo de SSO OIDC de forma programática. 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 o RRSA ativado, o cluster cria e monta automaticamente o arquivo de token OIDC de conta de service correspondente para o pod da aplicação.

Autenticação AAP (não recomendada)

Configuração de gateway compartilhado

  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 source é opcional. No entanto, recomendamos configurá-la para maior segurança.

    1. clique em na aba Network Access Rules e depois clique 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 OK.

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

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

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

      1. Scope: Shared KMS Gateway

      2. Accessible Resources: selecione as credenciais que você deseja acessar.

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

  4. crie um ponto de acesso de aplicação (AAP).

    1. clique em na aba Application Access e depois clique 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 defina o período de validade como um ano para reduzir o risco de vazamento do ClientKey. Faça a rotação do ClientKey antes da expiração para evitar interrupções no service. Para mais informações, consulte Rotate a ClientKey.

      Policies

      selecione a política de permissão criada na etapa anterior.

    3. clique em OK. O navegador baixa automaticamente o ClientKey. O ClientKey inclui os seguintes arquivos:

      • Credential (ClientKeyContent): O nome de arquivo padrão é clientKey_****.json.

      • Senha da credencial (ClientKeyPassword): O nome de arquivo padrão é clientKey_****_Password.txt.

Configuração de gateway dedicado

É possível crie um ClientKey utilizando o modo Quick Create ou Standard Create. Para mais informações sobre ClientKeys, consulte Application access points e Create an application access point.

  • Método 1: Quick Create

    Este método é prático e eficiente, sendo adequado para testes e desenvolvimento rápidos. A credencial de acesso criada dessa forma tem acesso total a todos os recursos da 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 > Access Control (Formerly Access Point) .

    2. Na aba Application Access, clique 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 ponto de acesso da aplicação.

      Authentication Method

      Este valor é definido como ClientKey e não pode ser alterado.

      Encryption Algorithm

      selecione o algoritmo de criptografia para criptografar o ClientKey. Valores válidos: TripleDES-CBC e RC2-CBC (padrão).

      Nota

      O RC2-CBC funciona na maioria dos ambientes e é recomendado. Se o seu ambiente possui requisitos de algoritmo mais rigorosos e não oferece suporte ao RC2-CBC, selecione TripleDES-CBC.

      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 credenciais na instância do KMS especificada.

    3. clique em OK. O navegador baixa automaticamente o ClientKey. O ClientKey inclui os seguintes arquivos:

      • Credential (ClientKeyContent): O nome de arquivo padrão é clientKey_****.json.

      • Senha da credencial (ClientKeyPassword): O nome de arquivo padrão é clientKey_****_Password.txt.

  • Método 2: Standard Create

    Se você precisar configure permissões de acesso granulares para recursos, recomendamos utilizar o método Standard Create.

    1. Siga as instruções de Standard Create em Create an application access point para crie um ClientKey de acesso ao gateway dedicado. Os principais parâmetros estão descritos abaixo:

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

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

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

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

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