Todos os produtos
Search
Central de documentação

Key Management Service:Perguntas frequentes: Acesso à aplicação

Última atualização: Sep 18, 2026

Este tópico descreve problemas comuns que ocorrem quando uma aplicação utiliza um SDK para acessar uma instância do Key Management Service (KMS).

Lista de problemas

Erro 'no such host' ou 'not known'

Problema

  • Ao usar o SDK de instância KMS para Go, a aplicação retorna o seguinte erro: kst-xxx.cryptoservice.kms.aliyuncs.com: no such host.

  • Ao usar o SDK de instância KMS para Java, a aplicação retorna o seguinte erro: kst-xxx.cryptoservice.kms.aliyuncs.com: nodename nor servname provided, or not known.

Causa

Uma instância KMS é um service dedicado de gerenciamento de chaves e segredos, acessível exclusivamente por meio de uma Virtual Private Cloud (VPC) associada.

Solução

  • Se a VPC onde sua aplicação está em execução e a instância KMS estiverem na mesma região, associe a VPC à instância KMS. Para mais informações, consulte Access a KMS instance from multiple VPCs in the same region.

    Para verificar quais VPCs estão associadas à sua instância KMS, visualize View KMS instance details.

  • Caso a VPC da aplicação e a instância KMS estejam em regiões diferentes, estabeleça uma conexão de rede entre as duas VPCs.

Erro 'Forbidden.NoPermission' ao usar um AAP

Problema

Ao acessar uma instância KMS, a descrição do erro ou a mensagem de exceção do SDK contém o seguinte: 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 Create an application access point.

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 o seguinte: This operation for key-xxxxxx is forbidden by permission system.

O código a seguir apresenta um exemplo de mensagem de exceção do SDK de instância 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

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

Ao criar um segredo, você seleciona uma chave dentro da mesma instância KMS para criptografia. Para recuperar o segredo, sua aplicação precisa ter permissão não apenas para acessar o segredo, mas também para usar a chave correspondente na descriptografia.

Solução

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

    Edite a política de permissões do AAP para conceder à aplicação a 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 usando o par AccessKey de um usuário RAM ou assumindo uma função RAM

    Edite a política de permissões RAM para conceder à aplicação a 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 seu 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 Custom permission policies for Key Management Service.

Erro 'Forbidden.KeyNotFound'

Causa: Na maioria dos casos, a região, o ID da chave ou o alias especificados na solicitação não correspondem aos usados para criptografia.

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

