Creación de certificados privados SSL / TLS
Puede utilizar IBM Cloud® Secrets Manager para almacenar, solicitar y generar certificados privados SSL / TLS que puede utilizar para sus aplicaciones o servicios.
Un certificado SSL/TLS es un tipo de certificado digital que se utiliza para establecer la privacidad de la comunicación entre un servidor y un cliente. Los certificados son emitidos por autoridades de certificación(CA)Organización o empresa de terceros de confianza que emite los certificados digitales. La entidad emisora de certificados normalmente verifica la identidad de las personas a las que se otorga el certificado exclusivo. y contienen información que se utiliza para crear conexiones fiables y seguras entre puntos finales. Después de añadir un certificado a la instancia de Secrets Manager, puede utilizarlo para proteger las comunicaciones de red para los despliegues en la nube o en las instalaciones. El certificado se almacena de forma segura en la instancia de servicio de Secrets Manager dedicada, donde puede gestionar de forma centralizada su ciclo de vida.
En Secrets Manager, los certificados que se crean utilizando una autoridad de certificación privada son certificados privados (private_cert). Los certificados que importa al servicio son certificados importados (imported_cert). Los certificados que solicite a través de Secrets Manager a una autoridad de certificación de terceros son certificados públicos (public_cert).
Antes de empezar
Antes de empezar, asegúrese de que tiene el nivel de acceso necesario. Para crear o añadir secretos, necesita el rol de servicio Escritor o superior.
Antes de crear un certificado privado, asegúrese de que:
- Prepare la instancia para crear certificados.
- Revise las entidades emisoras de certificados intermedias que están disponibles. Para ver las configuraciones definidas para su instancia, vaya a la página Motores de secretos > Certificados privados en la interfaz de usuario de Secrets Manager.
- Revise las plantillas de certificado que están disponibles para la CA intermedia seleccionada.
Al crear un certificado privado es necesario seleccionar una plantilla. En función de la plantilla que elija, es posible que se apliquen algunas restricciones para el certificado privado. Para ver las plantillas definidas para su CA intermedia, vaya a la página Motores de secretos > Certificados privados en la interfaz de usuario de Secrets Manager. Expanda la fila de la CA intermedia que desea utilizar como autoridad emisora del certificado privado y haga clic en Plantillas para revisar las plantillas disponibles.
Creación de certificados privados
Después de configurar el motor de certificados privados para la instancia, puede utilizar Secrets Manager para generar certificados privados utilizando una entidad emisora de certificados interna que se haya configurado previamente para la instancia de servicio de Secrets Manager. Para poder emitir un certificado, Secrets Manager comprueba si la solicitud de certificado coincide con las restricciones definidas para la plantilla de certificado que seleccione. Una vez emitido el certificado, puede desplegarlo en sus aplicaciones integradas, descargarlo, revocarlo o rotarlo manualmente.
Creación de certificados privados en la interfaz de usuario
Puede crear un certificado privado utilizando la interfaz de usuario de Secrets Manager.
- En la consola, pulse el icono Menú
> Lista de recursos.
- En la lista de servicios, seleccione la instancia de Secrets Manager.
- En la tabla Secretos, pulse Añadir.
- Pulse el mosaico Crear certificado privado.
- Pulse Siguiente.
- Añada un nombre y una descripción para identificar fácilmente el certificado.
- Opcional: añada etiquetas para ayudarle a buscar secretos similares en la instancia.
- Opcional: añada metadatos a su secreto o a una versión específica de su secreto.
- Cargue un archivo o especifique los metadatos y los metadatos de versión en formato JSON.
- Pulse Siguiente.
- Seleccione una configuración de entidad emisora de certificados.
La configuración que seleccione determina la entidad emisora de certificados que se utilizará para firmar y emitir el certificado. Para ver las configuraciones definidas para la instancia, puede ir a Motores de secretos > Certificados privados.
- Seleccione una plantilla de certificado.
La plantilla que selecciona determina los parámetros que se aplicarán al certificado generado. Para ver los detalles de las plantillas de certificados definidas para la entidad emisora de certificados seleccionada, puede ir a Motores de secretos > Certificados privados. En la lista de entidades emisoras de certificados, expanda la fila de la CA que desea utilizar como entidad emisora del certificado privado y pulse Plantillas. 12. Opcional: habilite la rotación automática para el certificado.
Para habilitar la rotación automática, cambie el conmutador de rotación a Activado. Seleccione un intervalo y una unidad que especifique el número de días entre las rotaciones planificadas.
En función de la plantilla de certificado que elija en los pasos siguientes, es posible que se apliquen algunas restricciones en el intervalo de rotación para el certificado privado. Por ejemplo, el intervalo de rotación no puede superar el tiempo de vida (TTL) definido en la plantilla. Para obtener más información, consulte Plantillas de certificados.
- Obligatorio: Especifique un nombre común para su certificado.
En función de la plantilla de certificado que elija, es posible que se apliquen algunas restricciones en el nombre común. Para ver los detalles de la plantilla de certificado seleccionada, puede ir a Motores de secretos > Certificados privados. En la lista de entidades emisoras de certificados, expanda la fila de la CA que desea utilizar como entidad emisora del certificado privado y pulse Plantillas. 14. 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 desea asignar al certificado.
Si la plantilla de certificado seleccionada permite añadir certificados a grupos de secretos específicos, solo se listarán los grupos permitidos. Si la plantilla no tiene restricciones, puede crear un grupo de secretos si no tiene ya uno. El certificado se añade automáticamente al nuevo grupo. Para obtener más información sobre los grupos de secretos, consulte Organización de sus secretos. 15. Opcional: especifique nombres alternativos para el certificado.
Los nombres alternativos pueden ser nombres de host o direcciones de correo electrónico. 16. Pulse Siguiente. 17. Revise los detalles del certificado. 18. Pulse Añadir.
Creación de certificados privados desde la CLI
Antes de empezar, siga las instrucciones de la CLI para configurar el punto final de la API.
Para crear un certificado privado mediante el complemento CLI de Secrets Manager, ejecute el comando ibmcloud secrets-manager secret-create comando. Por ejemplo, el mandato siguiente crea un secreto de certificado privado a partir de la plantilla de certificado que especifique.
Cuando solicita un certificado, se realiza la validación del dominio para verificar la propiedad de los dominios seleccionados. El proceso puede tardar algunos minutos en completarse.
ibmcloud secrets-manager secret-create \
--secret-name example-private-certificate \
--secret-description "Extended description for this secret." \
--secret-type private_cert \
--secret-group-id bc656587-8fda-4d05-9ad8-b1de1ec7e712 \
--secret-labels dev,us-south \
--private-cert-template-name example-certificate-template \
--certificate-common-name cert_common_name \
--secret-rotation '{"enabled": false, "rotate_keys": false}' \
--secret-custom-metadata '{"anyKey": "anyValue"}' \
--secret-version-custom-metadata '{"anyKey": "anyValue"}' \
--secret-expiration-date 2030-01-01T00:00:00Z
El mandato genera el valor de ID del secreto, junto con otros metadatos. Para obtener más información sobre las opciones de mandato, consulte ibmcloud secrets-manager secret-create.
Creación de certificados privados con la API
Puede generar certificados privados mediante programación llamando a la API de Secrets Manager.
El ejemplo siguiente muestra una consulta que puede utilizar para crear un certificado privado. 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 que sean 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 del secreto se almacenan como todos los demás metadatos, para un máximo de 50 versiones, y no debe incluir datos confidenciales.
curl -X POST
-H "Authorization: Bearer {iam_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-private-certificate",
"description": "Description of my private certificate",
"secret_type": "private_cert",
"secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
"labels": [
"dev",
"us-south"
],
"certificate_template": "test-certificate-template",
"common_name": "localhost",
"alt_names": [
"alt-name-1",
"alt-name-2"
],
"ip_sans": "127.0.0.1",
"uri_sans": "https://www.example.com/test",
"ttl": "2190h",
"rotation": {
"auto_rotate": true,
"interval": 1,
"unit": "month"
},
"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"
¿Necesita crear un certificado privado con opciones avanzadas? Puede utilizar parámetros de solicitud opcionales para especificar atributos avanzados para el certificado privado, como por ejemplo Nombres alternativos de asunto o un tiempo de vida (TTL). Si omite estos parámetros opcionales, se aplicarán los atributos definidos para la plantilla de certificado seleccionada. Para obtener más información, examine la Consulta de API.
Una solicitud satisfactoria devuelve el contenido del certificado privado, junto con otros metadatos determinados por la plantilla de certificado y la entidad emisora de certificados.
{
"alt_names": [
"s1.example.com",
"*.s2.example.com"
],
"certificate_authority": "test-intermediate-CA",
"certificate_template": "test-certificate-template",
"common_name": "example.com",
"created_at": "2022-10-02T14:08:07Z",
"created_by": "iam-ServiceId-e4a2f0a4-3c76-4bef-b1f2-fbeae11c0f21",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:f1bc94a6-64aa-4c55-b00f-f6cd70e4b2ce:secret:cb7a2502-8ede-47d6-b5b6-1b7af6b6f563",
"custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
},
"description": "Extended description for this secret.",
"downloaded": true,
"expiration_date": "2023-03-02T15:08:37Z",
"id": "cb7a2502-8ede-47d6-b5b6-1b7af6b6f563",
"issuer": "example.com",
"key_algorithm": "RSA2048",
"labels": [
"dev",
"us-south"
],
"locks_total": 0,
"name": "example-private-certificate",
"next_rotation_date": "2022-03-02T14:08:07Z",
"rotation": {
"auto_rotate": false,
"interval": 1,
"unit": "month"
},
"secret_data": {
"certificate": "-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----",
"issuing_ca": "-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----",
"ca_chain": [
"-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----"
],
"private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAqcRbzV1wp0nVrPtEpMtnWMO6Js1q3rhREZluKZfu0Q8SY4H3\n-----END RSA PRIVATE KEY-----"
},
"secret_group_id": "bc656587-8fda-4d05-9ad8-b1de1ec7e712",
"secret_type": "private_cert",
"serial_number": "03:e2:c6:e4:0b:7d:30:e2:e2:78:1b:b9:13:fd:f0:fc:89:dd",
"signing_algorithm": "SHA256-RSA",
"state": 1,
"state_description": "active",
"updated_at": "2022-03-02T14:08:37Z",
"validity": {
"not_before": "2022-03-02T15:08:37Z",
"not_after": "2023-03-01T00:00:00Z"
},
"versions_total": 1
}
Creación de certificados privados con Terraform
El siguiente ejemplo muestra una configuración que puede utilizar para crear un certificado privado.
resource "ibm_sm_private_certificate" "test_private_certificate" {
instance_id = local.instance_id
region = local.region
name = "test-private-certificate"
common_name = "my.example.com"
certificate_template = ibm_sm_private_certificate_configuration_template.test_ca_template.name
ttl = "90d"
}
Una vez emitido el certificado, puede desplegarlo en sus aplicaciones integradas, descargarlo o rotarlo manualmente. Para obtener más información sobre los parámetros de solicitud necesarios y opcionales, consulte el apartado Referencia de API.
Para automatizar la creación y gestión de certificados privados, utilice los módulos Terraform IBM (TIM) para Secrets Manager Private Certificate for infrastructure as code. Consulte Módulos Terraform IBM para obtener orientación sobre la implementación.