Configurando o Secrets Manager
Continuous Delivery será descontinuado nas seguintes regiões em 12 de fevereiro de 2027: au-syd, ca-mon, ca-tor, us-east. O Code Risk Analyzer e o DevOps Insights também serão descontinuados em todas as regiões nessa data. No entanto, se uma região não tiver uso ativo desses recursos, os recursos dessa região poderão ser descontinuados mais cedo e deixar de aceitar novas instâncias. Saiba mais
O IBM Cloud® Secrets Manager ajuda você a armazenar e aplicar de forma segura os segredos para apps nos serviços do IBM Cloud.
Um segredo é qualquer coisa que fornece acesso a informações sensíveis, tais como uma chave de API. É possível usar a integração de ferramenta Secrets Manager para acessar segredos, sempre que eles forem necessários no fluxo de trabalho da cadeia de ferramentas.
Antes de configurar uma integração da ferramenta Secrets Manager, certifique-se de provisionar uma instância do serviço Secrets Manager.
É possível configurar a integração da ferramenta Secrets Manager para identificar segredos por nome ou por Cloud Resource Name(CRN).
Identificando segredos por nome
Ao configurar a integração de ferramenta do Secrets Manager para identificar segredos por nome, sua cadeia de ferramentas pode acessar os tipos de segredo a seguir:
- Identity and Access Management (IAM).
- Segredos arbitrários que são armazenados no Secrets Manager.
- Segredos de valor da chave
Atualmente, as referências a segredos por nome não são capazes de resolver um segredo que inclua o caractere de ponto final no nome do segredo porque esse caractere é usado para delimitar cada seção do caminho canônico.
Para obter mais informações sobre segredos de credenciais do IAM, segredos arbitrários e segredos de valor de chave no Secrets Manager, consulte Trabalhando com segredos de diferentes tipos.
Configure o Secrets Manager para gerenciar de forma segura os segredos que fazem parte da sua cadeia de ferramentas:
-
Se você estiver configurando essa integração de ferramenta durante a criação da cadeia de ferramentas, na seção Integrações configuráveis, clique em Secrets Manager. Se o Secrets Manager for definido como uma integração de ferramenta opcional, ele estará localizado em Mais ferramentas. Escolha identificar essa instância pelo nome da instância de serviço. Para criar uma autorização entre a cadeia de ferramentas e a instância de serviço Secrets Manager, selecione a opção Criar uma autorização para essa cadeia de ferramentas no menu suspenso Tipo de autorização. Isso concede à cadeia de ferramentas acesso ao material secreto armazenado na instância de serviço Secrets Manager.
-
Se você tiver uma cadeia de ferramentas e estiver adicionando essa integração de ferramentas a ela, no console IBM Cloud, clique no ícone Menu
> Platform Automation > Toolchains. Na página Cadeias de ferramentas, clique na cadeia de ferramentas para abrir a sua página de Visão geral. Alternativamente, na página Visão geral do seu app, no cartão do Continuous Delivery, clique em Visualizar a cadeia de ferramentas. Em seguida, clique em Visão geral.
a. Clique em Incluir ferramenta.
b. Na seção Integrações de ferramentas, clique em Secrets Manager.
-
Especifique um nome para essa instância da integração de ferramenta do Secrets Manager para usar em sua cadeia de ferramentas. O nome que você especifica é usado nas ferramentas de IU que selecionam segredos do Secrets Manager. Ele também é usado como parte da referência que resolve os valores de segredo quando a cadeia de ferramentas é executada. Este nome de instância também é exibido no tile de integração da ferramenta do Secrets Manager na área de trabalho da cadeia de ferramentas.
-
Escolha identificar essa instância pelo nome da instância de serviço.
-
Revise os valores padrão para Região e Grupo de recursos e atualize-os, se necessário.
-
Selecione a instância do serviço Secrets Manager que você deseja usar.
-
Para criar uma autorização entre a cadeia de ferramentas e a instância de serviço Secrets Manager, clique no botão Criar autorização. Isso concede à cadeia de ferramentas acesso ao material secreto armazenado na instância de serviço Secrets Manager.
-
Clique em Criar integração.
Aplicando segredos
Depois que a sua integração de ferramentas do Secrets Manager estiver configurada, será possível usá-la para aplicar segredos em qualquer lugar que eles sejam requeridos pela cadeia de ferramentas. Esta integração de ferramentas e a caixa de diálogo de Secrets suportam os tipos secretos de Arbitrário e de credenciais do IAM.
Você pode usar segredos Arbitrários para armazenar qualquer valor secreto predefinido, ou para armazenar dinamicamente minado IBM Cloud chaves de API usando a caixa de diálogo Secrets. Você deve criar segredos de credenciais do IAM diretamente dentro de sua instância de serviço Secrets Manager. Depois de criar esses segredos, você pode selecionar segredos de credenciais do IAM para usá-los dentro da sua cadeia de ferramentas usando a caixa de diálogo Secrets em qualquer campo seguro. A caixa de diálogo Os segredos exibe tanto os tipos secretos de Arbitrários como os de credenciais do IAM, com o tipo secreto anexado ao nome secreto entre colchetes.
Usando segredos arbitrários armazenados no Secrets Manager
Deve-se salvar segredos de terceiros, como um webhook do Slack ou um token da API do Artifactory, no Secrets Manager antes de criar uma nova cadeia de ferramentas. Você pode cuntar e armazenar os segredos gerenciados da IBM, como IBM Cloud chaves de API em Secrets Manager, como tipos secretos arbitrários enquanto você trabalha com a sua cadeia de ferramentas usando o diálogo de Secrets. No entanto, você deve cuntar segredos de credenciais do IAM diretamente em Secrets Manager antes de poder selecionar esses tipos de segredos dentro de sua cadeia de ferramentas usando a caixa de diálogo Secrets.
O exemplo a seguir aplica um tipo de segredo arbitrário que é armazenado em Secrets Manager a uma chave API IBM Cloud que é necessária pelo Delivery Pipeline integração da ferramenta. É possível seguir as mesmas etapas para aplicar segredos a qualquer uma das integrações de ferramenta do Continuous Delivery que requerem valores de segredo.
-
Clique no ícone de chave para recuperar segredos de armazenamentos seguros, tais como o Secrets Manager para a chave de API da IBM Cloud.
-
No campo Provedor, especifique o provedor e o nome da integração de ferramenta do Secrets Manager usado para gerenciar os seus segredos da cadeia de ferramentas. Por exemplo, para usar a integração de ferramenta do Secrets Manager, selecione
Secrets Manager: ibm-secrets-manager-1. É possível usar outros provedores para gerenciar seus segredos da cadeia de ferramentas, como o Hashicorp Vault e o Key Protect. -
Selecione um grupo de segredos e um nome do segredo e clique em OK para aplicar o segredo armazenado ao campo associado a ele.
a um O nome do segredo selecionado aparece em forma de cápsula. Não é possível editar o nome do segredo de maneira sequencial, mas é possível clicar em
para excluir o nome.
Você também pode substituir o nome secreto existente, selecionando o nome secreto novamente. Se você digitar manualmente ou colar um nome do segredo no campo Segredos, ele será exibido em um formato diferente:caption-side=bottom"
O formato em que o segredo é exibido indica se o valor faz referência a um segredo armazenado em um cofre de back-end ou a um segredo armazenado em sua cadeia de ferramentas. Ao usar referências a segredos que são gerenciados por provedores de segredo como o Secrets Manager, seus valores de segredo são centralizados e armazenados de forma segura em um único local. Esta abordagem resolve a expansão e a proliferação de segredos e significa que é possível atualizar os segredos sem atualizar a sua cadeia de ferramentas. Quando você usa referências de segredo, o valor de segredo real é resolvido quando a cadeia de ferramentas é executada, recuperando-a dinamicamente do Secrets Manager. Esta abordagem é útil quando deve-se girar o valor de seus segredos da cadeia de ferramentas periodicamente.
Como usar segredos de credenciais do IAM
O tipo secreto de credenciais do IAM é totalmente integrado ao IAM. Secrets Manager auto-gerencia IDs de serviços dinâmicos e chaves API que estão associados a um segredo de credenciais do IAM. Continuous Delivery e Secrets Manager APIs de serviços se engajam para resolver referências secretas IAM Credenciais secretas em Continuous Delivery toolchains e cargas de trabalho de pipeline.
Quando você criar um segredo de credenciais do IAM em Secrets Manager, certifique-se de marcar a caixa de seleção Reutilizar credenciais do IAM até que o contrato de concessão expire. Além disso, especifique uma duração de arrendamento com um mínimo de 12 horas quando você usa agentes do trabalhador público para executar seu pipeline. Se você utilizar agentes do trabalhador privado, certise-se de definir uma duração de arrendamento mínimo para a duração de cancelamento forçado para um pipeline. Recomenda-se confirmar essas configurações com o administrador da sua conta. Ao configurar a opção de reutilização e uma duração de locação apropriada, você pode certificar-se de que a chave API de ID do serviço de credenciais IAM gerenciada dinamicamente persistam durante o seu pipeline executado.
Ao executar a ação Rotate em credenciais do IAM a partir do painel Secrets Manager, você pode manter os requisitos de postura de conformidade para rotações de Chave API que são usadas por seus pipelines Continuous Delivery. Secrets Manager trabalha com o IAM para gerar uma nova Chave API para um segredo de credenciais do IAM e gerencia o versionamento do segredo.
O tipo secreto de credenciais do IAM também ajuda a proporcionar a continuidade do atendimento durante e após a rotação secreta:
- Novas cargas de trabalho do pipeline Continuous Delivery usam a API de API recém-rotada até que sua duração de arrendamento expire.
- As cargas de trabalho de pipeline Continuous Delivery que estão em execução com a Chave API que foi emitida antes da rotação podem continuar sendo executadas com a versão anterior até que a duração da locação da versão anterior expire.
Para obter mais informações sobre o tipo secreto de credenciais do IAM em Secrets Manager, veja Criando credenciais do IAM.
Usando segredos de valor de chave
É possível selecionar os segredos de valor da chave para usar em sua cadeia de ferramentas selecionando uma chave individual do segredo de valor da chave no diálogo Segredos. Como alternativa, você pode selecionar o segredo em sua totalidade.
-
Clique no ícone de chave para recuperar segredos de armazenamentos seguros, tais como o Secrets Manager para a chave de API da IBM Cloud.
-
No campo Provedor, especifique o provedor e o nome da integração de ferramenta do Secrets Manager usado para gerenciar os seus segredos da cadeia de ferramentas. Por exemplo, para usar a integração de ferramenta do Secrets Manager, selecione
Secrets Manager: ibm-secrets-manager-1. É possível usar outros provedores para gerenciar seus segredos da cadeia de ferramentas, como o Hashicorp Vault e o Key Protect. -
Selecione um grupo secreto e um nome secreto para aplicar o segredo armazenado ao campo que está associado a ele. Opcional: selecione uma chave secreta. Clique em OK. O nome do segredo selecionado aparece em forma de cápsula. Não é possível editar o nome secreto em linha, mas você pode clicar no
para excluir o nome. Você também pode substituir o nome secreto existente, selecionando
o nome secreto novamente. Se você digitar ou colar manualmente um nome de segredo no campo Segredos, ele será exibido em um formato diferente.
Incluindo uma integração de ferramenta do Secrets Manager em seu modelo de cadeia de ferramentas
Você pode adicionar uma integração da ferramenta Secrets Manager ao seu modelo de cadeia de ferramentas adicionando uma definição de serviço ao arquivo toolchain.yaml no seu repositório de modelos. Este arquivo é o blueprint de
design para a sua cadeia de ferramentas e inclui todas as integrações de ferramenta que estão disponíveis quando você cria uma instância da cadeia de ferramentas com base nesse modelo. Para customizar um modelo de cadeia de ferramentas existente
para incluir uma integração de ferramenta do Secrets Manager, insira uma definição do YAML.
sm-compliance-secrets:
service_id: secretsmanager
parameters:
name: sm-compliance-secrets
instance-id-type: instance-name
region: us-south
resource-group: default
instance-name: ffs-secrets
setup-authorization-type: create
Identificando segredos por CRN
Ao configurar a integração de ferramenta Secrets Manager para identificar segredos por CRN, sua cadeia de ferramentas pode acessar segredos de credenciais arbitrários, de valor de chave e do IAM que são armazenados no Secrets Manager. Para obter mais informações sobre os diferentes tipos de segredos no Secrets Manager, consulte Trabalhando com segredos de diferentes tipos É possível usar apenas segredos de valor de chave inteiros para segredos de CRN, não chaves individuais...
Configure o Secrets Manager para gerenciar de forma segura os segredos que fazem parte da sua cadeia de ferramentas:
-
Se você estiver configurando essa integração de ferramenta durante a criação da cadeia de ferramentas, na seção Integrações configuráveis, clique em Secrets Manager. Se o Secrets Manager for definido como uma integração de ferramenta opcional, ele estará localizado em Mais ferramentas. Escolha para identificar essa instância pelo CRN da instância de serviço Para criar uma autorização entre a cadeia de ferramentas e a instância de serviço Secrets Manager, selecione a opção Criar uma autorização para essa cadeia de ferramentas no menu suspenso Tipo de autorização. Isso concede à cadeia de ferramentas acesso ao material secreto armazenado na instância de serviço Secrets Manager.
-
Se você tiver uma cadeia de ferramentas e estiver adicionando essa integração de ferramentas a ela, no console IBM Cloud, clique no ícone Menu
> Platform Automation > Toolchains. Na página Cadeias de ferramentas, clique na cadeia de ferramentas para abrir a sua página de Visão geral. Alternativamente, na página Visão geral do seu app, no cartão do Continuous Delivery, clique em Visualizar a cadeia de ferramentas. Em seguida, clique em Visão geral.
a. Clique em Incluir ferramenta.
b. Na seção Integrações de ferramentas, clique em Secrets Manager.
-
Especifique um nome para essa instância da integração de ferramenta do Secrets Manager para usar em sua cadeia de ferramentas.
-
Escolha para identificar essa instância pelo CRN da instância de serviço
-
Especifique o CRN da instância de serviço Secrets Manager na qual seus segredos são armazenados. Essa instância de serviço poderá existir em uma conta diferente se sua cadeia de ferramentas estiver autorizada a acessar segredos nessa conta.
-
Para criar uma autorização entre a cadeia de ferramentas e a instância de serviço Secrets Manager, clique no botão Criar autorização. Isso concede à cadeia de ferramentas acesso ao material secreto armazenado na instância de serviço Secrets Manager.
-
Clique em Criar integração.
Aplicando segredos
Depois de configurar a integração da ferramenta Secrets Manager e autorizar sua cadeia de ferramentas para acessar segredos nessa conta, é possível usá-la para aplicar segredos em qualquer lugar que eles sejam necessários pela cadeia de ferramentas.
É possível usar um dos métodos a seguir para selecionar um segredo do CRN para uso em sua cadeia de ferramentas:
-
Copie o CRN do segredo da instância de serviço Secrets Manager e cole-o na caixa de edição do campo de segredo. O segredo deve residir na instância de serviço Secrets Manager que foi configurada quando você incluiu a integração de ferramenta Secrets Manager em sua cadeia de ferramentas.
-
Use o diálogo Segredos. Para obter informações sobre como usar esse método, consulte Identificando segredos por nome
Ao escolher um segredo do CRN, certifique-se de selecionar o cartão de ferramenta configurado pelo CRN na opção Provedor.
Quando os campos que contêm um segredo do CRN são exibidos, a integração de ferramenta Secrets Manager tenta recuperar o nome do segredo. Para abrir a instância de serviço Secrets Manager na qual o segredo reside, clique no segredo. Nos cenários a seguir, o nome secreto não pode ser recuperado e um ícone de aviso é exibido:
- A cadeia de ferramentas não contém uma integração Secrets Manager configurada corretamente.
- A autorização da cadeia de ferramentas está incorreta
- O campo não contém um CRN válido.
Configurando Secrets Manager ao usar a API
A integração da ferramenta Secrets Manager é compatível com os seguintes parâmetros de configuração que você pode usar com a API e os SDKs do Toolchain HTTP ao criar, ler e atualizar integrações de ferramentas.
Você deve especificar a propriedade tool_type_id no corpo da solicitação com o valor secretsmanager.
| Parâmetro | Uso | Tipo | Argumento de Terraform | Descrição |
|---|---|---|---|---|
| nome | necessário, atualizável | Sequência | nome | O nome dessa integração de ferramenta. As referências de segredo baseadas em nome incluem esse nome para identificar o armazenamento de segredos no qual os segredos residem Todas as ferramentas de armazenamento de segredos que são integradas em uma cadeia de ferramentas devem ter um nome exclusivo para permitir que a resolução secreta funcione corretamente. |
| instância-id-tipo | necessário, atualizável | Enumeração | instance_id_type | O tipo de identificador da instância de serviço Os valores aceitos são instance-name e instance-crn Por padrão, esse valor é definido como instance-name. |
| instance-crn | necessário, atualizável | Sequência | instance_crn | O CRN da instância de serviço do Secrets Manager. Esse parâmetro é usado apenas quando você usa instance-crn como o instance_id_type |
| região | necessário, atualizável | Sequência | local | O local do IBM Cloud no qual a instância de serviço Secrets Manager está localizada. Esse parâmetro é usado apenas quando você usa instance-name como o instance_id_type |
| grupo de recursos | necessário, atualizável | Sequência | resource_group_name | O nome do grupo de recursos no qual a instância de serviço Secrets Manager está localizada. Esse parâmetro é usado apenas quando você usa instance-name como o instance_id_type |
| instance-name | necessário, atualizável | Sequência | instance_name | O nome da instância de serviço Secrets Manager. Esse parâmetro é usado apenas quando você usa instance-name como o instance_id_type |
Saiba mais sobre o Secrets Manager
Para saber mais sobre Secrets Manager, veja Introdução ao Secrets Manager.