Configuración de Secrets Manager en el clúster de Kubernetes Service
Al integrar IBM Cloud Secrets Manager con tu clúster de IBM Cloud Kubernetes Service, podrás gestionar de forma centralizada los certificados de subdominios de Ingress y otros secretos.
Acerca de Secrets Manager
Con Secrets Manager, puede utilizar un único servicio para gestionar sus secretos y controlar quién tiene acceso a ellos. Una instancia de Secrets Manager no se suministra automáticamente en el clúster. No obstante, se puede utilizar una única instancia de Secrets Manager en varios clústeres, y un mismo clúster puede tener más de una instancia.
¿Qué funcionalidad puedo obtener con Secrets Manager?
Con Secrets Manager, puede:
- Crea secretos gestionados de « Kubernetes » con certificados de «Ingress» TLS incluidos.
- Cree secretos de Kubernetes de cualquier tipo utilizando el CRN de cualquier instancia de Secrets Manager de su propiedad.
- Actualice automáticamente los secretos en el clúster de forma regular.
- Realice un seguimiento de las fechas de caducidad de los certificados desde la consola de IBM Cloud.
- Controle quién tiene acceso a sus secretos creando grupos de secretos para usuarios aprobados.
Ten en cuenta que, para que tus claves secretas se actualicen automáticamente, debes registrar al menos una instancia de Secrets Manager en tu clúster. Para obtener más información, consulta « Cómo registrar tu instancia de Secrets Manager en tu clúster ».
Secrets Manager Preguntas más frecuentes
Ten en cuenta los siguientes puntos al utilizar Secrets Manager.
- ¿Qué tipos de secretos están soportados con Secrets Manager?
- Secrets Manager da soporte a credenciales de IAM, secretos de clave-valor, credenciales de usuario, secretos arbitrarios y secretos de Kubernetes. En el caso de los secretos de Kubernetes, Secrets Manager admite tanto los tipos de secretos TLS como los non- TLS (opacos). Con los secretos de TLS, puedes especificar un CRN de certificado. Con los secretos que no son de tipo TLS, puedes especificar varios campos para extraer secretos que no sean de certificado. Si no se especifica un tipo de secreto al crearlo, se aplica por defecto el tipo « TLS ». Para obtener más información sobre los secretos soportados, consulte Trabajar con secretos de diferentes tipos.
- ¿Se actualizan automáticamente los secretos almacenados en una instancia de Secrets Manager registrada?
- Sí. Si tiene una instancia de Secrets Manager registrada en el clúster, los secretos del clúster se actualizan automáticamente con los valores de Secrets Manager una vez al día. Estas actualizaciones se realizan utilizando el valor del secreto del CRN correspondiente.
- ¿Se actualizan automáticamente mis secretos si no creo y registro una instancia de Secrets Manager ?
- Si no tiene una instancia de Secrets Manager registrada en el clúster, los secretos de Ingress predeterminados continúan actualizándose automáticamente cada 90 días y se aplican al clúster. Sin embargo, los secretos que ha creado que hacen referencia al secreto de Ingress predeterminado no se actualizan automáticamente.
- Escenario de ejemplo: tiene un certificado de Ingress predeterminado en el espacio de nombres de
default. Ejecute el mandatoibmcloud ks ingress secret createy haga referencia al CRN del certificado de Ingress predeterminado para duplicar el certificado en el espacio de nombresistio-system. Sin una instancia de Secrets Manager, el certificado de Ingress predeterminado del espacio de nombresdefaultse actualiza automáticamente. Sin embargo, es responsable de actualizar regularmente el certificado en el espacio de nombresistio-systemcon los mandatoskubectlu otro método de rotación. - He creado secretos que hacen referencia al certificado de Ingress predeterminado, pero no he creado y registrado una instancia de Secrets Manager. ¿Cómo puedo gestionar mis secretos?
- Si no registra una instancia de Secrets Manager, IBM Cloud Kubernetes Service sólo actualiza automáticamente el secreto de Ingress predeterminado. Usted es responsable de gestionar cualquier otro secreto utilizando mandatos
kubectlu otro método de rotación. Si tiene secretos que hacen referencia al certificado de Ingress predeterminado, debe eliminarlos utilizandoibmcloud ks ingress secret rm. - ¿Cuál es la diferencia entre los mandatos de CLI de
ibmcloud ks ingress instancey los mandatos de CLI deibmcloud ks ingress secret? - Hay dos conjuntos de mandatos de CLI que funcionan directamente con instancias de Secrets Manager en IBM Cloud Kubernetes Service: los mandatos
ibmcloud ks ingress secrety los mandatosibmcloud ks ingress instance. Los mandatosibmcloud ks ingress instancese utilizan para gestionar las instancias de Secrets Manager. Los mandatosibmcloud ks ingress secretse utilizan para gestionar los secretos de Ingress que se almacenan en una instancia de Secrets Manager o secretos que se escriben directamente en el clúster.
Configuración de la instancia de Secrets Manager
Sigue los pasos para configurar « Secrets Manager » en tu clúster.
Habilitar comunicación de servicio a servicio
Para integrar « Secrets Manager » con tu clúster de « IBM Cloud Kubernetes Service », es necesario contar con una autorización para la comunicación entre servicios. Siga los pasos para configurar la autorización. Para obtener más información, consulta Integraciones para Secrets Manager.
- En la consola de IBM Cloud, pulse Gestionar > Acceso (IAM).
- Pulse Autorizaciones.
- Pulse Crear.
- En la lista de servicios de origen, selecciona Kubernetes Service.
- Seleccione la opción para limitar el acceso a Todos los recursos.
- En la lista de servicios de destino, selecciona Secrets Manager.
- Seleccione la opción para limitar el acceso a Todos los recursos.
- En la sección Acceso al servicio, marca la opción Manager.
- Pulse Autorizar.
Crear una instancia de Secrets Manager
Para crear una instancia de « Secrets Manager » en la CLI o en la interfaz de usuario, consulta la documentación de « Secrets Manager ». Es posible que la instancia de « Secrets Manager » tarde varios minutos en completarse.
- Cree una instancia de Secrets Manager en la CLI.
- Cree una instancia de Secrets Manager en la interfaz de usuario.
Cuando creas una instancia de Secrets Manager, esta no se aprovisiona directamente en tu clúster. En el siguiente paso, debes registrar tu nueva instancia de « Secrets Manager » en tu clúster.
Registre la instancia de Secrets Manager en el clúster
Sigue los pasos que se indican a continuación para registrar tu instancia de « Secrets Manager » en tu clúster.
-
Obtenga el CRN de la instancia de Secrets Manager. En la salida, el CRN está en la fila ID.
ibmcloud resource service-instance <instance_name>Salida de ejemplo
Name: my-secrets-manager-instance ID: crn:v1:bluemix:public:secrets-manager:us-south:a/1aa111aa1a11111aaa1a1111aa1aa111:111a1111-11a1-111a-1111-1a1a1a1111a1: GUID: 111a1111-11a1-111a-1111-1a1a1a1111a1 Location: us-south Service Name: secrets-manager Service Plan Name: standard Resource Group Name: default State: active Type: service_instance Sub Type: Created at: 2022-06-08T12:46:45Z Created by: user@ibm.com Updated at: 2022-06-08T12:54:45Z -
Registre la instancia en el clúster. Especifique el CRN de instancia encontrado en el paso anterior.
Si desea registrar una instancia en un clúster y establecerla como la instancia predeterminada, incluya la opción
--is-default. De otro modo, puede establecer una instancia predeterminada con el mandatoibmcloud ks ingress instance default set.ibmcloud ks ingress instance register --cluster CLUSTER_NAME_OR_ID --crn INSTANCE_CRN [--is-default] -
Verifique que la instancia de Secrets Manager se haya registrado en el clúster.
ibmcloud ks ingress instance ls --cluster CLUSTER_NAME_OR_IDSalida de ejemplo
Name Type Is Default Status Secret Group CRN my-secrets-manager-instance secrets-manager false created default crn:v1:bluemix:public:secrets-manager:us-south:a/1aa111aa1a11111aaa1a1111aa1aa111:111a1111-11a1-111a-1111-1a1a1a1111a1::
Puedes especificar una instancia de « Secrets Manager » y un grupo de secretos al crear un clúster con la opción ibmcloud ks cluster create classic o ibmcloud ks cluster create vpc-gen2 comandos . Utilice la opción --sm-instance para registrar una instancia en
el clúster y la opción --sm-group para especificar un grupo de secretos que pueda acceder a los secretos del clúster. Consulta « Registro de una instancia de Secrets Manager al crear un clúster ».
Establezca una instancia predeterminada de Secrets Manager y vuelva a generar los secretos
Cuando establece una instancia de Secrets Manager predeterminada, todos los nuevos certificados de subdominio de Ingress se almacenan en esa instancia.
-
Ejecuta el comando para establecer la nueva instancia predeterminada. Opcionalmente, puede especificar un grupo de secretos que tenga permiso para acceder a los secretos de la instancia.
ibmcloud ks ingress instance default set --cluster CLUSTER_NAME_OR_ID --name INSTANCE_NAME --secret-group SECRET_GROUP_ID -
Vuelva a generar sus secretos. Los secretos gestionados por IBM, como los secretos de Ingress predeterminados, se cargan en la nueva instancia predeterminada. Estos secretos se actualizan automáticamente y el CRN se cambia para hacer referencia a la instancia de Secrets Manager.
- Enumera los subdominios nlb-dns de tu clúster.
ibmcloud ks nlb-dns ls --cluster CLUSTER_NAME_OR_ID ``` 2. Para cada subdominio del clúster, ejecute el mandato para volver a generar los secretos gestionados por IBM. Esto actualiza el CRN de estos secretos para hacer referencia al CRN de la nueva instancia predeterminada de Secrets Manager. La regeneración de sus secretos está limitada a cinco veces por semana. Siga atentamente los pasos de este documento, ya que repetirlos puede hacer que alcance el límite. Si no regeneras tus claves secretas, o si has alcanzado el límite, estas se subirán a tu instancia de Secrets Manager en el siguiente ciclo de renovación. {: important} ```sh {: pre} ibmcloud ks nlb-dns secret regenerate --cluster CLUSTER_NAME_OR_ID --nlb-subdomain NLB_SUBDOMAIN ``` 3. Verifique que los secretos de Ingress predeterminados se hayan vuelto a generar. En la salida, el CRN de los secretos de Ingress predeterminados debe contener `secrets-manager`. Los secretos pueden tardar varios minutos en volver a generarse. Durante este proceso, la columna **Estado** de la salida indica `regenerating` y cambia a `created` cuando se completa la regeneración. {: note} ```sh {: pre} ibmcloud ks ingress secret ls --show-crn --cluster CLUSTER_NAME_OR_ID ``` Salida de ejemplo ```sh {: screen} Name Namespace Expiry Domains Status Type CRN secret-11111aa1a1a11aa1111111-000 default 3 months from now secret-11111aa1a1a.us-s…domain.cloud created TLS crn:v1:bluemix:public:secrets-manager:us-south:a/1aa111aa1:secret:a111aa11-11a1 secret-22222aa2a2a22aa2222222-000 default 3 months from now secret-22222aa2a2a.us-s…domain.cloud created TLS crn:v1:bluemix:public:secrets-manager:us-south:a/2aa222aa2:secret:a222aa22-22a2 ```
Control del acceso a los secretos con grupos de secretos
Con « Secrets Manager », puedes utilizar grupos de secretos para controlar quién tiene acceso a los secretos de tu clúster. Un grupo de secretos se puede asignar a un grupo de acceso de IAM para que sólo los usuarios o ID de servicio seleccionados puedan acceder a los secretos dentro del grupo de secretos. Para obtener más información, consulte Organización de los secretos.
Registro de una instancia de Secrets Manager al crear un clúster
Si estás creando un nuevo clúster Classic o VPC, puedes registrar una instancia existente de « Secrets Manager » y un grupo de secretos en el clúster durante el proceso de creación. Los secretos del clúster se almacenan en la instancia de Secrets Manager y se aplican al grupo de secretos.
La instancia de « Secrets Manager » registrada durante la creación del clúster no se convierte automáticamente en la instancia predeterminada de « Secrets Manager ». Todavía debe establecer la instancia predeterminada manualmente.
Si crea un clúster en la CLI con ibmcloud ks cluster create classic o
ibmcloud ks cluster create vpc-gen2, puede especificar una instancia o grupo de secretos Secrets Manager con las opciones de mandato siguientes:
--sm-instance: utilice esta opción para registrar una instancia de Secrets Manager en el clúster especificando el CRN de instancia. Para encontrar el CRN de una instancia de Secrets Manager, ejecuteibmcloud resource service-instance <name_of_instance>o navegue hasta su lista de recursos en la interfaz de usuario y haga clic en la instancia.--sm-group: utilice esta opción para especificar el ID del grupo de secretos. Para encontrar el ID de grupo de secretos, ejecuteibmcloud secrets-manager secret-groups.
Si crea un clúster en la interfaz de usuario, siga estos pasos para especificar una instancia o grupo de secretos Secrets Manager:
- En la sección Integraciones de la página de creación de clúster, seleccione la opción para habilitar Secrets Manager.
- En el menú desplegable Instancia deSecrets Manager, seleccione la instancia que desea registrar en el clúster. Si no hay instancias disponibles, cree una.
- En el menú desplegable Grupo deSecrets Manager, seleccione el grupo de secretos que desea aplicar.
- Cree el clúster.
- Compruebe que la instancia de Secrets Manager esté registrada en el clúster.
- Cuando su clúster esté totalmente aprovisionado, haga clic en el clúster para ver los detalles del mismo. En Integraciones, busque la cabecera Secrets Manager y pulse Gestionar.
- En el panel lateral, compruebe que la instancia correcta esté listada en Instancias registradas de Secrets Manager.
- Para registrar instancias adicionales en el clúster, pulse Registrar instancias.