Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Data Encryption Workshop
Data Encryption Workshop
- Descripción general del servicio
-
Guía del usuario
- Key Management Service
- Cloud Secret Management Service
- Key Pair Service
- HSM dedicado
- Gestión de etiquetas
- Registros de auditoría
- Control de permisos
-
Prácticas recomendadas
-
Key Management Service
- Uso de KMS para cifrar datos sin conexión
- Uso de KMS para cifrar y descifrar datos para servicios en la nube
- Uso del SDK de encriptación para cifrar y descifrar datos locales
- Encriptación y descifrado de datos con recuperación ante desastres entre regiones
- Uso de KMS para proteger la integridad de archivos
- Cloud Secret Management Service
- Generales
-
Key Management Service
-
Referencia de la API
- Antes de empezar
- Llamadas a APIs
- Descripción general de la API
-
APIs
- API de gestión de claves
- API de gestión de pares clave
- API de gestión de secreto
- Las API históricas
- Ejemplos de aplicación
- Políticas de permisos y acciones admitidas
- Apéndice
- Historial de cambios
- Pasos iniciales
-
Preguntas frecuentes
-
KMS Relacionados
- ¿Qué es Key Management Service?
- ¿Qué es una clave maestra del cliente?
- ¿Qué es una clave predeterminada?
- ¿Cuáles son las diferencias entre una clave personalizada y una clave predeterminada?
- What Is a Data Encryption Key?
- ¿Por qué no puedo eliminar un CMK inmediatamente?
- ¿Qué servicios en la nube pueden usar KMS para el cifrado?
- ¿Cómo servicios de Huawei Cloud utilizan KMS para cifrar datos?
- ¿Cuáles son los beneficios del cifrado de sobres?
- ¿Hay un límite en el número de claves personalizadas que puedo crear en KMS?
- ¿Puedo exportar un CMK desde KMS?
- ¿Puedo descifrar mis datos si elimino permanentemente mi clave personalizada?
- ¿Cómo uso la herramienta en línea para cifrar o descifrar pequeños volúmenes de datos?
- ¿Puedo actualizar CMK creados por materiales clave generados por KMS?
- When Should I Use a CMK Created with Imported Key Materials?
- ¿Qué debo hacer cuando elimino accidentalmente materiales clave?
- ¿Cómo se generan las claves predeterminadas?
- ¿Qué debo hacer si no tengo permisos para realizar operaciones en KMS?
- ¿Por qué no puedo envolver claves asimétricas usando -id-aes256-wrap-pad en OpenSSL?
- Algoritmos de clave soportados por KMS
- ¿Qué debo hacer si no se ha solicitado KMS y se muestra el código de error 401?
- ¿Cuál es la relación entre el texto cifrado y el texto plano devuelto por la API de encrypt-data?
- ¿Cómo protege KMS mis claves?
- ¿Cómo uso una clave asimétrica para verificar el resultado de la firma de un par de claves públicas?
- ¿Una clave importada admite la rotación?
- Credencial Relacionado
-
KPS Relacionados
- ¿Cómo creo un par de claves?
- ¿Qué son un par de claves privadas y un par de claves de cuenta?
- ¿Cómo puedo manejar un error de importación de un par de claves creado con PuTTYgen?
- ¿Qué debo hacer cuando no puedo importar un par de claves usando Internet Explorer 9?
- ¿Cómo inicio sesión en un ECS de Linux con una clave privada?
- ¿Cómo uso una clave privada para obtener la contraseña para iniciar sesión en un ECS de Windows?
- ¿Cómo puedo manejar la falla en la vinculación de un par de claves?
- ¿Cómo manejo el fallo en la sustitución de un par de claves?
- ¿Cómo puedo manejar la falla en el restablecimiento de un par de claves?
- ¿Cómo puedo manejar el fallo en la desvinculación de un par de claves?
- ¿Necesito reiniciar los servidores después de reemplazar su par de claves?
- ¿Cómo activo el modo de inicio de sesión con contraseña para un ECS?
- ¿Cómo manejo el fallo al iniciar sesión en ECS después de desvincular el par de claves?
- ¿Qué debo hacer si se pierde mi clave privada?
- ¿Cómo convierto el formato de un archivo de clave privada?
- ¿Puedo cambiar el par de claves de un servidor?
- ¿Puede un par de claves ser compartido por varios usuarios?
- ¿Cómo obtengo el archivo de clave pública o privada de un par de claves?
- ¿Qué puedo hacer si se informa de un error cuando se crea o actualiza una clave de cuenta por primera vez?
- ¿Se ocupará la cuota del par de claves de cuenta después de que se actualice un par de claves privadas a un par de claves de cuenta?
-
Relacionado con HSM dedicado
- ¿Qué es el HSM dedicado?
- ¿Cómo garantiza el HSM dedicado la seguridad para la generación de claves?
- ¿El personal de la sala de equipos tiene la función de súper administrador para robar información mediante el uso de un UKey privilegiado?
- ¿Qué HSM se utilizan para HSM dedicado?
- ¿Qué API admite HSM dedicado?
- ¿Cómo habilito el acceso público a una instancia de HSM dedicado?
- Precios
-
General
- ¿Qué funciones proporciona DEW?
- ¿Qué algoritmos de criptografía utiliza DEW?
- ¿En qué regiones están disponibles los servicios DEW?
- What Is a Quota?
- ¿Qué es el mecanismo de asignación de recursos de DEW?
- ¿Qué son las Regiones y las AZ?
- Can DEW Be Shared Across Accounts?
- ¿Cómo accedo a las funciones de DEW?
-
KMS Relacionados
- Actualmente, el contenido no está disponible en el idioma seleccionado. Sugerimos consultar la versión en 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
En esta página
Centro de ayuda/
Data Encryption Workshop/
Prácticas recomendadas/
Cloud Secret Management Service/
Rotación de secretos/
Rotación de un secreto para un usuario
Copiado.
Rotación de un secreto para un usuario
Actualización más reciente 2024-09-13 GMT+08:00
Descripción general
Puede actualizar la información de un usuario en un secreto.
Esta política de rotación de secreto es la más utilizada.
Ejemplo:
- Para acceder a la base de datos, no se elimina una conexión de base de datos durante la rotación de secreto. Después de la rotación, las nuevas conexiones utilizan los nuevos secretos.
- Un usuario puede crear una cuenta, por ejemplo, utilizando una dirección de correo electrónico como nombre de usuario. Por lo general, los usuarios pueden cambiar las contraseñas según sea necesario, pero no pueden crear otros usuarios ni cambiar nombres de usuario.
- Los usuarios temporales se crean en el momento en que se necesitan.
- Las contraseñas son introducidas por los usuarios, no recuperadas de CSMS por las aplicaciones. Estos usuarios no necesitan cambiar sus nombres de usuario o contraseñas.
Restricciones
Asegúrese de que su cuenta tenga permiso de KMS Administrator o de KMS CMKFullAccess. Para obtener más detalles, consulte Gestión de permisos de DEW.
API de rotación de secreto
Puede invocar a las siguientes API para rotar secretos localmente.
API |
Descripción |
---|---|
Crear una versión de secreto. |
|
La información sobre una versión del secreto específica y el valor del secreto de texto plano de la versión. |
Ejemplo de rotación del secreto de la cuenta única
- Cree un secreto en la consola de Huawei Cloud. Para obtener más detalles, consulte Creación de un secreto.
- Prepare la información básica de autenticación.
- ACCESS_KEY: Clave de acceso de la cuenta de Huawei
- SECRET_ACCESS_KEY: Clave de acceso secreta de la cuenta de Huawei
- PROJECT_ID: ID de proyecto de un sitio de Huawei Cloud. Para obtener más detalles, véase Proyecto.
- CSMS_ENDPOINT: punto de conexión para acceder al CSMS. Consulte Puntos de conexión para obtener más detalles.
- Habrá riesgos de seguridad si la AK/SK utilizada para la autenticación se escribe directamente en el código. Cifre la AK/SK en el archivo de configuración o en las variables de entorno para su almacenamiento.
- En este ejemplo, las AK/SK almacenadas en las variables de entorno se utilizan para la autenticación de identidad. Primero configure las variables de entorno HUAWEICLOUD_SDK_AK y HUAWEICLOUD_SDK_SK en el entorno local.
- Rotación del secreto de un usuario.
- secretName indica el nombre del secreto creado en la consola de Huawei Cloud.
- secretString indica el valor guardado en el secreto creado en la consola de Huawei Cloud.
- versionId indica el ID del secreto generado automáticamente después de crear un secreto en la consola de Huawei Cloud.
- LATEST_VERSION indica la versión del secreto.
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/en-us/productdesc-iam/iam_01_0023.html * - CSMS_ENDPOINT: endpoint address for accessing CSMS. For details, see https://support.huaweicloud.com/intl/en-us/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(); } }
Tema principal: Rotación de secretos
Comentarios
¿Le pareció útil esta página?
Deje algún comentario
Muchas gracias por sus comentarios. Seguiremos trabajando para mejorar la documentación.
El sistema está ocupado. Vuelva a intentarlo más tarde.