Erro 'UnsupportedOperation'

  • Configuração de acesso à rede incorreta

    • Causa: Sua aplicação está usando um SDK padrão do Alibaba Cloud, e não um SDK específico do KMS, para executar operações criptográficas em uma chave de uma instância 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 Resources > 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 KMS for compartilhada entre várias contas Alibaba Cloud, você poderá definir 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 é exibido após a ativação do acesso à rede pública e possui um formato semelhante a kms.cn-hangzhou.aliyuncs.com.

  • Tipo de chave incorreto

    • Causa: Sua aplicação usa uma chave de service 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, utilize diretamente uma chave mestra do cliente (CMK), e não uma chave de service gerenciada por outro service de cloud.

  • 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 do cliente (CMK) é um algoritmo assimétrico, como RSA, ECC .

      • Solução: Verifique se o algoritmo da CMK é simétrico, como AES , e se o uso da chave está definido como ENCRYPT/DECRYPT.

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

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

      • Solução: Verifique se o algoritmo da CMK é assimétrico, como RSA, ECC , e se o uso da chave está definido como SIGN/VERIFY.

    • Erro 'Unable to find valid certification path'

      Possível causa 1: Seleção do certificado CA da instância KMS incorreta

      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 Resources > 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 recebe o nome PrivateKmsCA_kst-.pem. Integre esse certificado ao SDK para validar a autenticidade e a validade do certificado SSL do service da instância 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 open-source dos SDKs:

      Impossível resolver o nome de domínio da instância KMS

      Problema

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

      Solução

      Verifique se a configuração de DNS do seu servidor utiliza os servidores DNS padrão do Alibaba Cloud: 100.100.2.136 e 100.100.2.138. Para mais informações, consulte Do I need to modify the DNS configuration of the server to use PrivateZone?.

      Erro 'Incorrect ClientKey password'

      Problema

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

      • Ao usar o SDK de instância 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 usar o SDK de instância KMS para Go, o seguinte erro é retornado: panic: pkcs12: decryption password incorrect.

      • Ao usar o SDK de instância 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 Create a ClientKey.

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

      • Se você ler a senha da ClientKey a partir de um arquivo, certifique-se de que seja um arquivo de texto simples contendo apenas uma única linha com a senha. O arquivo não pode conter caracteres estranhos, 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 maiores que esse limite são rejeitadas com um código de status HTTP 413.

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

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

      Erro 'UnknownHostException'

      Problema

      Quando sua aplicação usa o SDK de instância KMS para Java para acessar uma instância KMS, o seguinte erro é retornado: Caused by: java.net.UnknownHostException: kst-hzz664da459rvtjtd****.cryptoservice.kms.aliyuncs.com.

      Solução

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

        Se a VPC da sua aplicação e a instância KMS estiverem na mesma região, associe a VPC à instância KMS. Para mais informações, consulte Access a KMS instance from multiple VPCs in the same region. Para outros cenários, veja as soluções abaixo.

        • Cross-VPC interconnection solutions

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

        • Connecting a VPC to the internet

          Use um endereço IP público estático de uma instância ECS, um Elastic IP Address, um NAT Gateway ou Server Load Balancer (SLB) para permitir que recursos de cloud em uma VPC acessem ou sejam acessados pela internet. Para mais informações, consulte Public network access.

        • Connecting a VPC to an on-premises data center

          Utilize um VPN Gateway, um circuito Express Connect ou um Smart Access Gateway para conectar seu data center on-premises a uma VPC na cloud e construir uma cloud híbrida. Para mais informações, consulte Connect a VPC to an on-premises data center or another cloud.

      2. Certifique-se de que a resolução do nome de domínio da VPC do KMS esteja configurada corretamente. Para informações sobre configurações de resolução DNS, consulte Introduction to internal DNS resolution.

      3. O gerenciamento de segredos do KMS é suportado no Android?

        Não, o recurso de gerenciamento de segredos não é suportado atualmente no Android.

        O endpoint do KMS está inacessível

        Geralmente, esse problema 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 assegurar que o HTTPS esteja habilitado para o KMS.

        req.setProtocol(ProtocolType.HTTPS);

        Data center on-premises não consegue acessar a instância KMS

        Problema

        Um data center on-premises está conectado a uma VPC do Alibaba Cloud. Sem nenhuma configuração adicional, o data center on-premises não consegue acessar uma instância 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 consiga fazer ping em 100.100.2.136 e 100.100.2.138. Para dúvidas sobre a configuração do roteador Express Connect, consulte seu arquiteto de soluções de rede ou consulte os seguintes documentos: Cloud-to-on-premises network interconnection, Connect an on-premises data center to a VPC over an Express Connect circuit, Add and manage route entries e Process messages from an on-premises data center by using Message Queue for Apache RocketMQ over an Express Connect circuit.

          Importante

          Se o seu data center on-premises não estiver conectado por meio da CEN do Alibaba Cloud ou de um 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) para o DNS do Alibaba Cloud para resolução. O código a seguir fornece um exemplo de configuração:

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

          A configuração para 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' quando o ACK sincroniza segredos

        Causa

        A sincronização de um grande número de segredos do KMS pode acionar a política de limitação do service, causando 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 destinada a operações criptográficas 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 KMS é anterior à 3.0.0. Para usar um gateway dedicado na chamada de operações OpenAPI para operações criptográficas, a versão da imagem da instância 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 KMS. Para mais informações, consulte Upgrade the image version of a KMS instance.

        Problemas de validação de certificado de ISV terceirizado

        Habilitar o acesso público permite que o ISV terceirizado se conecte por meio do gateway compartilhado, que utiliza 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 Resources > 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 KMS for compartilhada entre várias contas Alibaba Cloud, você poderá definir 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 é exibido após a ativação do acesso à rede pública e possui um formato semelhante a kms.cn-hangzhou.aliyuncs.com.