Creación de secretos de credenciales personalizados
El tipo de secreto de credenciales personalizadas permite a los usuarios de IBM Cloud® Secrets Manager gestionar de forma segura las credenciales de sistemas externos (como Artifactory o PagerDuty ) a través de las API y las integraciones de Secrets Manager. Para crear estos secretos, se despliega un trabajo IBM Cloud® Code Engine que actúa como puente entre Secrets Manager y el servicio externo. Estos trabajos se ejecutan según un calendario fijo y gestionan las credenciales de forma asíncrona mediante tareas secretas.
El proceso de creación de credenciales personalizadas es asíncrono por diseño. Cuando se añade un nuevo secreto, inicialmente entra en un estado de preactivación. Si el secreto se crea correctamente en el proveedor externo de credenciales, su estado se activa automáticamente en Secrets Manager.
El proceso de creación de secretos de credenciales personalizadas es asíncrono. Después de añadir un secreto, comienza en el estado pre-activation y si se crea con éxito en el proveedor de credenciales, su estado cambia a active en Secrets Manager.
Antes de empezar
Antes de empezar, asegúrese de que dispone de:
- El nivel de acceso requerido. Para crear o añadir secretos, necesita el rol de servicio Escritor o superior.
- Configure su instancia para crear secretos de credenciales personalizados mediante la creación de un trabajo Code Engine y la configuración del motor de credenciales personalizado.
Creación de un secreto de credenciales personalizado en la consola
Para añadir un secreto:
- En la tabla Secretos, pulse Añadir.
- En la lista de tipos de secreto, haga clic en el mosaico Credenciales personalizadas.
- Pulse Siguiente.
- Añada un nombre y una descripción para identificar fácilmente su secreto.
- Seleccione el grupo secretoEl entorno y las restricciones a los que se deben ajustar los secretos contenidos en una instancia. Se puede asociar un usuario con un grupo de secretos para permitir el acceso y la colaboración. que ha creado previamente.
- Opcional: añada etiquetas para ayudarle a buscar secretos similares en la instancia.
- Opcional: Añade metadatos a tu secreto o a una versión específica de tu secreto.
- Cargue un archivo o introduzca los metadatos y los metadatos de la versión en formato JSON.
- Pulse Siguiente.
- Seleccione la configuración del motor de credenciales personalizadas que se utilizará para este secreto.
- Introduzca los valores necesarios en Parámetros.
- Pulse Siguiente.
- Opcional: Activa la duración mínima y la rotación automática de tu secreto.
- Pulse Siguiente.
- Revisa los detalles de tu secreto.
- Pulse Añadir.
Puede cambiar el valor de los parámetros más adelante. El cambio se produce tras la creación de una nueva versión secreta. No es posible añadir o quitar nuevos parámetros sin crear una nueva configuración.
Ver y actualizar los datos secretos en la consola
Como con cualquier otro secreto, puedes acceder a los detalles de tu secreto haciendo clic en el menú Acciones > Detalles. En las pantallas de detalles, puedes obtener información sobre:
Creación de un secreto de credenciales personalizado desde CLI
Antes de empezar, siga las instrucciones de la CLI para configurar el punto final de la API.
Para crear un secreto de credenciales personalizado mediante el complemento CLI de Secrets Manager, ejecute el comando ibmcloud secrets-manager secret-create comando.
ibmcloud secrets-manager secret-create --secret-type custom_credentials --secret-name "example-custom-credential-secret" --secret-description "Description of my custom credential secret" --secret-rotation '{"auto_rotate": true,"interval": 30,"unit": "day"}' --custom-credentials-parameters '{"my_input_parameter":"my_param_value"}' --custom-credentials-configuration '{"my_custom_credential_config"}' --secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"},"version_custom_metadata": {"custom_version_key": "custom_version_value"}}'
Creación de un secreto de credenciales personalizado mediante API
Puede crear una credencial personalizada mediante programación llamando a la API Secrets Manager. Cuando llame a la API, sustituya las variables de ID y la señal de IAM por los valores que son específicos de la instancia de Secrets Manager.
Puede almacenar metadatos relevantes para las necesidades de su organización con los parámetros de solicitud custom_metadata y version_custom_metadata. Los valores de version_custom_metadata sólo se devuelven
para las versiones de un secreto. Los metadatos personalizados de su secreto se almacenan como todos los demás metadatos, para un máximo de 50 versiones, y no deben incluir datos confidenciales.
curl -X POST
-H "Authorization: Bearer {IAM_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-custom-credential-secret",
"description": "Description of my custom credential secret",
"secret_type": "custom_credentials",
"secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
"labels": [
"dev",
"us-south"
],
"rotation": {
"auto_rotate": true,
"interval": 30,
"unit": "day"
},
"configuration": "my_custom_credential_config",
"parameters": {
"user_name": "username",
"scope": "admin"
},
"custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
},
"version_custom_metadata": {
"custom_version_key": "custom_version_value"
}
}'
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"
Creación de un secreto de credenciales personalizado mediante Terraform
Puede crear secretos de credenciales personalizados mediante programación utilizando Terraform para Secrets Manager. El siguiente ejemplo muestra una configuración que puede utilizar para crear un secreto de credenciales personalizado.
La creación de secretos de credenciales personalizados es un proceso asíncrono que puede llevar mucho tiempo dependiendo del caso de uso, por lo tanto cuando se planea utilizar Terraform se deben tener en cuenta los posibles retrasos.
resource "ibm_sm_custom_credentials_secret" "sm_custom_credentials_secret" {
instance_id = ibm_resource_instance.sm_instance.guid
region = "us-south"
name = "secret-name"
secret_group_id = ibm_sm_secret_group.sm_secret_group.secret_group_id
custom_metadata = {"key":"value"}
description = "Extended description for this secret."
labels = ["my-label"]
configuration = "my_custom_credentials_configuration"
parameters {
int_values = {
example_param_1 = 17
}
string_values = {
example_param_2 = "str2"
example_param_3 = "str3"
}
bool_values = {
example_param_4 = false
}
}
rotation {
auto_rotate = true
interval = 3
unit = "day"
}
ttl = "864000"
}
Aproveche los módulos Terraform IBM (TIM) para Secrets Manager Custom Credentials Engine para definir credenciales personalizadas como código con configuraciones repetibles. Empiece a utilizar Terraform IBM Modules.