Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Data Encryption Workshop
Data Encryption Workshop
- 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
Nesta página
Central de ajuda/
Data Encryption Workshop/
Melhores práticas/
Serviço de gerenciamento de segredo em nuvem/
Rotação de segredos/
Rotação de um segredo para um usuário
Copiado.
Rotação de um segredo para um usuário
Atualizado em 2024-09-14 GMT+08:00
Visão geral
Você pode atualizar as informações de um usuário em um segredo.
Esta é a política de rotação de segredo mais usada.
Exemplo:
- Para o acesso ao banco de dados, uma conexão de banco de dados não é excluída durante a rotação de segredos. Após a rotação, novas conexões usam os novos segredos.
- Um usuário pode criar uma conta, por exemplo, usando um endereço de e-mail como nome de usuário. Geralmente, os usuários podem alterar senhas conforme necessário, mas não podem criar outros usuários ou alterar nomes de usuário.
- Os usuários temporários são criados no momento em que são necessários.
- As senhas são inseridas pelos usuários, não recuperadas do CSMS pelas aplicações. Esses usuários não precisam alterar seus nomes de usuário ou senhas.
Restrições
Verifique se sua conta tem a permissão KMS Administrator ou KMS CMKFullAccess. Para obter detalhes, consulte Gerenciamento de permissões do DEW.
APIs de rotação de segredos
Você pode chamar as seguintes APIs para rotacionar segredos localmente.
API |
Descrição |
---|---|
Criar uma versão de segredo. |
|
Consultar as informações sobre uma versão de segredo especificada e o valor de segredo de texto não criptografado na versão. |
Exemplo de rotação de segredo de conta única
- Crie um segredo no console da HUAWEI CLOUD. Para obter detalhes, consulte Criação de um segredo.
- Prepare informações básicas de autenticação.
- ACCESS_KEY: chave de acesso da conta de Huawei
- SECRET_ACCESS_KEY: chave de acesso de segredo da conta de Huawei
- PROJECT_ID: ID do projeto de um site da HUAWEI CLOUD. Para obter detalhes, consulte Projeto.
- CSMS_ENDPOINT: ponto de extremidade para acessar o CSMS. Para obter detalhes, consulte Pontos de extremidade.
- Haverá riscos de segurança se a AK/SK usada para autenticação for gravada diretamente no código. Criptografe a AK/SK no arquivo de configuração ou nas variáveis de ambiente para armazenamento.
- Neste exemplo, a AK/SK armazenada nas variáveis de ambiente é usada para autenticação de identidade. Configure as variáveis de ambiente HUAWEICLOUD_SDK_AK e HUAWEICLOUD_SDK_SK primeiro no ambiente local.
- Rotação do segredo de um usuário.
- secretName indica o nome do segredo criado no console da Huawei Cloud.
- secretString indica o valor salvo no segredo criado no console da Huawei Cloud.
- versionId indica o ID de segredo gerado automaticamente depois que um segredo é criado no console da Huawei Cloud.
- LATEST_VERSION indica a versão de segredo.
import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.csms.v1.CsmsClient; import com.huaweicloud.sdk.csms.v1.model.CreateSecretVersionRequest; import com.huaweicloud.sdk.csms.v1.model.CreateSecretVersionRequestBody; import com.huaweicloud.sdk.csms.v1.model.CreateSecretVersionResponse; import com.huaweicloud.sdk.csms.v1.model.ShowSecretVersionRequest; import com.huaweicloud.sdk.csms.v1.model.ShowSecretVersionResponse; public class CsmsSingleAccountExample { /** * Basic authentication information: * - ACCESS_KEY: Access key of the Huawei account * - SECRET_ACCESS_KEY: Secret access key of the Huawei account * - PROJECT_ID: Huawei Cloud project ID. For details, see https://support.huaweicloud.com/intl/pt-br/productdesc-iam/iam_01_0023.html * - CSMS_ENDPOINT: endpoint address for accessing CSMS. For details, see https://support.huaweicloud.com/intl/pt-br/api-dew/dew_02_0052.html. * - There will be security risks if the AK/SK used for authentication is directly written into code. Encrypt the AK/SK in the configuration file or environment variables for storage. * - In this example, the AK/SK stored in the environment variables are used for identity authentication. Configure the environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK in the local environment first. */ private static final String ACCESS_KEY = System.getenv("HUAWEICLOUD_SDK_AK"); private static final String SECRET_ACCESS_KEY = System.getenv("HUAWEICLOUD_SDK_SK"); private static final String PROJECT_ID = "<ProjectID>"; private static final String CSMS_ENDPOINT = "<CsmsEndpoint>"; //Version ID used to query the latest secret version details. private static final String LATEST_VERSION = "latest"; public static void main(String[] args) { String secretName = args[0]; String secretString = args[1]; singleAccountRotation(secretName, secretString); } /** * Example: secret rotation for a single account * * @param secretName Secret name * @param secretString Secret content */ private static void singleAccountRotation(String secretName, String secretString) { //Host the new secret in CSMS. createNewSecretVersion(secretName, secretString); //Query the secret of the latest version based on the secret version latest. ShowSecretVersionResponse secretResponseByLatest = showSecretVersionDetail(secretName, LATEST_VERSION); assert secretResponseByLatest.getVersion().getSecretString().equals(secretString); } /** * Example of creating a secret * If a secret version is added without version status, the program points the SYSCURRENT version status to the version by default. * * @param secretName Secret name * @param secretString Secret content * @return */ private static CreateSecretVersionResponse createNewSecretVersion(String secretName, String secretString) { CsmsClient csmsClient = getCsmsClient(); CreateSecretVersionRequest createSecretVersionRequest = new CreateSecretVersionRequest() .withSecretName(secretName) .withBody(new CreateSecretVersionRequestBody().withSecretString(secretString)); CreateSecretVersionResponse secretVersion = csmsClient.createSecretVersion(createSecretVersionRequest); System.out.printf("Created new version success, version id:%s", secretVersion.getVersionMetadata().getId()); return secretVersion; } /** * Query the secret of a specified version. * * @param secretName Secret name * @param versionId Secret_version_ID * @return */ private static ShowSecretVersionResponse showSecretVersionDetail(String secretName, String versionId) { ShowSecretVersionRequest showSecretVersionRequest = new ShowSecretVersionRequest().withSecretName(secretName) .withVersionId(versionId); CsmsClient csmsClient = getCsmsClient(); ShowSecretVersionResponse secretDetail = csmsClient.showSecretVersion(showSecretVersionRequest); System.out.printf("Query latest version success. version id:%s", secretDetail.getVersion().getVersionMetadata().getId()); return secretDetail; } /** * Obtain the CSMS client. * * @return */ private static CsmsClient getCsmsClient() { BasicCredentials auth = new BasicCredentials() .withAk(ACCESS_KEY) .withSk(SECRET_ACCESS_KEY) .withProjectId(PROJECT_ID); return CsmsClient.newBuilder().withCredential(auth).withEndpoint(CSMS_ENDPOINT).build(); } }
Tópico principal: Rotação de segredos
Feedback
Esta página foi útil?
Deixar um comentário
Obrigado por seus comentários. Estamos trabalhando para melhorar a documentação.
O sistema está ocupado. Tente novamente mais tarde.