- Visão geral de serviço
-
Guia de usuário
- Serviço de gerenciamento de chaves
- Serviço de gerenciamento de segredo em nuvem
- Serviço de par de chaves
- HSM dedicado
- Registros de auditoria
- Controle de permissão
-
Referência de API
- Antes de começar
- Chamada das APIs
- Visão geral de API
-
APIs
- APIs de gerenciamento de chaves
- APIs de gerenciamento de pares de chaves
- APIs de gerenciamento de segredo
- APIs históricas
- Exemplos de aplicação
- Políticas de permissões e ações suportadas
- Apêndice
- Histórico de mudanças
-
Melhores práticas
-
Serviço de gerenciamento de chaves
- Uso do KMS para criptografar dados off-line
- Uso do KMS para criptografar e descriptografar dados para serviços em nuvem
- Uso do SDK de criptografia para criptografar e descriptografar arquivos locais
- Criptografia e descriptografia de dados por meio de DR entre regiões
- Uso do KMS para proteger a integridade dos arquivos
- Serviço de gerenciamento de segredo em nuvem
- Geral
- Histórico de alterações
-
Serviço de gerenciamento de chaves
- Primeiros passos
-
Perguntas frequentes
- Serviço de gerenciamento de chaves
- Serviço de gerenciamento de segredo em nuvem
- Serviço de par de chaves
- HSM dedicado
- Registros de auditoria
- Controle de permissão
-
Perguntas frequentes
-
Relacionado ao KMS
- O que é o serviço de gerenciamento de chaves?
- O que é uma Chave principal do cliente?
- O que é uma chave padrão?
- Quais são as diferenças entre uma chave personalizada e uma chave padrão?
- O que é uma chave de criptografia de dados?
- Por que não consigo excluir uma CMK imediatamente?
- Quais serviços de nuvem podem usar o KMS para criptografia?
- Como os serviços da Huawei Cloud usam o KMS para criptografar dados?
- Quais são os benefícios da criptografia de envelope?
- Existe um limite para o número de chaves personalizadas que posso criar no KMS?
- Posso exportar uma CMK do KMS?
- Posso descriptografar meus dados se eu excluir permanentemente minha chave personalizada?
- Como usar a ferramenta on-line para criptografar ou descriptografar pequenos volumes de dados?
- Posso atualizar CMKs criadas por materiais de chave gerados por KMS?
- Quando devo usar uma CMK criada com materiais de chaves importados?
- O que devo fazer quando excluir acidentalmente materiais de chaves?
- Como as chaves padrão são geradas?
- O que devo fazer se não tiver as permissões para realizar operações no KMS?
- Por que não posso encapsular chaves assimétricas usando -id-aes256-wrap-pad no OpenSSL?
- Algoritmos de chave suportados pelo KMS
- O que devo fazer se o KMS não for solicitado e o código de erro 401 for exibido?
- Qual é a relação entre o texto cifrado e o texto não criptografado retornado pela API de dados de criptografia?
- Como o KMS protege minhas chaves?
- Como usar uma chave assimétrica para verificar o resultado da assinatura de um par de chaves públicas?
- Uma chave importada suporta rotação?
- Relacionado a credenciais
-
Relacionado ao KPS
- Como criar um par de chaves?
- O que são um par de chaves privadas e um par de chaves de contas?
- Como lidar com uma falha de importação de um par de chaves criado usando o PuTTYgen?
- O que devo fazer quando não consigo importar um par de chaves usando o Internet Explorer 9?
- Como fazer logon em um ECS de Linux com uma chave privada?
- Como usar uma chave privada para obter a senha para fazer logon em um ECS do Windows?
- Como lidar com a falha na vinculação de um par de chaves?
- Como lidar com a falha na substituição de um par de chaves?
- Como lidar com a falha na redefinição de um par de chaves?
- Como lidar com a falha na desvinculação de um par de chaves?
- Preciso reiniciar os servidores depois de substituir seu par de chaves?
- Como ativar o modo de logon com senha para um ECS?
- Como lidar com a falha no logon no ECS após desvincular o par de chaves?
- O que devo fazer se minha chave privada for perdida?
- Como converter o formato de um arquivo de chave privada?
- Posso alterar o par de chaves de um servidor?
- Um par de chaves pode ser compartilhado por vários usuários?
- Como obter o arquivo de chave pública ou privada de um par de chaves?
- O que posso fazer se um erro for relatado quando uma chave de conta for criada ou atualizada pela primeira vez?
- A cota de par de chaves de conta será ocupada depois que um par de chaves privadas for atualizado para um par de chaves de conta?
-
Relacionado ao HSM dedicado
- O que é o HSM dedicado?
- Como o HSM dedicado garante a segurança para a geração de chaves?
- O pessoal da sala de equipamentos tem a função de superadministrador para roubar informações usando um UKey privilegiado?
- Quais HSMs são usados para HSM dedicado?
- Quais APIs o HSM dedicado suporta?
- Como ativar o acesso público a uma instância do HSM dedicado?
- Preços
- Geral
-
Relacionado ao KMS
- No momento, o conteúdo não está disponível no seu idioma selecionado. Consulte a versão em inglês.
- What's New
- Function Overview
- Billing
- SDK Reference
- Videos
-
More Documents
- User Guide (ME-Abu Dhabi Region)
- User Guide (Paris and Amsterdam Regions)
-
User Guide (Kuala Lumpur Region)
- Service Overview
-
User Guide
- Key Management Service
- Cloud Secret Management Service
- Auditing Logs
- Permission Control
-
FAQs
-
KMS Related
- What Is Key Management Service?
- What Is a Customer Master Key?
- What Is a Default Key?
- What Are the Differences Between a Custom Key and a Default Key?
- What Is a Data Encryption Key?
- Why Cannot I Delete a CMK Immediately?
- Which Cloud Services Can Use KMS for Encryption?
- How Do Cloud Services Use KMS to Encrypt Data?
- What Are the Benefits of Envelope Encryption?
- Is There a Limit on the Number of Custom Keys That I Can Create on KMS?
- Can I Export a CMK from KMS?
- Can I Decrypt My Data if I Permanently Delete My Custom Key?
- How Do I Use the Online Tool to Encrypt or Decrypt Small Volumes of Data?
- Can I Update CMKs Created by KMS-Generated Key Materials?
- When Should I Use a CMK Created with Imported Key Materials?
- What Types of Keys Can I Import?
- What Should I Do When I Accidentally Delete Key Materials?
- How Are Default Keys Generated?
- What Should I Do If I Do Not Have the Permissions to Perform Operations on KMS?
- Why Can't I Wrap Asymmetric Keys by Using -id-aes256-wrap-pad in OpenSSL?
- Key Algorithms Supported by KMS
- What Should I Do If KMS Failed to Be Requested and Error Code 401 Is Displayed?
- What Is the Relationship Between the Ciphertext and Plaintext Returned by the encrypt-data API?
- How Does KMS Protect My Keys?
- Credential Related
-
KMS Related
- Change History
-
API Reference (ME-Abu Dhabi Region)
- Before You Start
- Calling APIs
- API Overview
-
APIs
- Creating a CMK
- Enabling a CMK
- Disabling a CMK
- Scheduling the Deletion of a CMK
- Canceling the Scheduled Deletion of a CMK
- Querying the List of CMKs
- Querying the Information About a CMK
- Creating a Random Number
- Creating a DEK
- Creating a Plaintext-Free DEK
- Encrypting a DEK
- Decrypting a DEK
- Querying the Number of Instances
- Querying the Quota of a User
- Changing the Alias of a CMK
- Changing the Description of a CMK
- Encrypting Data
- Decrypting Data
- Obtaining CMK Import Parameters
- Importing CMK Material
- Deleting CMK Material
- Querying CMK Instances
- Querying CMK Tags
- Querying Project Tags
- Adding or Deleting CMK Tags in Batches
- Adding a CMK Tag
- Deleting a CMK Tag
- Permissions Policies and Supported Actions
- Appendix
- Change History
-
API Reference (Paris and Amsterdam Regions)
- Before You Start
- Calling APIs
- API Overview
-
APIs
- Creating a CMK
- Enabling a CMK
- Disabling a CMK
- Scheduling the Deletion of a CMK
- Canceling the Scheduled Deletion of a CMK
- Querying the List of CMKs
- Querying the Information About a CMK
- Creating a Random Number
- Creating a DEK
- Creating a Plaintext-Free DEK
- Encrypting a DEK
- Decrypting a DEK
- Querying the Number of Instances
- Querying the Quota of a User
- Changing the Alias of a CMK
- Changing the Description of a CMK
- Creating a Grant
- Revoking a Grant
- Retiring a Grant
- Querying Grants on a CMK
- Querying Grants That Can Be Retired
- Encrypting Data
- Decrypting Data
- Obtaining CMK Import Parameters
- Importing CMK Material
- Deleting CMK Material
- Enabling Rotation for a CMK
- Changing the Rotation Interval for a CMK
- Disabling Rotation for a CMK
- Querying the Rotation Status of a CMK
- Appendix
- Change History
-
API Reference (Kuala Lumpur Region)
- Before You Start
- Calling APIs
- API Overview
-
APIs
- Creating a CMK
- Enabling a CMK
- Disabling a CMK
- Scheduling the Deletion of a CMK
- Canceling the Scheduled Deletion of a CMK
- Querying the List of CMKs
- Querying the Information About a CMK
- Creating a Random Number
- Creating a DEK
- Creating a Plaintext-Free DEK
- Encrypting a DEK
- Decrypting a DEK
- Querying the Number of Instances
- Querying the Quota of a User
- Changing the Alias of a CMK
- Changing the Description of a CMK
- Creating a Grant
- Revoking a Grant
- Retiring a Grant
- Querying Grants on a CMK
- Querying Grants That Can Be Retired
- Encrypting Data
- Decrypting Data
- Obtaining CMK Import Parameters
- Importing CMK Material
- Deleting CMK Material
- Enabling Rotation for a CMK
- Changing the Rotation Interval for a CMK
- Disabling Rotation for a CMK
- Querying the Rotation Status of a CMK
- Appendix
- Change History
Copiado.
Criação de uma solicitação de API
Esta seção descreve a estrutura de uma solicitação de API REST e usa a API IAM para obtenção de um token de usuário como um exemplo para demonstrar como chamar uma API. O token obtido pode então ser usado para autenticar a chamada das outras APIs.
URI de solicitação
Um URI de solicitação está no seguinte formato:
{URI-scheme} :// {Endpoint} / {resource-path} ? {query-string}
Embora um URI de solicitação esteja incluído no cabeçalho da solicitação, a maioria das linguagens de programação ou estruturas exigem que o URI de solicitação seja transmitido separadamente.
- URI-scheme:
Protocolo usado para transmitir solicitações. Todas as APIs usam HTTPS.
- Endpoint:
Nome de domínio ou endereço IP do servidor que possui o serviço REST. O ponto de extremidade varia entre serviços em diferentes regiões. Ele pode ser obtido com Regiões e ponto de extremidade.
Por exemplo, o ponto de extremidade do IAM na região CN-Hong Kong é iam.ap-southeast-1.myhuaweicloud.com.
- resource-path:
Caminho de acesso de uma API para executar uma operação especificada. Obtenha o caminho a partir do URI de uma API. Por exemplo, o resource-path da API usada para obter um token de usuário é /v3/auth/tokens.
- query-string:
Parâmetro de consulta, que é opcional. Verifique se um ponto de interrogação (?) está incluído antes de cada parâmetro de consulta no formato "Nome do parâmetro=valor do parâmetro". Por exemplo, ?limit=10 indica que um máximo de 10 registros de dados serão exibidos.
Por exemplo, para obter um token do IAM na região CN North-Hong Kong, obtenha o ponto de extremidade do IAM (iam.cn-ap-southeast-1.myhuaweicloud.com) para esta região e o resource-path (/v3/auth/tokens). tokens) no URI da API usada para obter um token de usuário. Em seguida, construa o URI da seguinte forma:
https://iam.ap-southeast-1.myhuaweicloud.com/v3/auth/tokens


