Trabajar con secretos
Aprenda a trabajar con secretos en Code Engine. En Code Engine, puede almacenar su información como pares clave-valor en secretos que pueden ser consumidos por su función, trabajo o aplicación mediante el uso de variables de entorno.
¿Qué son los secretos y por qué debería utilizarlos?
En Code Engine, los secretos (y configmaps) son una colección de pares de clave-valor. Cuando se correlacionan con variables de entorno, las relaciones NAME=VALUE
se establecen de tal forma que el nombre de la variable de entorno
corresponde a la "clave" de cada entrada de esos mapas, y el valor de la variable de entorno es el "valor" de esa clave.
Un secreto proporciona un método para incluir información de configuración confidencial, como contraseñas o claves SSH, en el despliegue. Al hacer referencia a los valores de su secreto, puede desacoplar la información confidencial de su despliegue para mantener su aplicación, función o trabajo portátil. Cualquiera que tenga autorización sobre su proyecto también puede ver sus secretos; asegúrese de que se puede compartir la información secreta con dichos usuarios. Los secretos contienen información en pares de clave-valor.
Dado que los secretos y los configmaps son entidades similares (excepto que los secretos se almacenan de forma más segura), la forma de interactuar y trabajar con secretos y configmaps también es similar. Para obtener más información sobre los mapas de configuración, consulte Trabajar con mapas de configuración.
¿Qué tipo de secretos puedo crear en Code Engine?
Code Engine da soporte a diversos secretos y proporciona opciones para crear y trabajar con secretos.
La tabla siguiente resume los secretos soportados en Code Engine.
Nombre | Descripción |
---|---|
Autenticación básica | Un secreto que contiene una clave username y password .Utilice secretos de autenticación básica cuando acceda a un servicio que requiera autenticación básica HTTP. |
Genérico | Un secreto que almacena pares de clave-valor simples y Code Engine no hace suposiciones sobre los pares de clave-valor definidos ni sobre el uso previsto del secreto. Utilice secretos genéricos cuando desee definir sus propios pares de clave-valor para acceder a un servicio. |
HMAC | Un secreto que contiene un access_key_id y una clave secret_access_key .Utilice credenciales HMAC para utilizar herramientas y bibliotecas de S3-compatible que requieran autenticación pero no admitan claves de API de IBM Cloud® Identity and Access Management. |
Registry | Un secreto que almacena credenciales para acceder a un registro de contenedor. Utilice secretos de registro cuando trabaje con Code Engine apps o trabajos para acceder a una imagen de contenedor. O bien, utilice Code Engine para crear una imagen de contenedor y el secreto de registro lo utiliza Code Engine para acceder al registro para almacenar la imagen de contenedor compilada. Este secreto también se conoce como Registry access secret en
la CLI. |
Acceso de servicio | Un secreto que almacena credenciales para acceder a una instancia de servicio de IBM Cloud. Utilice secretos de acceso a servicios cuando trabaje con enlaces a servicios en Code Engine. Code Engine puede generar automáticamente este secreto o puede crear su propio secreto de acceso a servicios personalizado. |
SSH | Un secreto que almacena credenciales para autenticarse en un servicio con una clave SSH, como por ejemplo autenticarse en un repositorio Git, como por ejemplo GitHub o GitLab. Utilice secretos SSH cuando desee que Code Engine cree una imagen de contenedor para usted. Code Engine utiliza este secreto para acceder al código fuente en un repositorio de código. Por ejemplo, utilice este secreto con ejecuciones de compilación para acceder al código fuente en un repositorio, como por ejemplo GitHub o GitLab. Este secreto también se utiliza como Git repository access secret en la CLI y como Code repo access en la consola. |
Seguridad de la capa de transporte (TLS) | Un secreto que contiene un certificado TLS firmado, incluidos todos sus certificados intermedios, y su clave privada correspondiente de una entidad emisora de certificados (CA). Utilice secretos TLS cuando trabaje con correlaciones de dominio personalizadas en Code Engine. |
Creación de secretos
Utiliza secretos para proporcionar información sensible a tus aplicaciones, trabajos o funciones. Los secretos se definen en pares de clave-valor y los datos almacenados en secretos están codificados.
Creación de un secreto desde la consola
Aprenda a crear secretos desde la consola de Code Engine.
Aprenda a crear los siguientes tipos de secretos desde la consola.
Crear un secreto genérico desde la consola
Aprenda a crear secretos genéricos desde la consola Code Engine que pueden ser consumidos por funciones, trabajos o aplicaciones como variables de entorno.
Antes de empezar, cree un proyecto.
- Una vez que su proyecto esté en estado Activo, haga clic en el nombre de su proyecto en la página Code Engine Projects.
- En la página Componentes, pulse Secretos y mapas de configuración.
- En la página Secretos y mapas de configuración, pulse Crear para crear el secreto.
- En la página Crear secreto o configmap, realice los pasos siguientes:
- Seleccione Secreto genérico y pulse Siguiente.
- Proporcione un nombre; por ejemplo,
mysecret-generic
. - Pulse Añadir par de clave-valor. Especifique uno o más pares de clave-valor para este secreto. Por ejemplo, especifique una clave como
secret1
con el valormysecret1
y especifique otra clave comosecret2
con el valortarget-secret
. El nombre que elija para la clave no necesita ser el mismo que el nombre de la variable de entorno. Observe que el valor de la clave está oculto, pero se puede ver si es necesario. - Pulse Crear para crear el secreto.
Ahora que su secreto está creado desde la consola, vaya a la página Secretos y configmaps para ver una lista de los secretos y configmaps definidos. Puede aplicar filtros para personalizar la lista para que se ajuste a sus necesidades.
Crear un secreto HMAC desde la consola
Aprenda a crear secretos HMAC desde la consola Code Engine que pueden ser consumidos por funciones, trabajos o aplicaciones como variables de entorno. Se utilizan con herramientas y bibliotecas de S3-compatible que requieren autenticación pero no admiten claves de API de IBM Cloud® Identity and Access Management.
Antes de empezar, cree un proyecto.
- Una vez que su proyecto esté en estado Activo, haga clic en el nombre de su proyecto en la página Code Engine Projects.
- En la página Componentes, pulse Secretos y mapas de configuración.
- En la página Secretos y mapas de configuración, pulse Crear para crear el secreto.
- En la página Crear secreto o configmap, realice los pasos siguientes:
- Seleccione Secreto HMAC y haga clic en Siguiente.
- Proporcione un nombre; por ejemplo,
mysecret-hmac
. - Especifique el ID de la clave de acceso.
- Especifique la clave de acceso Secreto. Observe que el valor de la clave está oculto, pero se puede ver si es necesario.
- Pulse Crear para crear el secreto.
Ahora que su secreto está creado desde la consola, vaya a la página Secretos y configmaps para ver una lista de los secretos y configmaps definidos. Puede aplicar filtros para personalizar la lista para que se ajuste a sus necesidades.
Para más información sobre los secretos HMAC, consulte IBM Cloud Object Storage- API Key vs HMAC.
Crear un secreto de registro desde la consola
Aprenda a crear secretos de registro desde la consola de Code Engine que las funciones, trabajos, apps o compilaciones pueden consumir para acceder a la extracción o envío por push de una imagen de contenedor.
Antes de empezar, cree un proyecto.
- Una vez que su proyecto esté en estado Activo, haga clic en el nombre de su proyecto en la página Code Engine Projects.
- En la página Componentes, pulse Secretos y mapas de configuración.
- En la página Secretos y mapas de configuración, pulse Crear para crear el secreto.
- En la página Crear secreto o configmap, realice los pasos siguientes:
- Seleccione Secreto de registro y pulse Siguiente.
- Proporcione un nombre; por ejemplo,
mysecret-registry
. - Especifique el registro de destino para este secreto, como por ejemplo IBM Cloud Container Registry o Docker Hub.
- Especifique la ubicación del registro.
- Especifique un nombre de usuario. Si este secreto es para IBM Cloud Container Registry, el nombre de usuario es
iamapikey
. Si este secreto es para Docker Hub, es su ID de Docker. - Especifique las credenciales para el nombre de usuario. Para IBM Cloud Container Registry, utilice la clave de API de IAM. Para Docker Hub, puede utilizar la contraseña de Docker Hub o una señal de acceso. Para otros registros de destino, especifique la contraseña o la clave de API para el nombre de usuario.
- Pulse Crear para crear el secreto.
Ahora que su secreto está creado desde la consola, vaya a la página Secretos y configmaps para ver una lista de los secretos y configmaps definidos. Puede aplicar filtros para personalizar la lista para que se ajuste a sus necesidades.
Para obtener más información sobre cómo trabajar con registros de imágenes, consulte Acceso a registros de contenedor.
Creación de un secreto SSH desde la consola
Aprenda a crear un secreto SSH desde la consola que pueden consumir las compilaciones para acceder a repositorios de código fuente privado. Un secreto SSH almacena credenciales para autenticarse en un servicio con una clave SSH, como por ejemplo autenticarse en un repositorio Git, como por ejemplo GitHub o GitLab.
Antes de empezar, cree un proyecto.
- Una vez que su proyecto esté en estado Activo, haga clic en el nombre de su proyecto en la página Code Engine Projects.
- En la página Componentes, pulse Secretos y mapas de configuración.
- En la página Secretos y mapas de configuración, pulse Crear para crear el secreto.
- En la página Crear secreto o configmap, realice los pasos siguientes:
- Seleccione Secreto SSH y pulse Siguiente.
- Proporcione un nombre; por ejemplo,
mysecret-ssh
. - Añada la clave privada SSH para este secreto.
- Pulse Crear para crear el secreto.
Ahora que su secreto está creado desde la consola, vaya a la página Secretos y configmaps para ver una lista de los secretos y configmaps definidos. Puede aplicar filtros para personalizar la lista para que se ajuste a sus necesidades.
Utilice el secreto SSH al trabajar con repositorios de código privado, como por ejemplo repositorios Git. Consulte Acceso a repositorios de código privado.
Crear un secreto TLS desde la consola
Aprenda a crear un secreto TLS desde la consola que pueden consumir las apps cuando trabaje con correlaciones de dominio personalizadas en Code Engine. Un secreto de seguridad de la capa de transporte (TLS) contiene un certificado TLS firmado, incluidos todos sus certificados intermedios, y su clave privada correspondiente de una entidad emisora de certificados (CA).
Antes de empezar, cree un proyecto.
- Una vez que su proyecto esté en estado Activo, haga clic en el nombre de su proyecto en la página Code Engine Projects.
- En la página Componentes, pulse Secretos y mapas de configuración.
- En la página Secretos y mapas de configuración, pulse Crear para crear el secreto.
- En la página Crear secreto o configmap, realice los pasos siguientes:
- Seleccione Secreto TLS y pulse Siguiente.
- Proporcione un nombre; por ejemplo,
mysecret-tls
. - Añada la cadena de certificados y su clave privada. Tenga en cuenta que puede concatenar los certificados comenzando cada uno en una nueva línea. Puede proporcionar esta información en un archivo.
- Pulse Crear para crear el secreto.
Ahora que su secreto está creado desde la consola, vaya a la página Secretos y configmaps para ver una lista de los secretos y configmaps definidos. Puede aplicar filtros para personalizar la lista para que se ajuste a sus necesidades.
Utilice el secreto TLS al trabajar con correlaciones de dominio personalizadas en Code Engine.
Creación de secretos con la CLI
Aprenda a crear secretos con la CLI Code Engine que pueden ser consumidos por aplicaciones, trabajos o funciones como variables de entorno.
Antes de empezar
- Configure su entorno de CLI de Code Engine.
- Cree y trabaje con un proyecto.
A partir de la versión de la CLI 1.42.0, la definición y el trabajo con secretos en la CLI se unifican bajo el grupo de comandos secret
grupo de comandos. Consulte los mandatos ibmcloud ce secret
.
Utilice la opción --format
para especificar la categoría del secreto, como basic_auth
, generic
, hmac
, ssh
, tls
o registry
. El valor por defecto de
la opción --format
es generic
.
Utilizando el mandato secret create
, puede crear y gestionar diversos formatos de secreto. Para obtener descripciones de los distintos formatos secretos, consulte ¿Qué tipo de secretos puedo crear en Code Engine?
Aprenda a crear los siguientes tipos de secretos con la CLI,
Creación de un secreto de autenticación básica con la CLI
Un secreto de autenticación básica contiene una clave de usuario y contraseña y se utiliza para acceder a un servicio que requiere autenticación básica HTTP. El ejemplo siguiente crea un secreto de autenticación básico con credenciales para
myusername
y la contraseña asociada se proporciona en un archivo en la estación de trabajo local
ibmcloud ce secret create --name mysecret-basicauth --format basic_auth --username myusername --password-from-file ./password.txt
Para visualizar los detalles de este secreto,
ibmcloud ce secret get --name mysecret-basicauth
Salida de ejemplo
Getting secret 'mysecret-basicauth'...
OK
Name: mysecret-basicauth
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: basic_auth
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 66s
Created: 2021-03-10T18:44:18-05:00
Data:
---
password: REDACTED
username: bXl1c2VybmFtZQ==
Tenga en cuenta que el valor de la clave username
para este secreto de autenticación básica está codificado y que el valor de password
está redactado. Para visualizar los datos secretos como decodificados, utilice
la opción --decode
con el mandato secret get
.
Creación de un secreto genérico con la CLI
Un secreto genérico almacena pares clave-valor simples y Code Engine no hace suposiciones sobre los pares clave-valor definidos ni sobre el uso previsto del secreto.
Puede crear un secreto genérico con el comando secret create
de una de las siguientes maneras. De forma predeterminada, se crea un secreto genérico cuando no se especifica la opción --format
.
-
Cree un secreto directamente desde la línea de mandatos utilizando la opción
--from-literal
en el formatoKEY=VALUE
. Por ejemplo:ibmcloud ce secret create --name myliteralsecret --from-literal "TARGET=My literal secret"
-
Cree un secreto utilizando la opción
--from-file
para apuntar a un archivo. Utilizando esta opción, todo el contenido del archivo pasa a ser el valor del par clave-valor. En este ejemplo, utilizamos un archivo denominadosecrets.txt
que contienemy little secret1
.-
En el ejemplo siguiente se utiliza el formato
--from-file KEY=FILE
con el mandatosecret create
:ibmcloud ce secret create --name mysecretmsg1 --from-file TARGET=secrets.txt
-
En el ejemplo siguiente se utiliza el formato
--from-file FILE
con el mandatosecret create
. En este ejemplo,TARGET
(sin extensión) es el nombre del archivo, que es el mismo que el nombre de la variable de entorno que se conoce en el trabajo.ibmcloud ce secret create --name mysecretmsg2 --from-file TARGET
-
-
Cree un secreto utilizando la opción
--from-env-file
para apuntar a un archivo que contiene una o más líneas que coincidan con el formatoKEY=VALUE
. Cada línea del archivo especificado se añade como un par de clave-valor. Las líneas del archivo especificado que están vacías o empiezan por#
se ignoran. En este ejemplo, utilice un archivo llamadosecrets_multi.txt
que contiene los pares clave-valor:sec1=mysec1
,sec2=mysec2
ysec3=mysec3
.ibmcloud ce secret create --name mysecretmulti --from-env-file secrets_multi.txt
Si desea crear (o actualizar) un secreto genérico a partir de un archivo, utilice la opción --from-file
con uno de los formatos siguientes: --from-file FILE
o --from-file KEY=FILE
En Code Engine, cuando
utilice la opción --from-file
para especificar valores secretos, todo el contenido del archivo es el valor del par de clave-valor. Cuando se utiliza el formato de opción de --from-file KEY=FILE
, el KEY
es el nombre de la variable de entorno que se conoce a su trabajo, función o aplicación. Cuando utiliza el formato de opción --from-file FILE
, FILE
es el nombre de la variable de entorno que conoce su trabajo,
función o aplicación. Si el archivo contiene una o más pares de clave-valor, utilice la opción --from-env-file
para añadir una variable de entorno para cada par de clave-valor en el archivo especificado. Se ignoran todas las
líneas del archivo especificado que estén vacías o empiecen por #
.
Para visualizar los detalles del secreto genérico, myliteralsecret
,
ibmcloud ce secret get --name myliteralsecret
Salida de ejemplo
Getting secret 'myliteralsecret'...
OK
Name: myliteralsecret
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: generic
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 66s
Created: 2023-03-07 21:06:34 +0000 UTC
Data:
---
TARGET: TXkgbGl0ZXJhbCBzZWNyZXQ=
Observe que el valor de la clave TARGET
para este secreto genérico está codificado. Para visualizar los datos secretos como decodificados, utilice la opción --decode
con el mandato secret get
.
Creación de un secreto HMAC con la CLI
Un secreto HMAC contiene una access_key_id
y una secret_access_key
clave y se utiliza con S3-compatible herramientas y bibliotecas que requieren autenticación pero no soportan IBM Cloud® Identity and Access Management
claves API. Consulte IBM Cloud Object Storage- API Key vs HMAC cuándo utilizar IBM Cloud® Identity and Access Management
API Keys o credenciales HMAC. El siguiente ejemplo crea un secreto HMAC con credenciales de muestra, que se proporcionarán cuando se soliciten.
ibmcloud ce secret create --name mysecret-hmac --format hmac --access-key-id-prompt --secret-access-key-prompt
Para visualizar los detalles de este secreto,
ibmcloud ce secret get --name mysecret-hmac
Salida de ejemplo
Getting secret 'mysecret-hmac'...
OK
Name: mysecret-hmac
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: hmac_auth
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 86s
Created: 2025-05-15T12:41:15-05:00
Data:
---
access_key_id: MWEyYjNjNGQ1ZTZmMWEyYjNjNGQ1ZTZmMWEyYjNjNGQK
secret_access_key: REDACTED
Observa que el valor de la clave access_key_id
para este secreto HMAC está codificado, y el valor de secret_access_key
está redactado. Para visualizar los datos secretos como decodificados, utilice la opción --decode
con el mandato secret get
.
Creación de un secreto de registro con la CLI
Un secreto de registro almacena credenciales para acceder a un registro de contenedor.
El ejemplo siguiente crea un secreto de registro que se denomina mysecret-registry
para acceder a una instancia de IBM Cloud Container Registry que está en el servidor de registro de us.icr.io
y especifica las credenciales
para username
y password
.
ibmcloud ce secret create --name mysecret-registry --format registry --server us.icr.io --username iamapikey --password API_KEY
Para visualizar los detalles de este secreto,
ibmcloud ce secret get --name mysecret-registry
Salida de ejemplo
Getting secret 'mysecret-registry'...
OK
Name: mysecret-registry
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: registry
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 66s
Created: 2023-03-07 20:00:45 +0000 UTC
Data:
---
email: ""
password: REDACTED
server: dXMuaWNyLmlv
username: aWFtYXBpa2V5
Tenga en cuenta que el valor de las claves username
y server
para este secreto de registro está codificado y el valor de password
está redactado. Para visualizar los datos secretos como decodificados,
utilice la opción --decode
con el mandato secret get
.
Creación de un secreto SSH con la CLI
Un secreto SSH almacena credenciales para autenticarse en un servicio con una clave SSH; por ejemplo, autenticarse en un repositorio Git, como GitHub o GitLab.
El ejemplo siguiente crea un secreto SSH que se denomina mysecret-ssh
para acceder a un host que se incluye en el archivo known_hosts
autenticándose con un archivo de clave privada SSH no cifrado que se encuentra
en /<filepath>/.ssh/<key_name>
, donde <filepath>
es la vía de acceso de la estación de trabajo local. Este mandato requiere un nombre y una vía de acceso de clave, y también permite otros argumentos
opcionales como, por ejemplo, la vía de acceso al archivo de hosts conocidos.
ibmcloud ce secret create --name mysecret-ssh --format ssh --key-path ~/.ssh/<key_name> --known-hosts-path ~/.ssh/known_hosts
Para visualizar los detalles de este secreto,
ibmcloud ce secret get --name mysecret-ssh
Salida de ejemplo
Getting secret 'mysecret-ssh'...
OK
Name: mysecret-ssh'
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: ssh
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 66s
Created: 2023-03-07 19:19:59 +0000 UTC
Data:
---
known_hosts: fDF8bGh0ekpiSFVXdXRxZWg1NUlrWTk4RjdOdjJZPXxsUmhZd0txVmIwd3dSV2xzcjEySFdoWURUTG89IHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQUJJd0FBQVFFQXEyQTdoUkdtZG5tOXRVRGJPOUlEU3dCSzZUYlFhK1BYWVBDUHk2cmJUclR0dzdQSGtjY0tycHAweVZocDVIZEVJY0tyNnBMbFZEQmZPTFg5UVVzeUNPVjB3emZqSUpObEdFWXNkbExKaXpIaGJuMm1VanZTQUhRcVpFVFlQODFlRnpMUU5uUEh0NEVWVlVoN1ZmREVTVTg0S2V6bUQ1UWxXcFhMbXZVMzEveU1mK1NlOHhoSFR2S1NDWklGSW1Xd29HNm1iVW9XZjluenBJb2FTakIrd2VxcVVVbXBhYWFzWFZhbDcySitVWDJCKzJSUFczUmNUMGVPelFncWxKTDNSS3JUSnZkc2pFM0pFQXZHcTNsR0hTWlh5MjhHM3NrdWEyU21WaS93NHlDRTZnYk9EcW5UV2xnNyt3QzYwNHlkR1hBOFZKaVM1YXA0M0pYaVVGRkFhUT09CnwxfEpUSjI4MCt0RkFSMGcxZ3VrZW56U3ZBYm5sQT18RDlSUWppenZlR3UxS0FnNjhNeisrUHM3RmZrPSBlY2RzYS1zaGEyLW5pc3RwMjU2IEFBQUFFMlZqWkhOaExYTm9ZVEl0Ym1semRIQXlOVFlBQUFBSWJtbHpkSEF5TlRZQUFBQkJCRW1LU0VOalFFZXpPbXhrWk15N29wS2d3RkI5bmt0NVlScllNak51RzVOODd1UmdnNkNMcmJvNXdBZFQveTZ2MG1LVjBVMncwV1oyWUIvKytUcG9ja2c9CnwxfDhIOXpNb0VORklZVDNPeVZYWlQrY25wb0srND18dVdhVThFV1FPc0ttSDMzREVVd0xnNUtiUk44PSBzc2gtZWQyNTUxOSBBQUFBQzNOemFDMWxaREkxTlRFNUFBQUFJT01xcW5rVnpybTBTZEc2VU9vcUtMc2FiZ0g1Qzlva1dpMGRoMmw5R0tKbAo=
ssh-privatekey: REDACTED
Tenga en cuenta que el valor de la clave known_hosts
para este secreto SSH está codificado y que el valor de ssh-privatekey
está redactado. Para visualizar los datos secretos como decodificados, utilice la opción
--decode
con el mandato secret get
.
Creación de un secreto TLS con la CLI
Un secreto de seguridad de la capa de transporte (TLS) contiene un certificado TLS firmado, incluidos todos sus certificados intermedios, y su clave privada correspondiente de una entidad emisora de certificados (CA). Utilice secretos TLS cuando trabaje con correlaciones de dominio personalizadas.
El ejemplo siguiente crea un secreto TLS que se denomina mysecret-tls
. La cadena de certificados que corresponde al dominio personalizado está contenida en el archivo certificate.txt
y el archivo de clave privada
coincidente está contenido en el archivo privatekey.txt
. En este ejemplo, ambos archivos se encuentran en el directorio raíz de la estación de trabajo local.
ibmcloud ce secret create --name mysecret-tls --format tls --cert-chain-file certificate.txt --private-key-file privatekey.txt
Para visualizar los detalles de este secreto,
ibmcloud ce secret get --name mysecret-tls
Salida de ejemplo
Getting secret 'mysecret-tls'...
OK
Name: mysecret-tls'
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: tls
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 66s
Created: 2023-03-07 16:14:46 +0000 UTC
Data:
---
tls.crt: REDACTED
tls.key: REDACTED
Listado de secretos con la CLI
Una vez creados los secretos, utilice el mandato secret list
para listar todos los secretos del proyecto. Por ejemplo:
ibmcloud ce secret list
Salida de ejemplo
Listing secrets...
OK
Name Format Data Age
ce-auto-icr-private-us-south registry 4 333d
ce-auto-private-icr-us-south registry 4 335d
myregistry-seccmd registry 4 3h31m
mysecret-basicauth basic_auth 2 7m37s
mysecret-generic generic 1 7m7s
mysecret-genericfromfile generic 2 2m29s
mysecret-hmac hmac_auth 2 21m
mysecret-registry registry 4 111s
mysecret-ssh ssh_auth 2 42m
mysecret-tls tls 2 3h47m
Actualización de secretos
Puede cambiar pares de clave-valor para los secretos existentes.
Actualización de secretos desde la consola
Puede actualizar pares de clave-valor para los secretos definidos desde la consola.
-
Puede actualizar pares de clave-valor para los secretos definidos desde la consola de una de las maneras siguientes.
- Vaya a la página Secretos y mapas de configuración para el proyecto y localice el secreto que desea actualizar. Pulse el nombre del secreto que desea actualizar para abrirlo.
- Si una aplicación, trabajo o función hace referencia a tu secreto, utiliza los enlaces de la tabla de variables de entorno en la pestaña Variables de entorno de tu aplicación, trabajo o función. Estos enlaces le llevan directamente a su secreto. De forma alternativa, también puede ir a la página Secretos y mapas de configuración para el proyecto y localizar el secreto que desea actualizar. Pulse el nombre del secreto que desea actualizar para abrirlo.
-
Pulse Editar y realice las actualizaciones para su secreto.
-
Pulse Guardar para guardar los cambios en su secreto.
Si un trabajo, función o aplicación hace referencia a tu secreto actualizado, deberás reiniciar el trabajo, función o aplicación para que los nuevos datos surtan efecto.
- Apps - En la página de la app, pulse Nueva revisión y luego Guardar y desplegar. De forma alternativa, puede esperar a que su app reduzca sus instancias a cero y cuando la app aumenta, la app utiliza el secreto actualizado.
- Trabajos - En la página del trabajo, pulse Enviar trabajo para ejecutar el trabajo, o puede volver a ejecutar un trabajo. Esta nueva ejecución de trabajo utiliza el secreto actualizado.
- Funciones-En la página de la función, pulse Probar función. Si tiene un navegador abierto a la función URL, actualice el navegador.
Actualización de secretos con la CLI
Puede actualizar un secreto existente y sus pares de clave-valor con la CLI.
-
Para cambiar el valor de un par de clave-valor de un secreto definido, utilice el mandato
secret update
. Vamos a actualizar el secreto demysecret-registry
para utilizar un servidor diferente.ibmcloud ce secret update --name mysecret-registry --format registry --server <new_server> --username <new_username> --password <password>
-
Ahora que su secreto está actualizado, utilice el mandato
secret get
para visualizar detalles sobre un secreto específico. Si es necesario, utilice la opción--decode
para visualizar los datos secretos como descodificados. Por ejemplo:ibmcloud ce secret get --name mysecret-registry --decode
Salida de ejemplo
Getting generic secret 'mysecret-registry'... OK Name: mysecret-registry ID: abcdefgh-abcd-abcd-abcd-c88e2775388e Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 21m Created: 2023-03-07 20:00:45 +0000 UTC Data: --- email: "" password: REDACTED server: newserver username: newuser
Cómo hacer referencia a secretos
Su trabajo, función o aplicación puede consumir y utilizar la información que se almacena en un secreto mediante el uso de variables de entorno.
Cómo hacer referencia a secretos desde la consola
Puedes utilizar la consola para crear variables de entorno para tus aplicaciones, trabajos y funciones que hagan referencia completa a un secreto o a claves individuales de un secreto.
Para poder hacer referencia a un secreto, éste debe existir. Consulte crear un secreto. Para este ejemplo, cree un secreto denominado target-secret
con el par de clave-valor de TARGET=Sunshine
.
-
Para hacer referencia a un secreto definido desde sus apps, trabajos y funciones, cree una variable de entorno. La variable de entorno puede hacer referencia completa a un secreto existente o hacer referencia a una clave individual en un secreto existente. Si hace referencia a un secreto (o un mapa de configuración), puede especificar opcionalmente un
prefix
. Por ejemplo, si hace referencia completa al secreto demysecret
desde la aplicaciónmyapp
y utiliza el prefijomysecret_
, cada clave del secreto tiene como prefijomysecret_
. -
Después de crear las variables de entorno, debes reiniciar tus aplicaciones, trabajos y funciones para que los cambios surtan efecto. Para las apps, guarde y despliegue su app para actualizar la app con las variables de entorno que ha definido. Para trabajos, someta el trabajo para actualizar el trabajo con las variables de entorno que ha definido.
-
Después de que el estado de las aplicaciones, trabajos y funciones cambie a Preparado, puede probar la aplicación o función, o ejecutar el trabajo. Para una aplicación, pulse Probar aplicación y, a continuación, pulse Enviar solicitud en el panel Probar aplicación. Para abrir la aplicación en una página web, pulse URL de aplicación. En el ejemplo de
myapp
, dado que se especificó un prefijo para el secreto completamente referenciadomysecret
, todas las claves de este secreto se referencian como variables de entorno y llevan el prefijomysecret_
. Por ejemplo, estas variables de entorno se muestran comomysecret_secret1=mysecret1
ymysecret_secret2=mysecret2
.
Para actualizar una variable de entorno que haga referencia a un secreto, consulte Actualización de variables de entorno y Consideraciones para actualizar las variables de entorno.
Para eliminar una variable de entorno que haga referencia a secreto, consulte supresión de variables de entorno.
Por ejemplo, utilice el secreto mysecret
definido anteriormente que ha definido desde la consola con un trabajo y haga referencia completa a este secreto con una variable de entorno.
-
Cree y ejecute un trabajo. Para este ejemplo, cree un trabajo de Code Engine que utilice la imagen
icr.io/codeengine/codeengine
y, a continuación, ejecute el trabajo. Cuando se envía una solicitud a este trabajo de ejemplo, el trabajo lee la variable de entornoTARGET
, y el trabajo imprimeHello ${TARGET} from Code Engine
e imprime una lista de variables de entorno. Si la variable de entornoTARGET
está vacía, se devuelveHello World from Code Engine
.Desde la página Trabajos,
- Cree un trabajo; por ejemplo,
myjob
. - Especifique
icr.io/codeengine/codeengine
como referencia de imagen. - Pulse Crear para crear el trabajo.
Si la carga de trabajo que desea utilizar con el secreto ya está definida en Code Engine, vaya a la página Aplicaciones, trabajos o funciones y haga clic en el nombre de su aplicación, trabajo o función para abrir el componente.
- Cree un trabajo; por ejemplo,
-
Cuando se cree el trabajo, en la página Trabajos, pulse el nombre del trabajo para abrirlo.
-
Actualice el trabajo para añadir un secreto como una variable de entorno. Pulse Variables de entorno para abrir el separador y pulse Añadir para añadir la variable de entorno.
-
En la página Añadir variable de entorno,
- Para utilizar el secreto definido anteriormente, seleccione Hacer referencia completa a secreto.
- En el menú, seleccione el nombre del secreto que desee, por ejemplo,
target-secret
. - Pulse Añadir para añadir la variable de entorno.
- Pulse Guardar para guardar los cambios en el trabajo.
-
Para ejecutar el trabajo con la variable de entorno que hace referencia a un secreto, pulse Enviar trabajo. Para este ejemplo, los registros de la ejecución del trabajo
myjob
muestranHello Sunshine from Code Engine
e imprime las variables de entorno, incluidos los valores de los secretos a los que se hace referencia con las variables de entorno.
Hacer referencia a secretos con la CLI
Para utilizar secretos con aplicaciones, trabajos y funciones, puede establecer variables de entorno que hagan referencia completa a un secreto o a claves individuales de un secreto con la CLI.
Hacer referencia a los secretos existentes con la CLI
Los ejemplos siguientes hacen referencia a un secreto genérico, que es el secreto predeterminado cuando no se especifica la opción --format
. Utilice la opción --format
para especificar la categoría del secreto,
como basic_auth
, generic
, ssh
, tls
o registry
.
Para utilizar un secreto con una carga de trabajo con la CLI, especifique la opción --env-from-secret
en los mandatos siguientes.
El siguiente ejemplo describe cómo hacer referencia a un secreto genérico existente con un trabajo utilizando la CLI.
-
Utilice el comando
secret create
para crear los siguientes dos secretos genéricos para este escenario. De forma predeterminada, se crea un secreto genérico cuando no se especifica la opción--format
.ibmcloud ce secret create --name myliteralsecret --from-literal "TARGET=My big literal secret"
ibmcloud ce secret create --name myliteralsecret2 --from-literal "TARGET=My little literal secret"
-
Cree un trabajo y haga referencia al secreto
myliteralsecret
. Para este ejemplo, cree un trabajo de Code Engine que utilice la imagenicr.io/codeengine/codeengine
y, a continuación, ejecute el trabajo. Cuando se envía una solicitud a este trabajo de ejemplo, el trabajo lee la variable de entornoTARGET
, y el trabajo imprimeHello ${TARGET} from Code Engine
e imprime una lista de variables de entorno. Si la variable de entornoTARGET
está vacía, se devuelveHello World from Code Engine
.ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine --array-indices 2-3 --env-from-secret myliteralsecret
-
Ejecute el trabajo
myjob
.ibmcloud ce jobrun submit --name myjobrun --job myjob
-
Utilice el mandato
jobrun get
para visualizar detalles de la ejecución del trabajo, incluidas las instancias de la ejecución del trabajo.ibmcloud ce jobrun get --name myjobrun
Salida de ejemplo
Getting jobrun 'myjobrun'... Getting instances of jobrun 'myjobrun'... Getting events of jobrun 'myjobrun'... Run 'ibmcloud ce jobrun events -n myjobrun' to get the system events of the job run instances. Run 'ibmcloud ce jobrun logs -f -n myjobrun' to follow the logs of the job run instances. OK Name: myjobrun [...] Job Ref: myjob Environment Variables: Type Name Value Secret full reference myliteralsecret Image: icr.io/codeengine/codeengine Resource Allocation: CPU: 1 Ephemeral Storage: 4G Memory: 4G Runtime: Mode: task Array Indices: 2-3 Array Size: 2 JOP_ARRAY_SIZE Value: 2 Max Execution Time: 7200 Retry Limit: 3 Status: Completed: 9s Instance Statuses: Succeeded: 2 Conditions: Type Status Last Probe Last Transition Pending True 13s 13s Running True 9s 9s Complete True 9s 9s Events: Type Reason Age Source Messages Normal Updated 10s (x4 over 14s) batch-job-controller Updated JobRun "myjobrun" Normal Completed 10s batch-job-controller JobRun completed successfully Instances: Name Running Status Restarts Age myjobrun-2-0 0/1 Succeeded 0 14s myjobrun-3-0 0/1 Succeeded 0 14s
-
Visualice los registros de la ejecución del trabajo
myjobrun
. Puede visualizar registros de todas las instancias de una ejecución de trabajo o visualizar registros de una instancia específica de una ejecución de trabajo. Esta vez, visualice los registros de todas las instancias de la ejecución del trabajo. El registro muestraHello my big literal secret!
, que se ha especificado utilizando una variable de entorno con un secreto. Observe que para este trabajo que está definido con la imagenicr.io/codeengine/codeengine
, la salida de la ejecución del trabajo imprime las variables de entorno, incluidos los valores de secretos a los que se hace referencia con las variables de entorno.ibmcloud ce jobrun logs --jobrun myjobrun
Salida de ejemplo
Getting logs for all instances of job run 'myjobrun'... Getting jobrun 'myjobrun'... Getting instances of jobrun 'myjobrun'... OK myjobrun-2-0/myjob: Hello from helloworld! I'm a batch job! Index: 2 Hello My big literal secret from: . ___ __ ____ ____ ./ __)/ \( \( __) ( (__( O )) D ( ) _) .\___)\__/(____/(____) .____ __ _ ___ __ __ _ ____ ( __)( ( \ / __)( )( ( \( __) .) _) / /( (_ \ )( / / ) _) (____)\_)__) \___/(__)\_)__)(____) Some Env Vars: -------------- HOME=/root HOSTNAME=myjobrun-2-0 JOB_INDEX=2 KUBERNETES_PORT=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_SERVICE_HOST=172.21.0.1 KUBERNETES_SERVICE_PORT=443 KUBERNETES_SERVICE_PORT_HTTPS=443 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ SHLVL=1 TARGET=My big literal secret myjobrun-3-0/myjob: Hello from helloworld! I'm a batch job! Index: 3 Hello My big literal secret from: . ___ __ ____ ____ ./ __)/ \( \( __) ( (__( O )) D ( ) _) .\___)\__/(____/(____) .____ __ _ ___ __ __ _ ____ ( __)( ( \ / __)( )( ( \( __) .) _) / /( (_ \ )( / / ) _) (____)\_)__) \___/(__)\_)__)(____) Some Env Vars: -------------- HOME=/root HOSTNAME=myjobrun-3-0 JOB_INDEX=3 KUBERNETES_PORT=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_SERVICE_HOST=172.21.0.1 KUBERNETES_SERVICE_PORT=443 KUBERNETES_SERVICE_PORT_HTTPS=443 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ SHLVL=1 TARGET=My big literal secret
-
Vuelva a enviar la ejecución del trabajo y especifique utilizar el secreto
myliteralsecret2
para esta ejecución de trabajo.ibmcloud ce jobrun resubmit --jobrun myjobrun --name myjobrunresubmit --env-from-secret myliteralsecret2
Cuando actualizas un trabajo, aplicación o función con una variable de entorno que hace referencia completa a un secreto para hacer referencia completa a un secreto diferente, las referencias completas anulan otras referencias completas en el orden en que se establecen (el último conjunto referenciado anula el primer conjunto).
-
Utilice el mandato
jobrun get
para visualizar detalles de la ejecución del trabajo, incluidas las instancias de la ejecución del trabajo. Observe que la ejecución del trabajo hace referencia a los secretosmyliteralsecret
ymyliteralsecret2
.ibmcloud ce jobrun get --name myjobrunresubmit
Salida de ejemplo
Getting jobrun 'myjobrunresubmit'... Getting instances of jobrun 'myjobrunresubmit'... Getting events of jobrun 'myjobrunresubmit'... [...] Name: myjobrunresubmit ID: 79f01367-932b-4a76-be18-b1e68790a85b Project Name: myproject Project ID: 841f0f38-420d-4388-b5d8-f230657d7dc6 Age: 14s Created: 2021-06-15T21:15:37-04:00 Job Ref: myjob Environment Variables: Type Name Value Secret full reference myliteralsecret Secret full reference myliteralsecret2 Image: icr.io/codeengine/codeengine Resource Allocation: CPU: 1 Ephemeral Storage: 4G Memory: 4G Runtime: Mode: task Array Indices: 2-3 Array Size: 2 JOP_ARRAY_SIZE Value: 2 Max Execution Time: 7200 Retry Limit: 3 Status: Completed: 11s Instance Statuses: Succeeded: 2 Conditions: Type Status Last Probe Last Transition Pending True 14s 14s Running True 12s 12s Complete True 11s 11s Events: Type Reason Age Source Messages Normal Updated 13s (x4 over 16s) batch-job-controller Updated JobRun "myjobrunresubmit" Normal Completed 13s batch-job-controller JobRun completed successfully Instances: Name Running Status Restarts Age myjobrunresubmit-2-0 0/1 Succeeded 0 16s myjobrunresubmit-3-0 0/1 Succeeded 0 16s
-
Visualice los registros de ejecución de trabajo de una instancia de la ejecución de trabajo
myjobrunresubmit
. Esta vez, visualice los registros de la instanciamyjobrunresubmit-3-0
. El registro muestraHello My little literal secret!
, que es el valor que se especifica en el secretomyliteralsecret2
. Utilice el mandatojobrun get
para visualizar los detalles de la ejecución del trabajo, incluidas las instancias en ejecución de la ejecución del trabajo.ibmcloud ce jobrun logs --instance myjobrunresubmit-3-0
Salida de ejemplo
Getting logs for job run instance 'myjobrunresubmit-3-0'... OK myjobrunresubmit-3-0/myjob: Hello from helloworld! I'm a batch job! Index: 3 Hello My little literal secret from: . ___ __ ____ ____ ./ __)/ \( \( __) ( (__( O )) D ( ) _) .\___)\__/(____/(____) .____ __ _ ___ __ __ _ ____ ( __)( ( \ / __)( )( ( \( __) .) _) / /( (_ \ )( / / ) _) (____)\_)__) \___/(__)\_)__)(____) Some Env Vars: -------------- HOME=/root HOSTNAME=myjobrunresubmit-3-0 JOB_INDEX=3 KUBERNETES_PORT=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_SERVICE_HOST=172.21.0.1 KUBERNETES_SERVICE_PORT=443 KUBERNETES_SERVICE_PORT_HTTPS=443 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ SHLVL=1 TARGET=My little literal secret
-
Para cambiar el valor del par clave-valor de un secreto, utilice el mandato
secret update
. Actualicemos el secretomyliteralsecret
para cambiar el valor de la claveTARGET
deMy big literal secret
aMy new big literal secret
.ibmcloud ce secret update --name myliteralsecret --from-literal "TARGET=My new big literal secret"
-
Para que los nuevos datos entren en vigor, vuelva a ejecutar el trabajo. Vuelva a enviar la ejecución del trabajo y especifique que se debe utilizar el secreto
myliteralsecret
para esta ejecución del trabajo.
ibmcloud ce jobrun resubmit --jobrun myjobrun --name myjobrunresubmit2 --env-from-secret myliteralsecret
- Visualice los registros de la ejecución del trabajo
myjobrunresubmit2
. Esta vez, el registro de trabajo muestraHello My new big literal secret!
, que es el valor del secretomyliteralsecret
actualizado. Puede utilizar el mandatojobrun get
para visualizar los detalles de la ejecución del trabajo, incluidas las instancias en ejecución de la ejecución del trabajo. Visualice los registros de la instancia en ejecución que desee de la ejecución del trabajo.
ibmcloud ce jobrun logs --instance myjobrunresubmit2-2-0
Salida de ejemplo
Getting logs for job run instance 'myjobrunresubmit2-2-0'...
OK
myjobrunresubmit2-2-0/myjob:
Hello from helloworld! I'm a batch job! Index: 2
Hello My new big literal secret from:
. ___ __ ____ ____
./ __)/ \( \( __)
( (__( O )) D ( ) _)
.\___)\__/(____/(____)
.____ __ _ ___ __ __ _ ____
( __)( ( \ / __)( )( ( \( __)
.) _) / /( (_ \ )( / / ) _)
(____)\_)__) \___/(__)\_)__)(____)
Some Env Vars:
--------------
HOME=/root
HOSTNAME=myjobrunresubmit2-2-0
JOB_INDEX=2
KUBERNETES_PORT=tcp://172.21.0.1:443
KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443
KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_SERVICE_HOST=172.21.0.1
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
SHLVL=1
TARGET=My new big literal secret
Para resumir, ha completado los escenarios básicos para demostrar cómo utilizar secretos con un trabajo haciendo referencia a un secreto completo existente y actualizando las claves dentro de un secreto.
Hacer referencia a secretos que aún no están definidos con la CLI
Si un secreto no existe antes de ser referenciado, una aplicación no se desplegará correctamente, y un trabajo o función no se ejecutará correctamente hasta que el secreto referenciado sea creado.
Si está trabajando con una aplicación, trabajo o función y el secreto referenciado aún no está definido, utilice la opción --force
para evitar la verificación de la existencia del secreto referenciado. La opción --force
se puede utilizar con los mandatos siguientes.
Cuando se utiliza la opción --force
con estos comandos, se completa la acción de crear, actualizar o ejecutar la aplicación, el trabajo o la función. Sin embargo, la aplicación, el trabajo o la función no se ejecutarán correctamente
hasta que exista el secreto al que se hace referencia. Si añade la opción --no-wait
además de la opción --force
al comando, el sistema completa la acción y no espera a que la aplicación, el trabajo o la función
se ejecuten correctamente.
El ejemplo siguiente describe cómo hacer referencia a un secreto que todavía no está definido con un trabajo utilizando la CLI.
-
Cree un trabajo. Para este ejemplo, cree un trabajo de Code Engine que utilice la imagen
icr.io/codeengine/codeengine
y, a continuación, ejecute el trabajo. Cuando se envía una solicitud a este trabajo de ejemplo, el trabajo lee la variable de entornoTARGET
, y el trabajo imprimeHello ${TARGET} from Code Engine
e imprime una lista de variables de entorno. Si la variable de entornoTARGET
está vacía, se devuelveHello World from Code Engine
.ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine
-
Utilice el mandato
jobrun submit
para ejecutar el trabajomyjob
. Tenga en cuenta quemynewliteralsecret
no existe. Utilizando la opción--no-wait
con el mandatojobrun submit
, la ejecución del trabajo se envía y no espera a que se completen las instancias de este trabajo.ibmcloud ce jobrun submit --name myjobrun1 --job myjob --env-from-secret mynewliteralsecret --force --no-wait
-
Utilice el mandato
jobrun get
para visualizar detalles de la ejecución del trabajo, incluida la información de la variable de entorno. Observe que la ejecución del trabajo está en estadopending
.ibmcloud ce jobrun get --name myjobrun1
Salida de ejemplo
Getting jobrun 'myjobrun1'... Getting instances of jobrun 'myjobrun1'... Getting events of jobrun 'myjobrun1'... [...] Name: myjobrun1 [...] Job Ref: myjob Environment Variables: Type Name Value Secret full reference mynewliteralsecret Image: icr.io/codeengine/codeengine Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Runtime: Mode: task Array Indices: 0 Array Size: 1 JOP_ARRAY_SIZE Value: 1 Max Execution Time: 7200 Retry Limit: 3 Status: Instance Statuses: Pending: 1 Conditions: Type Status Last Probe Last Transition Pending True 100s 100s Events: Type Reason Age Source Messages Normal Updated 108s (x5 over 2m29s) batch-job-controller Updated JobRun "myjobrun1" Instances: Name Running Status Restarts Age myjobrun1-0-0 0/1 Pending 0 2m29s
-
Cree el secreto:
ibmcloud ce secret create --name mynewliteralsecret --from-literal "TARGET=Fun secret"
-
Ejecute de nuevo la ejecución de trabajo
myjobrun1
.ibmcloud ce jobrun resubmit --jobrun myjobrun1 --name myjobrunresubmit1
Ejecute el mandato
ibmcloud ce jobrun get -n myjobrunresubmit1
para comprobar el estado de esta ejecución de trabajo. -
Visualice los registros de la ejecución del trabajo
myjobrunresubmit1
. Los registros muestranHello Fun secret from Code Engine
, que confirma que la ejecución de trabajo hace referencia al secretomyliteralsecret
.ibmcloud ce jobrun logs --jobrun myjobrunresubmit1
Salida de ejemplo
Getting logs for all instances of job run 'myjobrunresubmit1'... Getting jobrun 'myjobrunresubmit1'... Getting instances of jobrun 'myjobrunresubmit1'... OK myjobrunresubmit1-0-0/myjob: Hello from helloworld! I'm a batch job! Index: 0 Hello Fun secret from: . ___ __ ____ ____ ./ __)/ \( \( __) ( (__( O )) D ( ) _) .\___)\__/(____/(____) .____ __ _ ___ __ __ _ ____ ( __)( ( \ / __)( )( ( \( __) .) _) / /( (_ \ )( / / ) _) (____)\_)__) \___/(__)\_)__)(____) Some Env Vars: -------------- HOME=/root HOSTNAME=myjobrunresubmit1-0-0 JOB_INDEX=0 KUBERNETES_PORT=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_SERVICE_HOST=172.21.0.1 KUBERNETES_SERVICE_PORT=443 KUBERNETES_SERVICE_PORT_HTTPS=443 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ SHLVL=1 TARGET=Fun secret
Para ver casos de ejemplo más detallados sobre cómo hacer referencia a los secretos completos y los mapas de configuración como variables de entorno y cómo sustituir referencias y eliminar referencias en la CLI, consulte Cómo hacer referencia a secretos y a mapas de configuración.
Supresión de secretos
Cuando ya no necesites un secreto, puedes borrarlo.
Borrar secretos de la consola
- Para borrar un secreto desde la consola,
- Vaya a la página Secretos y mapas de configuración desde su página Code Engine Projects.
- Haz clic en el secreto que quieras eliminar para abrir su página.
- En la página del secreto específico, pulse Acciones > Suprimir secreto.
- Para eliminar un par clave-valor de un secreto específico de la consola,
- Vaya a la página Secretos y mapas de configuración desde su página Code Engine Projects.
- Haz clic en el secreto que quieras cambiar para abrir su página.
- En la página del secreto en cuestión, elimine el par clave-valor que desea eliminar.
También puede suprimir las variables de entorno definidas que hacen referencia a los secretos y los mapas de configuración. Para eliminar una variable de entorno definida, desde la pestaña Variables de entorno de tu app, trabajo o función y elimina la variable de entorno que quieras eliminar. Después de eliminar una variable de entorno definida, asegúrese de hacer clic en Guardar para guardar los cambios en su aplicación, trabajo o función. Para obtener más información, consulte suprimir una variable de entorno.
Borrado de secretos con la CLI
Para suprimir un secreto con la CLI, utilice el mandato secret delete
; por ejemplo,
ibmcloud ce secret delete --name myliteralsecret -f
Salida de ejemplo
Deleting secret myliteralsecret...
OK
También puede suprimir variables de entorno que hagan referencia a secretos y mapas de configuración desde la CLI.