Trabalhando com segredos
Saiba como trabalhar com segredos no Code Engine. Em Code Engine, você pode armazenar suas informações como pares de valores-chave em segredos que podem ser consumidos por sua função, trabalho ou aplicativo usando variáveis de ambiente.
O que são segredos e por que eu os usaria?
No Code Engine, segredos (e configmaps) são uma coleta de pares de valores de chave. Quando mapeados para variáveis de ambiente, os relacionamentos NAME=VALUE são configurados de tal forma que o nome da variável de ambiente corresponde
à "key" de cada entrada nesses mapas, e o valor da variável de ambiente é o "value" dessa chave.
Um segredo fornece um método para incluir informações de configuração sensíveis, como senhas ou chaves SSH, para a sua implementação. Ao fazer referência a valores do seu segredo, você pode desacoplar informações confidenciais da sua implantação para manter seu aplicativo, função ou trabalho portátil. Qualquer pessoa que estiver autorizada para o seu projeto também pode visualizar os seus segredos; certifique-se de saber que as informações secretas podem ser compartilhadas com esses usuários. Os segredos contêm informações em pares chave-valor.
Como os segredos e os configmaps são entidades semelhantes (exceto que os segredos são armazenados de forma mais segura), a maneira como você interage e trabalha com os segredos e os configmaps também é semelhante. Para saber mais sobre os configmaps, consulte Trabalhando com configmaps.
Que tipo de segredos posso criar no Code Engine?
O Code Engine suporta vários segredos e fornece opções para criar e trabalhar com segredos.
A tabela a seguir resume os segredos suportados no Code Engine.
| Nome | Descrição |
|---|---|
| Autenticação básica | Um segredo que contém uma chave username and password.Use segredos básicos de autenticação quando acessar um serviço que exija autenticação básica HTTP. |
| Genérico | Um segredo que armazena pares chave-valor simples e Code Engine não faz suposições sobre os pares chave-valor definidos nem sobre o uso pretendido do segredo. Use segredos genéricos quando desejar definir seus próprios pares chave-valor para acessar um serviço. |
| HMAC | Um segredo que contém uma chave access_key_id e uma secret_access_key.Use as credenciais HMAC para usar as ferramentas e bibliotecas do S3-compatible que exigem autenticação, mas não são compatíveis com as chaves de API do IBM Cloud® Identity and Access Management. |
| Registro | Um segredo que armazena credenciais para acessar um registro de contêiner. Use segredos de registro ao trabalhar com apps ou tarefas do Code Engine para acessar uma imagem de contêiner. Ou você usa Code Engine para construir uma imagem de contêiner e o segredo de registro é usado pelo Code Engine para acessar o registro para armazenar a imagem de contêiner construída. Esse segredo também é referido como um Registry access secret na CLI. |
| Acesso ao serviço | Um segredo que armazena credenciais para acessar uma instância de serviço do IBM Cloud. Use segredos de acesso a serviços ao trabalhar com associações de serviços em Code Engine. Code Engine pode gerar esse segredo automaticamente ou você pode criar seu próprio segredo de acesso a serviços personalizado. |
| SSH | Um segredo que armazena credenciais para autenticar em um serviço com uma chave SSH, como autenticar em um repositório Git, como GitHub ou GitLab. Use segredos SSH quando desejar que o Code Engine construa uma imagem de contêiner para você. Code Engine usa esse segredo para acessar seu código-fonte em um repositório de código. Por exemplo, use esse segredo com execuções de construção para acessar seu código-fonte em um repositório, como GitHub ou GitLab. Esse segredo também é usado como um Git repository access secret na CLI e Code repo access no console. |
| Segurança da Camada de Transporte (TLS) | Um segredo que contém um certificado TLS assinado, incluindo todos os seus certificados intermediários e sua chave privada correspondente de uma autoridade de certificação (CA). Use os segredos TLS ao trabalhar com mapeamentos de domínio customizados em Code Engine. |
Criando segredos
Use segredos para fornecer informações confidenciais a seus aplicativos, trabalhos ou funções. Os segredos são definidos em pares chave-valor e os dados que são armazenados em segredos são codificados.
Criando um segredo por meio do console
Saiba como criar segredos por meio do console do Code Engine.
Saiba como criar os seguintes tipos de segredos por meio do console.
Criação de um segredo genérico no console
Saiba como criar segredos genéricos no console Code Engine que podem ser consumidos por funções, trabalhos ou aplicativos como variáveis de ambiente.
Antes de iniciar, crie um projeto.
- Depois que o projeto estiver no status Ativo, clique no nome do projeto na página Code Engine Projects.
- Na página Componentes, clique em Segredos e configmaps.
- Na página Segredos e configmaps, clique em Criar para criar seu segredo.
- Na página Criar segredo ou configmap, conclua as etapas a seguir:
- Selecione Segredo genérico e clique em Avançar.
- Forneça um nome; por exemplo,
mysecret-generic. - Clique em Incluir par chave-valor. Especifique um ou mais pares chave-valor para este segredo. Por exemplo, especifique uma chave como
secret1com o valor demysecret1e especifique outra chave comosecret2com o valor detarget-secret. O nome que você escolher para sua chave não precisa ser o mesmo nome da sua variável de ambiente. Observe que o valor para a chave está oculto, mas ele pode ser visualizado, se necessário. - Clique em Criar para criar o segredo.
Agora que o seu segredo foi criado no console, acesse a página Secrets and configmaps (Segredos e mapas de configuração) para visualizar uma lista de segredos e mapas de configuração definidos. É possível aplicar filtros para customizar a lista para atender às suas necessidades
Criação de um segredo HMAC no console
Saiba como criar segredos HMAC no console Code Engine que podem ser consumidos por funções, trabalhos ou aplicativos como variáveis de ambiente. Elas são usadas com as ferramentas e bibliotecas do S3-compatible que exigem autenticação, mas não são compatíveis com as chaves de API do IBM Cloud® Identity and Access Management.
Antes de iniciar, crie um projeto.
- Depois que o projeto estiver no status Ativo, clique no nome do projeto na página Code Engine Projects.
- Na página Componentes, clique em Segredos e configmaps.
- Na página Segredos e configmaps, clique em Criar para criar seu segredo.
- Na página Criar segredo ou configmap, conclua as etapas a seguir:
- Selecione HMAC secret e clique em Next.
- Forneça um nome; por exemplo,
mysecret-hmac. - Especifique o ID da chave de acesso.
- Especifique a chave de acesso secreta. Observe que o valor para a chave está oculto, mas ele pode ser visualizado, se necessário.
- Clique em Criar para criar o segredo.
Agora que o seu segredo foi criado no console, acesse a página Secrets and configmaps (Segredos e mapas de configuração) para visualizar uma lista de segredos e mapas de configuração definidos. É possível aplicar filtros para customizar a lista para atender às suas necessidades
Para obter mais informações sobre segredos HMAC, consulte IBM Cloud Object Storage- API Key vs HMAC.
Criação de um segredo de registro a partir do console
Saiba como criar segredos de registro por meio do console do Code Engine que pode ser consumido por funções, tarefas, apps ou construções para acesso para puxar ou enviar por push uma imagem de contêiner
Antes de iniciar, crie um projeto.
- Depois que o projeto estiver no status Ativo, clique no nome do projeto na página Code Engine Projects.
- Na página Componentes, clique em Segredos e configmaps.
- Na página Segredos e configmaps, clique em Criar para criar seu segredo.
- Na página Criar segredo ou configmap, conclua as etapas a seguir:
- Selecione Segredo de registro e clique em Avançar.
- Forneça um nome; por exemplo,
mysecret-registry. - Especifique o registro de destino para esse segredo, como IBM Cloud Container Registry ou Docker Hub.
- Especifique o local do registro
- Especifique um nome do usuário. Se esse segredo for para IBM Cloud Container Registry, o nome do usuário será
iamapikey. Se esse segredo for para o Docker Hub, ele será seu ID Docker. - Insira as credenciais para o nome do usuário Para IBM Cloud Container Registry, use sua chave de API do IAM. Para o Docker Hub, é possível usar a senha do Docker Hub ou um token de acesso. Para outros registros de destino, especifique a senha ou a chave de API para o nome do usuário
- Clique em Criar para criar o segredo.
Agora que o seu segredo foi criado no console, acesse a página Secrets and configmaps (Segredos e mapas de configuração) para visualizar uma lista de segredos e mapas de configuração definidos. É possível aplicar filtros para customizar a lista para atender às suas necessidades
Para obter mais informações sobre como trabalhar com registros de imagem, consulte Acessando registros de contêiner.
Criando um segredo SSH por meio do console
Saiba como criar um segredo SSH por meio do console que pode ser consumido por construções para acessar repositórios de código-fonte privados. Um segredo SSH armazena credenciais para autenticar em um serviço com uma chave SSH, como autenticar em um repositório Git, como GitHub ou GitLab.
Antes de iniciar, crie um projeto.
- Depois que o projeto estiver no status Ativo, clique no nome do projeto na página Code Engine Projects.
- Na página Componentes, clique em Segredos e configmaps.
- Na página Segredos e configmaps, clique em Criar para criar seu segredo.
- Na página Criar segredo ou configmap, conclua as etapas a seguir:
- Selecione SSH secret e clique em Avançar.
- Forneça um nome; por exemplo,
mysecret-ssh. - Inclua a chave privada SSH para esse segredo..
- Clique em Criar para criar o segredo.
Agora que o seu segredo foi criado no console, acesse a página Secrets and configmaps (Segredos e mapas de configuração) para visualizar uma lista de segredos e mapas de configuração definidos. É possível aplicar filtros para customizar a lista para atender às suas necessidades
Use seu segredo SSH ao trabalhar com repositórios de código privado, como repositórios Git. Consulte Acessando repositórios de código privado.
Criação de um segredo TLS no console
Aprenda como criar um segredo do TLS por meio do console que pode ser consumido por apps quando você trabalha com mapeamentos de domínio customizados no Code Engine. Um segredo do Transport Layer Security (TLS) contém um certificado TLS assinado, incluindo todos os seus certificados intermediários e sua chave privada correspondente de uma autoridade de certificação (CA).
Antes de iniciar, crie um projeto.
- Depois que o projeto estiver no status Ativo, clique no nome do projeto na página Code Engine Projects.
- Na página Componentes, clique em Segredos e configmaps.
- Na página Segredos e configmaps, clique em Criar para criar seu segredo.
- Na página Criar segredo ou configmap, conclua as etapas a seguir:
- Selecione Segredo do TLS e clique em Avançar.
- Forneça um nome; por exemplo,
mysecret-tls. - Inclua a cadeia de certificados e a sua chave privada Observe que é possível concatenar os certificados iniciando cada um em uma nova linha. É possível fornecer essas informações em um arquivo
- Clique em Criar para criar o segredo.
Agora que o seu segredo foi criado no console, acesse a página Secrets and configmaps (Segredos e mapas de configuração) para visualizar uma lista de segredos e mapas de configuração definidos. É possível aplicar filtros para customizar a lista para atender às suas necessidades
Use seu segredo do TLS ao trabalhar com mapeamentos de domínio customizados em Code Engine.
Criação de segredos com a CLI
Saiba como criar segredos com a CLI do Code Engine que podem ser consumidos por aplicativos, trabalhos ou funções como variáveis de ambiente.
Antes de Iniciar
- Configure o seu ambiente da CLI do Code Engine.
- Criar e trabalhar com um projeto.
A partir da versão da CLI 1.42.0, a definição e o trabalho com segredos na CLI são unificados no grupo de comandos secret grupo de comandos. Consulte os comandos ibmcloud ce secret Use a opção --format para especificar a categoria do segredo, como basic_auth, generic, hmac, ssh, tls, ou registry. O valor padrão da opção --format é generic.
Usando o comando secret create, é possível criar e gerenciar vários formatos de segredo Para obter descrições dos vários formatos secretos, consulte Que tipo de segredos posso criar no Code Engine?
Saiba como criar os tipos de segredos a seguir com a CLI,
Criação de um segredo de autenticação básica com a CLI
Um segredo de autenticação básico contém uma chave de nome de usuário e senha e é usado para acessar um serviço que requer autenticação básica HTTP. O exemplo a seguir cria um segredo de autenticação básica com credenciais para myusername e a senha associada é fornecida em um arquivo na área de trabalho local
ibmcloud ce secret create --name mysecret-basicauth --format basic_auth --username myusername --password-from-file ./password.txt
Para exibir os detalhes deste segredo,
ibmcloud ce secret get --name mysecret-basicauth
Saída de exemplo
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==
Observe que o valor da chave username para esse segredo de autenticação básica é codificado e que o valor de password é editado. Para exibir os dados de segredo como decodificados, use a opção --decode com o comando secret get.
Criação de um segredo genérico com a CLI
Um segredo genérico armazena pares chave-valor simples e Code Engine não faz suposições sobre os pares chave-valor definidos nem sobre o uso pretendido do segredo.
Você pode criar um segredo genérico com o comando secret create de uma das seguintes maneiras. Por padrão, um segredo genérico é criado quando a opção --format não é especificada
-
Crie um segredo diretamente da linha de comando usando a opção
--from-literalno formatoKEY=VALUE. Por exemplo,ibmcloud ce secret create --name myliteralsecret --from-literal "TARGET=My literal secret" -
Crie um segredo usando a opção
--from-filepara apontar para um arquivo. Ao utilizar esta opção, todo o conteúdo do arquivo se torna o valor para o par chave-valor. Para este exemplo, use um arquivo denominadosecrets.txt, que contémmy little secret1.-
O exemplo a seguir usa o formato
--from-file KEY=FILEcom o comandosecret create:ibmcloud ce secret create --name mysecretmsg1 --from-file TARGET=secrets.txt -
O comando de exemplo a seguir usa o formato
--from-file FILEcom o comandosecret create. Neste exemplo,TARGET(sem extensão) é o nome do arquivo, que é o mesmo que o nome da variável de ambiente que é conhecido para a tarefa.ibmcloud ce secret create --name mysecretmsg2 --from-file TARGET
-
-
Crie um segredo usando a opção
--from-env-filepara apontar para um arquivo que contenha uma ou mais linhas que correspondem ao formatoKEY=VALUE. Cada linha do arquivo especificado é incluída como um par chave-valor. Quaisquer linhas no arquivo especificado que estejam vazias ou começam com#serão ignoradas. Para este exemplo, use um arquivo denominadosecrets_multi.txt, que contém os pares chave-valor:sec1=mysec1,sec2=mysec2esec3=mysec3.ibmcloud ce secret create --name mysecretmulti --from-env-file secrets_multi.txt
Se desejar criar (ou atualizar) um segredo genérico de um arquivo, use a opção --from-file com um dos seguintes formatos: --from-file FILE ou --from-file KEY=FILE Em Code Engine, ao usar a opção --from-file para especificar valores secretos, todos os conteúdos dentro do arquivo são o valor para o par chave-valor. Quando você usa o formato de opção --from-file KEY=FILE, KEY é o nome da variável de ambiente
que é conhecida pelo seu trabalho, função ou aplicativo. Quando você usa o formato de opção --from-file FILE, FILE é o nome da variável de ambiente que é conhecida pelo seu trabalho, função ou aplicativo. Se o
seu arquivo contiver um ou mais pares chave-valor, use a opção --from-env-file para incluir uma variável de ambiente para cada par chave-valor no arquivo especificado. Todas as linhas do arquivo especificado que estiverem
vazias ou começarem com # serão ignoradas.
Para exibir os detalhes do segredo genérico, myliteralsecret,
ibmcloud ce secret get --name myliteralsecret
Saída de exemplo
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 o valor da chave TARGET para esse segredo genérico está codificado. Para exibir os dados de segredo como decodificados, use a opção --decode com o comando secret get.
Criação de um segredo HMAC com a CLI
Um segredo HMAC contém uma chave access_key_id e uma secret_access_key e é usado com ferramentas e bibliotecas S3-compatible que exigem autenticação, mas não oferecem suporte a chaves de API IBM Cloud® Identity
and Access Management. Consulte IBM Cloud Object Storage- Chave de API vs HMAC quando usar chaves de API IBM Cloud® Identity
and Access Management ou credenciais HMAC. O exemplo a seguir cria um segredo HMAC com credenciais de amostra, a serem fornecidas quando solicitadas.
ibmcloud ce secret create --name mysecret-hmac --format hmac --access-key-id-prompt --secret-access-key-prompt
Para exibir os detalhes deste segredo,
ibmcloud ce secret get --name mysecret-hmac
Saída de exemplo
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
Observe que o valor da chave access_key_id para esse segredo HMAC é codificado, e o valor de secret_access_key é redigido. Para exibir os dados de segredo como decodificados, use a opção --decode com
o comando secret get.
Criação de um segredo de registro com a CLI
Um segredo de registro armazena as credenciais para acessar um registro de contêiner
O exemplo a seguir cria um segredo de registro denominado mysecret-registry para acessar uma instância do IBM Cloud Container Registry que está no servidor de registro us.icr.io e especifica credenciais para username e password.
ibmcloud ce secret create --name mysecret-registry --format registry --server us.icr.io --username iamapikey --password API_KEY
Para exibir os detalhes deste segredo,
ibmcloud ce secret get --name mysecret-registry
Saída de exemplo
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
Observe que o valor das chaves username e server para esse segredo de registro é codificado e o valor de password é editado.. Para exibir os dados de segredo como decodificados, use a opção --decode com o comando secret get.
Criando um segredo SSH com a CLI
Um segredo SSH armazena credenciais para autenticar em um serviço com uma chave SSH; por exemplo, autenticando em um repositório Git, como GitHub ou GitLab.
O exemplo a seguir cria um segredo SSH que é denominado mysecret-ssh para acessar um host que está incluído no arquivo known_hosts autenticando com um arquivo de chave privada SSH não criptografado que está localizado
em /<filepath>/.ssh/<key_name>, em que <filepath> é o caminho em sua Estação de Trabalho local. Esse comando requer um nome e um caminho de chave e também permite outros argumentos opcionais
como o caminho para o arquivo de hosts conhecidos.
ibmcloud ce secret create --name mysecret-ssh --format ssh --key-path ~/.ssh/<key_name> --known-hosts-path ~/.ssh/known_hosts
Para exibir os detalhes deste segredo,
ibmcloud ce secret get --name mysecret-ssh
Saída de exemplo
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
Observe que o valor da chave known_hosts para esse segredo SSH é codificado e o valor de ssh-privatekey é editado. Para exibir os dados de segredo como decodificados, use a opção --decode com o comando
secret get.
Criação de um segredo TLS com a CLI
Um segredo do Transport Layer Security (TLS) contém um certificado TLS assinado, incluindo todos os seus certificados intermediários e sua chave privada correspondente de uma autoridade de certificação (CA). Use os segredos TLS ao trabalhar com mapeamentos de domínio customizados.
O exemplo a seguir cria um segredo do TLS denominado mysecret-tls. A cadeia de certificados que corresponde ao domínio customizado está contida no arquivo certificate.txt e o arquivo de chave privada correspondente
está contido no arquivo privatekey.txt Neste exemplo, ambos os arquivos estão localizados no diretório raiz da estação de trabalho local.
ibmcloud ce secret create --name mysecret-tls --format tls --cert-chain-file certificate.txt --private-key-file privatekey.txt
Para exibir os detalhes deste segredo,
ibmcloud ce secret get --name mysecret-tls
Saída de exemplo
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
Listando segredos com a CLI
Depois que os segredos forem criados, use o comando secret list para listar todos os segredos em seu projeto Por exemplo,
ibmcloud ce secret list
Saída de exemplo
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
Atualizando segredos
É possível mudar os pares chave-valor para os segredos existentes.
Atualizando segredos por meio do console
É possível atualizar os pares chave-valor para seus segredos definidos por meio do console.
-
É possível atualizar os pares chave-valor para seus segredos definidos por meio do console de uma das maneiras a seguir.
- Acesse a página Segredos e configmaps para seu projeto e localize o segredo que deseja atualizar. Clique no nome do segredo que deseja atualizar para abri-lo.
- Se o seu segredo for referenciado por um aplicativo, trabalho ou função, use os links na tabela de variáveis de ambiente na guia Variáveis de ambiente do seu aplicativo, trabalho ou função. Esses links levam você diretamente ao seu segredo. Como alternativa, também é possível acessar a página Segredos e configmaps para seu projeto e localizar o segredo que deseja atualizar. Clique no nome do segredo que deseja atualizar para abri-lo.
-
Clique em Editar e faça as atualizações para seu segredo.
-
Clique em Salvar para salvar as mudanças em seu segredo.
Se o segredo atualizado for referenciado por um trabalho, função ou aplicativo, o trabalho, função ou aplicativo deverá ser reiniciado para que os novos dados entrem em vigor.
- Apps - Na página para o seu app, clique em Nova revisão e, em seguida, em Salvar e implementar. Como alternativa, é possível esperar que seu app escale para zero e, quando a escala dele for aumentada, ele usará o segredo atualizado.
- Tarefas - Na página para a sua tarefa, clique em Enviar tarefa para executar a sua tarefa ou você pode executar uma tarefa novamente. Esta nova execução da tarefa usa o segredo atualizado.
- Funções-na página para sua função, clique em Função de Teste... Se você tiver um navegador aberto para a função URL, atualize o navegador.
Atualizando segredos com a CLI
É possível atualizar um segredo existente e seus pares chave-valor com a CLI.
-
Para mudar o valor de um par chave-valor em um segredo definido, use o comando
secret update. Vamos atualizar o segredo domysecret-registrypara usar um servidor diferenteibmcloud ce secret update --name mysecret-registry --format registry --server <new_server> --username <new_username> --password <password> -
Agora que seu segredo está atualizado, use o comando
secret getpara exibir detalhes sobre um segredo específico. Se necessário, use a opção--decodepara exibir os dados secretos, conforme decodificado Por exemplo,ibmcloud ce secret get --name mysecret-registry --decodeSaída de exemplo
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
Referenciando segredos
Seu trabalho, função ou aplicativo pode consumir e usar as informações armazenadas em um segredo usando variáveis de ambiente.
Referenciando segredos por meio do console
Você pode usar o console para criar variáveis de ambiente para seus aplicativos, trabalhos e funções que fazem referência total a um segredo ou a chaves individuais em um segredo.
Para poder referenciar um segredo, ele deverá existir. Consulte Criar um segredo. Para este exemplo, crie um segredo que é denominado target-secret com o par chave-valor de TARGET=Sunshine.
-
Para referenciar um segredo definido de seus apps, tarefas e funções, crie uma variável de ambiente. A variável de ambiente pode referenciar totalmente um segredo existente ou referenciar uma chave individual em um segredo existente. Ao referenciar totalmente um segredo (ou configmap), é possível opcionalmente especificar um
prefix. Por exemplo, se você referenciar totalmente o segredo domysecretpor meio do aplicativomyappe usar o prefixomysecret_, cada chave no segredo será prefixada commysecret_. -
Depois de criar variáveis de ambiente, você deve reiniciar seus aplicativos, trabalhos e funções para que as alterações tenham efeito. Para apps, salve e implemente seu app para atualizá-lo com as variáveis de ambiente que você definiu. Para tarefas, envie sua tarefa para atualizá-la com as variáveis de ambiente que você definiu.
-
Após o status de apps, tarefas e funções mudar para Pronto, é possível testar o aplicativo ou a função ou executar a tarefa. Para um app, clique em Testar aplicativo e, em seguida, clique em Enviar solicitação na área de janela Testar aplicativo. Para abrir o aplicativo em uma página da web, clique em URL do aplicativo. No exemplo
myapp, como um prefixo foi especificado para o segredomysecrettotalmente referenciado, todas as chaves desse segredo são referenciadas como variáveis de ambiente e são prefixadas commysecret_. Por exemplo, essas variáveis de ambiente são exibidas comomysecret_secret1=mysecret1emysecret_secret2=mysecret2.
Para atualizar uma variável de ambiente que faça referência a um segredo, consulte atualizações de variáveis de ambiente e considerações sobre atualização de variáveis de ambiente.
Para remover uma variável de ambiente que referencia um segredo, consulte Excluindo variáveis de ambiente.
Por exemplo, vamos usar o segredo mysecret que você definiu anteriormente no console com uma tarefa e referencie totalmente este segredo com uma variável de ambiente.
-
Crie e execute uma tarefa. Para este exemplo, crie uma tarefa do Code Engine que use a imagem
icr.io/codeengine/codeenginee, em seguida, execute a tarefa. Quando uma solicitação é enviada a esse exemplo de trabalho, o trabalho lê a variável de ambienteTARGET, imprimeHello ${TARGET} from Code Enginee imprime uma lista de variáveis de ambiente. Se a variável de ambienteTARGETestiver vazia,Hello World from Code Engineserá retornado.A partir da página Tarefas,
- Crie uma tarefa; por exemplo,
myjob. - Especifique
icr.io/codeengine/codeenginecomo a referência de imagem. - Clique em Criar para criar a tarefa.
Se a carga de trabalho que você deseja usar com o segredo já estiver definida em Code Engine, vá para a página Aplicativos, trabalhos ou funções e clique no nome do aplicativo, trabalho ou função para abrir o componente.
- Crie uma tarefa; por exemplo,
-
Quando a tarefa for criada, na página Tarefas, clique no nome da sua tarefa para abri-la.
-
Atualize a tarefa para incluir um segredo como uma variável de ambiente. Clique em Variáveis de ambiente para abrir a guia e clique em Incluir para incluir sua variável de ambiente.
-
Na página Incluir variável de ambiente,
- Para usar o segredo definido anteriormente, selecione Referenciar segredo integral.
- No menu, selecione o nome do segredo que deseja; por exemplo,
target-secret. - Clique em Incluir para incluir a variável de ambiente.
- Clique em Salvar para salvar as mudanças em sua tarefa.
-
Para executar a tarefa com a variável de ambiente que referencia um segredo, clique em Enviar tarefa. Para este exemplo, os logs da execução da tarefa
myjobexibemHello Sunshine from Code Enginee imprimem as variáveis de ambiente, incluindo quaisquer valores dos segredos que são referenciados com variáveis de ambiente.
Referenciando segredos com a CLI
Para usar segredos com aplicativos, trabalhos e funções, você pode definir variáveis de ambiente que fazem referência completa a um segredo ou a chaves individuais em um segredo com a CLI.
Referência a segredos existentes na CLI
Os exemplos a seguir fazem referência a um segredo genérico, que é o segredo padrão quando a opção --format não é especificada.. Use a opção --format para especificar a categoria de segredo, como basic_auth,
generic, ssh tls ou registry.
Para usar um segredo com uma carga de trabalho com a CLI, especifique a opção --env-from-secret nos comandos a seguir:
O exemplo a seguir descreve como fazer referência a um segredo genérico existente com um trabalho usando a CLI.
-
Use o comando
secret createpara criar os dois segredos genéricos a seguir para esse cenário. Por padrão, um segredo genérico é criado quando a opção--formatnão é especificadaibmcloud 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" -
Crie uma tarefa e faça referencia ao segredo
myliteralsecret. Para este exemplo, crie uma tarefa do Code Engine que use a imagemicr.io/codeengine/codeenginee, em seguida, execute a tarefa. Quando uma solicitação é enviada a esse exemplo de trabalho, o trabalho lê a variável de ambienteTARGET, imprimeHello ${TARGET} from Code Enginee imprime uma lista de variáveis de ambiente. Se a variável de ambienteTARGETestiver vazia,Hello World from Code Engineserá retornado.ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine --array-indices 2-3 --env-from-secret myliteralsecret -
Execute a tarefa
myjob.ibmcloud ce jobrun submit --name myjobrun --job myjob -
Use o comando
jobrun getpara exibir detalhes da execução da tarefa, incluindo as instâncias dela.ibmcloud ce jobrun get --name myjobrunSaída de exemplo
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 -
Exibir os logs da execução da tarefa
myjobrun. É possível exibir logs de todas as instâncias de uma execução de tarefa ou exibir logs de uma instância específica de uma execução de tarefa. Desta vez, exiba os logs das todas as instâncias da execução da tarefa. O log exibiráHello my big literal secret!, que foi especificado usando uma variável de ambiente com um segredo. Note que, para esta tarefa que é definida com a imagemicr.io/codeengine/codeengine, a saída da execução de tarefa imprime as variáveis de ambiente, incluindo quaisquer valores de segredos referenciados com variáveis de ambiente.ibmcloud ce jobrun logs --jobrun myjobrunSaída de exemplo
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 -
Reenvie a execução de tarefa e especifique para usar o segredo
myliteralsecret2para esta execução de tarefa.ibmcloud ce jobrun resubmit --jobrun myjobrun --name myjobrunresubmit --env-from-secret myliteralsecret2Quando você atualiza um trabalho, aplicativo ou função com uma variável de ambiente que faz referência completa a um segredo para fazer referência completa a um segredo diferente, as referências completas substituem outras referências completas na ordem em que são definidas (o último conjunto referenciado substitui o primeiro conjunto).
-
Use o comando
jobrun getpara exibir detalhes da execução da tarefa, incluindo as instâncias dela. Observe que a execução de tarefa faz referência aos segredosmyliteralsecretemyliteralsecret2.ibmcloud ce jobrun get --name myjobrunresubmitSaída de exemplo
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 -
Exiba os logs de execução de tarefa de uma instância de execução de tarefa
myjobrunresubmit. Desta vez, exiba os logs da instânciamyjobrunresubmit-3-0. O log exibeHello My little literal secret!, que é o valor especificado no segredomyliteralsecret2. Use o comandojobrun getpara exibir os detalhes da execução da tarefa, incluindo as instâncias em execução da execução da tarefa.ibmcloud ce jobrun logs --instance myjobrunresubmit-3-0Saída de exemplo
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 mudar o valor do par chave-valor em um segredo, use o comando
secret update. Vamos atualizar o segredomyliteralsecretpara alterar o valor da chaveTARGETdeMy big literal secretparaMy new big literal secret.ibmcloud ce secret update --name myliteralsecret --from-literal "TARGET=My new big literal secret" -
Para que os novos dados entrem em vigor, execute sua tarefa novamente. Reenvie a execução da tarefa novamente e especifique para usar o segredo
myliteralsecretpara essa execução da tarefa.
ibmcloud ce jobrun resubmit --jobrun myjobrun --name myjobrunresubmit2 --env-from-secret myliteralsecret
- Exibir os logs da execução da tarefa
myjobrunresubmit2. Desta vez, o log de tarefas exibeHello My new big literal secret!, que é o valor do segredo atualizadomyliteralsecret. É possível usar o comandojobrun getpara exibir os detalhes da execução da tarefa, incluindo as instâncias em execução da execução da tarefa. Exiba os logs de qualquer instância em execução da execução da tarefa.
ibmcloud ce jobrun logs --instance myjobrunresubmit2-2-0
Saída de exemplo
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
Em resumo, você concluiu cenários básicos para demonstrar como usar segredos em uma tarefa fazendo referência a um segredo completo existente e atualizando chaves dentro de um segredo.
Como fazer referência a segredos que ainda não estão definidos na CLI
Se um segredo não existir antes de ser referenciado, um aplicativo não será implantado com êxito e um trabalho ou função não será executado com êxito até que o segredo referenciado seja criado.
Se estiver trabalhando com um aplicativo, trabalho ou função e o segredo referenciado ainda não estiver definido, use a opção --force para evitar a verificação da existência do segredo referenciado. A opção --force pode ser usada com os comandos a seguir:
Quando você usa a opção --force com esses comandos, a ação para criar, atualizar ou executar o aplicativo, o trabalho ou a função é concluída. No entanto, o aplicativo, trabalho ou função não será executado com êxito até que
o segredo referenciado exista. Se você adicionar a opção --no-wait além da opção --force ao comando, o sistema concluirá a ação e não aguardará que o aplicativo, o trabalho ou a função seja executado com êxito.
O exemplo a seguir descreve como fazer referência a um segredo que ainda não está definido com uma tarefa usando a CLI.
-
Crie uma tarefa. Para este exemplo, crie uma tarefa do Code Engine que use a imagem
icr.io/codeengine/codeenginee, em seguida, execute a tarefa. Quando uma solicitação é enviada a esse exemplo de trabalho, o trabalho lê a variável de ambienteTARGET, imprimeHello ${TARGET} from Code Enginee imprime uma lista de variáveis de ambiente. Se a variável de ambienteTARGETestiver vazia,Hello World from Code Engineserá retornado.ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine -
Use o comando
jobrun submitpara executar a tarefamyjob. Observe quemynewliteralsecretnão existe. Ao usar a opção--no-waitcom o comandojobrun submit, a execução da tarefa será enviada e não esperará que as instâncias desta tarefa sejam executadas para serem concluídas.ibmcloud ce jobrun submit --name myjobrun1 --job myjob --env-from-secret mynewliteralsecret --force --no-wait -
Use o comando
jobrun getpara exibir detalhes da execução da tarefa, incluindo as informações da variável de ambiente. Observe que a execução da tarefa está com statuspending.ibmcloud ce jobrun get --name myjobrun1Saída de exemplo
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 -
Crie o segredo.
ibmcloud ce secret create --name mynewliteralsecret --from-literal "TARGET=Fun secret" -
Execute a execução da tarefa
myjobrun1novamente.ibmcloud ce jobrun resubmit --jobrun myjobrun1 --name myjobrunresubmit1Execute o comando
ibmcloud ce jobrun get -n myjobrunresubmit1para verificar o status desta execução da tarefa. -
Exibir os logs da execução da tarefa
myjobrunresubmit1. Os logs exibemHello Fun secret from Code Engine, que confirma que a execução da tarefa fez referência ao segredomyliteralsecret.ibmcloud ce jobrun logs --jobrun myjobrunresubmit1Saída de exemplo
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 obter cenários mais detalhados sobre referenciar segredos e mapas de configuração integrais como variáveis de ambiente, substituição de referências e remoção de referências na CLI, consulte Referenciando segredos e mapas de configuração.
Excluindo segredos
Quando não precisar mais de um segredo, você poderá excluí-lo.
Exclusão de segredos do console
- Para excluir um segredo do console,
- Acesse a página Secrets and configmaps em sua página Code Engine Projects.
- Clique no segredo que você deseja excluir para abrir sua página.
- Na página do segredo específico, clique em Ações> Excluir segredo.
- Para excluir um par de valores-chave de um segredo específico do console,
- Acesse a página Secrets and configmaps em sua página Code Engine Projects.
- Clique no segredo que você deseja alterar para abrir sua página.
- Na página do segredo específico, exclua o par de valores-chave que você deseja remover.
Também é possível excluir variáveis de ambiente definidas que referenciam segredos e configmaps. Para excluir uma variável de ambiente definida, na guia Variáveis de ambiente do seu aplicativo, trabalho ou função, exclua a variável de ambiente que deseja excluir. Depois de excluir uma variável de ambiente definida, certifique-se de clicar em Save (Salvar ) para salvar as alterações em seu aplicativo, trabalho ou função. Para obter mais informações, consulte Excluir uma variável de ambiente.
Exclusão de segredos com a CLI
Para excluir um segredo com a CLI, use o comando secret delete; por exemplo,
ibmcloud ce secret delete --name myliteralsecret -f
Saída de exemplo
Deleting secret myliteralsecret...
OK
Também é possível excluir variáveis de ambiente que referenciam segredos e configmaps da CLI.