Para simplificar a exibição de URI neste documento, cada API é fornecida apenas com um resource-path e um método de solicitação. O URI-scheme de todas as APIs é HTTPS, e os pontos de extremidade de todas as APIs na mesma região são idênticos.
Métodos de solicitação
O protocolo HTTP define os seguintes métodos de solicitação que podem ser usados para enviar uma solicitação ao servidor:
- GET: solicita que o servidor retorne os recursos especificados.
- PUT: solicita que o servidor atualize os recursos especificados.
- POST: solicita que o servidor adicione recursos ou execute operações especiais.
- DELETE: solicita que o servidor exclua recursos especificados, por exemplo, um objeto.
- HEAD: o mesmo que GET, exceto que o servidor deve retornar apenas o cabeçalho da resposta.
- PATCH: solicita ao servidor que atualize o conteúdo parcial de um recurso especificado. Se o recurso não existir, um novo recurso será criado.
Por exemplo, no caso da API usada para obter um token de usuário, o método de solicitação é POST. A solicitação é o seguinte:
POST https://iam.ap-southeast-1.myhuaweicloud.com/v3/auth/tokens
Cabeçalho da solicitação
Você também pode adicionar campos de cabeçalho adicionais a uma solicitação, como os campos exigidos por um método de URI ou de HTTP especificado. Por exemplo, para solicitar as informações de autenticação, adicione Content-type, que especifica o tipo de corpo da solicitação.
Os campos comuns de cabeçalho de solicitação são os seguintes:
- Content-Type: especifica o tipo ou formato do corpo da solicitação. Este campo é obrigatório e seu valor padrão é application/json. Outros valores deste campo serão fornecidos para APIs específicas, se houver.
- X-Auth-Token: especifica um token de usuário apenas para autenticação de API baseada em token. O token de usuário é uma resposta à API usada para obter um token de usuário. Esta API é a única que não requer autenticação.
Além de oferecer suporte à autenticação baseada em token, as APIs também oferecem suporte à autenticação usando ID da chave de acesso/chave de acesso secreta (AK/SK). Durante a autenticação baseada em AK/SK, um SDK é usado para assinar a solicitação, e os campos de cabeçalho Authorization (informações de assinatura) e X-Sdk-Date (hora em que a solicitação é enviada) são adicionados automaticamente à solicitação.
Para obter mais informações, consulte Autenticação baseada em AK/SK.
A API usada para obter um token de usuário não requer autenticação. Portanto, apenas o campo Content-typeprecisa ser adicionado às solicitações para chamar a API. Um exemplo de tais solicitações é o seguinte:
POST https://iam.ap-southeast-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
Corpo da solicitação
O corpo de uma solicitação geralmente é enviado em um formato estruturado, conforme especificado no campo de cabeçalho Content-Type. O corpo da solicitação transfere o conteúdo, exceto o cabeçalho da solicitação.
O corpo da solicitação varia entre as APIs. Algumas APIs não exigem o corpo da solicitação, como as APIs solicitadas usando os métodos GET e DELETE.
No caso da API usada para obter um token de usuário, os parâmetros da solicitação e a descrição do parâmetro podem ser obtidos da solicitação da API. O seguinte fornece um exemplo de solicitação com um corpo incluído. Substitua username, domainname, ******** (senha de logon) e xxxxxxxxxxxxxxxxxx (nome do projeto) pelos valores reais. Obtenha o valor de região de Regiões e pontos de extremidade.

O parâmetro scope especifica onde um token entra em vigor. Você pode definir scope para uma conta ou um projeto em uma conta. No exemplo a seguir, o token tem efeito somente para os recursos em um projeto especificado. Para obter mais informações sobre essa API, consulte Obtenção de um token de usuário.
POST https://iam.ap-southeast-1.myhuaweicloud.com/v3/auth/tokens
Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } }
Se todos os dados necessários para a solicitação da API estiverem disponíveis, você poderá enviar a solicitação para chamar a API por meio de ondulação, Postman ou codificação. Na resposta à API usada para obter um token de usuário, x-subject-token é o token de usuário desejado. Você pode usar esse token para autenticar a chamada de outras API.