Todos os produtos
Search
Central de documentação

Key Management Service:Perguntas frequentes: Acesso a aplicações

Última atualização: Jun 27, 2026

Este tópico descreve problemas comuns ao acessar uma instância do Key Management Service (KMS) por meio de um SDK.

Lista de problemas

Erro 'no such host' ou 'not known'

Problema

  • Ao acessar uma instância do KMS com o SDK de instância do KMS para Go, o seguinte erro é retornado: kst-xxx.cryptoservice.kms.aliyuncs.com: no such host.

  • Ao acessar uma instância do KMS com o SDK de instância do KMS para Java, o seguinte erro é retornado: kst-xxx.cryptoservice.kms.aliyuncs.com: nodename nor servname provided, or not known.

Causa

A instância do KMS é um serviço dedicado de gerenciamento de chaves e segredos, acessível apenas a partir de uma Virtual Private Cloud (VPC) associada.

Solução

Erro 'Forbidden.NoPermission' ao usar um AAP

Problema

Ao acessar uma instância do KMS, a descrição do erro ou a mensagem de exceção do SDK contém: Forbidden.NoPermission : This operation is forbidden by permission system.

Solução

Esse erro ocorre porque a política de permissões do ponto de acesso à aplicação (AAP) não concede as permissões necessárias de chave ou segredo em RBAC Permissions e Accessible Resources. Para mais informações, consulte Criar um ponto de acesso à aplicação.

Erro '...forbidden by permission system' ao recuperar um segredo

Problema

Ao recuperar o valor de um segredo, a descrição do erro ou a mensagem de exceção do SDK retornada pelo KMS contém: This operation for key-xxxxxx is forbidden by permission system.

O código a seguir mostra um exemplo de mensagem de exceção do SDK de instância do KMS para Java:

Connected to the target VM, address: '127.0.xxx', transport: 'socket'
Exception in thread "main" com.aliyun.tea.TeaException Create breakpoint : This operation for key-hzz6xxx xxx is forbidden by permission system.
    at com.aliyun.dkms.gcs.openapi.Client.doRequest(Client.java:159)
    at com.aliyun.dkms.gcs.sdk.Client.getSecretValueWithOptions(Client.java:190)
    at com.aliyun.dkms.gcs.sdk.Client.getSecretValue(Client.java:213)
    at com.yqn.center.user.config.RdsSecretSampleCode.main(RdsSecretSampleCode.java:209)
Disconnected from the target VM, address: '127.0.xxx', transport: 'socket'
Process finished with exit code 1

Causa

A aplicação não tem permissão para usar a chave na descriptografia.

Ao criar um segredo, você seleciona uma chave na mesma instância do KMS para criptografia. Para recuperar o segredo, a aplicação precisa ter permissão tanto para acessar o segredo quanto para usar a chave correspondente na descriptografia.

Solução

  • Cenário 1: Acesso ao KMS por um ponto de acesso à aplicação (AAP) com ClientKey

    Edite a política de permissões do AAP para conceder à aplicação permissão de uso da chave para descriptografia.

    1. Acesse o 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. Clique em no nome do AAP desejado para acessar a página Details.

    3. Na coluna Actions da política de permissões, clique em Modify. Configure os parâmetros a seguir e clique em Update.

      • RBAC Permissions: Selecione CryptoServiceKeyUser.

      • Accessible Resources: Na seção Available Resources, selecione a chave e clique em no ícone image.png. Alternativamente, clique em no ícone 加号 ao lado de Selected Resources para adicionar uma chave no formato key/key_id. Exemplo: key/key-hzz6xxxxxx.

  • Cenário 2: Acesso ao KMS com par de AccessKey de usuário RAM ou função RAM assumida

    Edite a política de permissões do RAM para conceder à aplicação permissão de uso da chave para descriptografia.

    1. Acesse o console do RAM.

    2. No painel de navegação à esquerda, escolha Permissions > Policies.

    3. Localize a política de permissões anexada ao usuário RAM ou à função RAM e clique em no nome da política.

    4. Na aba Policy Document, clique em Modify Policy Document. Adicione o script a seguir à seção Statement e clique em Continue to edit basic information.

              {
                  "Effect": "Allow",
                  "Action": "kms:Decrypt",
                  "Resource": "acs:kms:${region}:${account}:key/keyId-example"
              }

      Para mais informações sobre políticas de permissões, consulte Políticas de permissões personalizadas para o Key Management Service.

Erro 'Forbidden.KeyNotFound'

Causa: Geralmente, a região, o ID da chave ou o alias especificados na solicitação não correspondem aos usados na criptografia.

Solução: Certifique-se de que a região, o ID da chave ou o alias usados na descriptografia correspondam aos usados na criptografia.

Erro 'UnsupportedOperation'

  • Configuração de acesso à rede incorreta

    • Causa: A aplicação usa um SDK padrão do Alibaba Cloud, em vez do SDK específico do KMS, para executar operações criptográficas em uma chave de uma instância do KMS.

    • Solução:

      1. Acesse o console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha Resource > Instances.

      2. Na lista de instâncias, clique em no ID da instância desejada. Na página de detalhes, ative a opção Public Network Access na seção RD Multi-Account.

        Nota

        Se uma instância do KMS for compartilhada entre várias contas do Alibaba Cloud, defina as permissões de acesso à rede pública para cada conta.

      3. Na aba Basic Information da página de detalhes da instância, localize o Public Endpoint. O endpoint aparece após a ativação do acesso à rede pública e tem formato semelhante a kms.cn-hangzhou.aliyuncs.com.

  • Tipo de chave incorreto

    • Causa: A aplicação usa uma chave de serviço ao chamar uma operação de API criptográfica, como Encrypt, Decrypt ou GenerateDataKey, por meio de um SDK.

    • Solução: Para operações criptográficas, use diretamente uma chave mestra de cliente (CMK), não uma chave de serviço gerenciada por outro serviço de nuvem.

  • Incompatibilidade entre algoritmo de chave e API

    • Cenário 1: Criptografia, descriptografia e geração de chave de dados

      • Ao chamar a operação GenerateDataKey, o algoritmo da chave mestra de cliente (CMK) é assimétrico, como RSA, ECC .

      • Solução: Certifique-se de que o algoritmo da CMK seja simétrico, como AES , e que o uso da chave seja ENCRYPT/DECRYPT.

    • Cenário 2: Assinatura e verificação

      • Ao chamar a operação Sign ou Verify, o algoritmo da chave mestra de cliente (CMK) é simétrico, como AES .

      • Solução: Certifique-se de que o algoritmo da CMK seja assimétrico, como RSA, ECC , e que o uso da chave seja SIGN/VERIFY.

    • Erro 'Unable to find valid certification path'

      Possível causa 1: Certificado CA selecionado incorreto para a instância do KMS

      1. Acesse o console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha Resource > Instances.

      2. Na página Instances, clique em Download na coluna Instance CA Certificate.

      3. Na caixa de diálogo Instance CA Certificate, selecione o ID da instância, clique em Download e armazene o certificado em um local seguro.

        Por padrão, o certificado CA baixado chama-se PrivateKmsCA_kst-.pem. Integre o certificado ao SDK para verificar a autenticidade e a validade do certificado SSL do serviço da instância do KMS.

      Possível causa 2: Versão incorreta do SDK instalada

      Recomendamos instalar a versão mais recente do SDK. A lista a seguir fornece os endereços dos repositórios de código aberto dos SDKs:

      Falha na resolução do nome de domínio da instância do KMS

      Problema

      Na VPC da instância do KMS ou em uma VPC associada, a aplicação não consegue acessar o nome de domínio da instância. Por exemplo, o comando ping kst-hzz62****.cryptoservice.kms.aliyuncs.com falha na resolução do nome de domínio e a mensagem retornada contém "cannot resolve".

      Solução

      Verifique se a configuração de DNS do servidor usa os servidores DNS padrão do Alibaba Cloud: 100.100.2.136 e 100.100.2.138. Para mais informações, consulte Preciso modificar a configuração de DNS do servidor para usar o PrivateZone?.

      Erro 'Incorrect ClientKey password'

      Problema

      • Ao acessar uma instância do KMS com o SDK de instância do KMS para Java, o seguinte erro é retornado: java.io.IOException: keystore password was incorrect.

      • Ao acessar uma instância do KMS com o SDK de instância do KMS para PHP, o seguinte erro é retornado: Could not decrypt the privateKey of clientKey, the password is incorrect,or it is not a valid pkcs12.

      • Ao acessar uma instância do KMS com o SDK de instância do KMS para Go, o seguinte erro é retornado: panic: pkcs12: decryption password incorrect.

      • Ao acessar uma instância do KMS com o SDK de instância do KMS para Python, o seguinte erro é retornado: OpenSSL.crypto.Error: [('PKCS12 routines', '', 'mac verify failure')].

      Causa

      A senha especificada para a ClientKey está incorreta.

      Solução

      • Verifique se a senha da ClientKey atende aos requisitos de formato. Caso contrário, crie uma nova ClientKey. Para mais informações, consulte Criar uma ClientKey.

        A senha da ClientKey deve ter de 8 a 64 caracteres e conter pelo menos dois dos seguintes tipos: dígitos (0-9), letras minúsculas (a-z), letras maiúsculas (A-Z) e caracteres especiais (~!@#$%^&*?_-).

      • Se ler a senha da ClientKey de um arquivo, certifique-se de que seja um arquivo de texto simples com apenas uma linha contendo a senha. O arquivo não deve conter caracteres extras, como quebras de linha ou tabulações.

      Código de status HTTP 413

      O corpo da solicitação, após codificação com Protocol Buffers, não pode exceder 3 MB. Solicitações acima desse limite são rejeitadas com o código de status HTTP 413.

      • Criptografia e descriptografia: Não exceda 6 KB de dados por operação para chaves simétricas ou 1 KB para chaves assimétricas. Para volumes maiores, use criptografia de envelope.

      • Assinatura e verificação: Se a mensagem a ser assinada for grande, gere um resumo (digest) da mensagem localmente e chame a operação Sign ou Verify para assinar ou verificar o resumo.

      Erro 'UnknownHostException'

      Problema

      Ao acessar uma instância do KMS com o SDK de instância do KMS para Java, o seguinte erro é retornado: Caused by: java.net.UnknownHostException: kst-hzz664da459rvtjtd****.cryptoservice.kms.aliyuncs.com.

      Solução

      1. Verifique se o ambiente da aplicação tem conectividade de rede com a VPC da instância do KMS.

        Se a VPC da aplicação e a instância do KMS estiverem na mesma região, associe a VPC à instância do KMS. Para mais informações, consulte Acessar uma instância do KMS a partir de várias VPCs na mesma região. Para outros cenários, veja as soluções a seguir.

        • Cross-VPC interconnection solutions

          Use Cloud Enterprise Network (CEN), VPN Gateway, conexão de peering de VPC ou PrivateLink para habilitar a comunicação privada entre VPCs. Para obter informações sobre recursos e configuração dessas soluções, consulte Interconexão de VPC.

        • Connecting a VPC to the internet

          Use um endereço IP público estático de instância ECS, Elastic IP Address, NAT Gateway ou Server Load Balancer (SLB) para permitir que recursos em nuvem na VPC acessem a internet ou sejam acessados por ela. Para mais informações, consulte Acesso à rede pública.

        • Connecting a VPC to an on-premises data center

          Use VPN Gateway, circuito Express Connect ou Smart Access Gateway para conectar seu data center on-premises a uma VPC na nuvem e criar uma nuvem híbrida. Para mais informações, consulte Conectar uma VPC a um data center on-premises ou outra nuvem.

      2. Certifique-se de que a resolução de nomes de domínio da VPC do KMS esteja configurada corretamente. Para obter informações sobre configurações de resolução de DNS, consulte Introdução à resolução de DNS interno.

      O gerenciamento de segredos do KMS é compatível com Android?

      Não, o recurso de gerenciamento de segredos não é compatível com Android no momento.

      Endpoint do KMS inacessível

      Esse problema geralmente ocorre porque o protocolo HTTPS não está ativado ao usar um SDK para acessar o KMS.

      Para garantir a segurança dos dados, os endpoints do KMS suportam apenas o protocolo HTTPS. Ao usar um SDK para acessar um endpoint do KMS, execute o código a seguir para garantir que o HTTPS esteja ativado.

      req.setProtocol(ProtocolType.HTTPS);

      Data center on-premises não acessa a instância do KMS

      Problema

      Um data center on-premises está conectado a uma VPC do Alibaba Cloud. Sem configuração adicional, o data center on-premises não consegue acessar uma instância do KMS usando o nome de domínio kms.aliyuncs.com configurado no PrivateZone.

      Solução

      1. No Express Connect router, permita os segmentos de rota 100.100.2.136 e 100.100.2.138 para garantir que o data center on-premises possa executar ping em 100.100.2.136 e 100.100.2.138. Para dúvidas sobre a configuração do roteador do Express Connect, consulte seu arquiteto de soluções de rede ou os seguintes documentos: Interconexão de rede nuvem-para-on-premises, Conectar um data center on-premises a uma VPC por meio de um circuito Express Connect, Adicionar e gerenciar entradas de rota e Processar mensagens de um data center on-premises usando o Message Queue for Apache RocketMQ por meio de um circuito Express Connect.

        Importante

        Se o data center on-premises não estiver conectado por Alibaba Cloud CEN ou circuito Express Connect, entre em contato com seu provedor de rede para configurar o roteador.

      2. Modifique o arquivo de configuração primária do DNS local named.conf para encaminhar consultas DNS do nome de domínio do KMS (kms.aliyuncs.com) ao DNS do Alibaba Cloud. O código a seguir mostra um exemplo de configuração:

        zone "kms.aliyuncs.com" { 
                type forward; 
                forwarders { 100.100.2.136;100.100.2.138;}; 
        };
        Nota

        A configuração de encaminhamento de rotas varia conforme o software de DNS. Para mais informações, consulte a documentação do seu software de DNS.

      Erro 'QPS Limit Exceeded' ao sincronizar segredos com o ACK

      Causa

      A sincronização de um grande número de segredos do KMS pode acionar a política de limitação de taxa do serviço e causar falha na sincronização.

      Solução

      Esse problema foi corrigido na versão 0.5.2 do ack-secret-manager. Atualize para a versão 0.5.2 ou posterior.

      Erro 'MissingParameter' no gateway dedicado

      Problema

      Ao usar um SDK do Alibaba Cloud para chamar uma operação OpenAPI de criptografia por meio de um gateway dedicado, o seguinte erro é retornado: MissingParamter AParamter x-kms-acccesskeyid does not exist in http header or body "$430c76cd-******.

      Causa

      A versão da imagem da instância do KMS é anterior à 3.0.0. Para usar um gateway dedicado em chamadas de operações OpenAPI criptográficas, a versão da imagem da instância do KMS deve ser 3.0.0 ou posterior.

      Solução

      Na página Instances, verifique a versão da imagem nos detalhes da instância. Clique em Upgrade para atualizar a versão da imagem da instância do KMS. Para mais informações, consulte Atualizar a versão da imagem de uma instância do KMS.

      Problemas de validação de certificado de ISV terceirizado

      Ativar o acesso público permite que o ISV terceirizado se conecte pelo gateway compartilhado, que usa um certificado assinado por uma autoridade certificadora (CA) confiável.

      1. Acesse o console do Key Management Service. Na barra de navegação superior, selecione uma região. No painel de navegação à esquerda, escolha Resource > Instances.

      2. Na lista de instâncias, clique em no ID da instância desejada. Na página de detalhes, ative a opção Public Network Access na seção RD Multi-Account.

        Nota

        Se uma instância do KMS for compartilhada entre várias contas do Alibaba Cloud, defina as permissões de acesso à rede pública para cada conta.

      3. Na aba Basic Information da página de detalhes da instância, localize o Public Endpoint. O endpoint aparece após a ativação do acesso à rede pública e tem formato semelhante a kms.cn-hangzhou.aliyuncs.com.