Criação de segredos de credenciais personalizados
O tipo de segredo de credenciais personalizadas permite que os usuários do IBM Cloud® Secrets Manager gerenciem com segurança as credenciais de sistemas externos (como Artifactory ou PagerDuty ) por meio de APIs e integrações do Secrets Manager. Para criar esses segredos, você implementa um trabalho IBM Cloud® Code Engine que atua como uma ponte entre o Secrets Manager e o serviço externo. Esses trabalhos são executados em um cronograma fixo e gerenciam credenciais de forma assíncrona usando tarefas secretas.
O processo de criação de credenciais personalizadas é assíncrono por definição. Quando um novo segredo é adicionado, ele entra inicialmente em um estado de pré-ativação. Se o segredo for criado com êxito no provedor de credenciais externas, seu estado se tornará automaticamente ativo em Secrets Manager.
O processo de criação de segredos de credenciais personalizadas é assíncrono. Depois que um segredo é adicionado, ele começa no estado pre-activation e, se for criado com sucesso no provedor de credenciais, seu estado muda para active em Secrets Manager.
Antes de Iniciar
Antes de começar, certifique-se de que você tenha:
- O nível de acesso necessário. Para criar ou incluir segredos, é necessária a função de serviço Gravador ou superior.
- Configurou sua instância para criar segredos de credenciais personalizadas criando um trabalho Code Engine e uma configuração de mecanismo de credenciais personalizadas.
Criação de um segredo de credenciais personalizado no console
Para adicionar um segredo:
- Na tabela Segredos, clique em Incluir.
- Na lista de tipos de segredo, clique no bloco Credenciais personalizadas.
- Clique em Avançar.
- Inclua um nome e uma descrição para identificar facilmente o segredo.
- Selecione o grupo secretoO ambiente e as restrições que contêm segredos em uma instância devem estar em conformidade com ele. Um usuário pode ser associado a um grupo de segredos para ativar o acesso e a colaboração. que você criou anteriormente.
- Opcional: inclua rótulos para ajudar a procurar segredos semelhantes em sua instância.
- Opcional: Adicione metadados ao seu segredo ou a uma versão específica do seu segredo.
- Faça upload de um arquivo ou insira os metadados e os metadados da versão no formato JSON.
- Clique em Avançar.
- Selecione a configuração do mecanismo de credenciais personalizadas a ser usada para essa secreta.
- Digite os valores necessários em Parâmetros.
- Clique em Avançar.
- Opcional: Habilite a duração mínima e a rotação automática de seu segredo.
- Clique em Avançar.
- Revise os detalhes de seu segredo.
- Clique em Incluir.
Você pode alterar o valor dos parâmetros posteriormente. A alteração ocorre depois que uma nova versão secreta é criada. Não é possível adicionar ou subtrair novos parâmetros sem criar uma nova configuração.
Visualização e atualização de detalhes de segredos no console
Como acontece com qualquer outro segredo, você pode acessar os detalhes do seu segredo clicando no do menu Ações > Detalhes. Nas telas de detalhes, você pode saber mais sobre:
Criação de um segredo de credenciais personalizado a partir da CLI
Antes de começar, siga os documentos da CLI para definir seu endpoint de API.
Para criar um segredo de credenciais personalizado usando o plug-in Secrets Manager CLI, execute o comando ibmcloud secrets-manager secret-create comando.
ibmcloud secrets-manager secret-create --secret-type custom_credentials --secret-name "example-custom-credential-secret" --secret-description "Description of my custom credential secret" --secret-rotation '{"auto_rotate": true,"interval": 30,"unit": "day"}' --custom-credentials-parameters '{"my_input_parameter":"my_param_value"}' --custom-credentials-configuration '{"my_custom_credential_config"}' --secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"},"version_custom_metadata": {"custom_version_key": "custom_version_value"}}'
Criação de um segredo de credenciais personalizado usando a API
Você pode criar uma credencial personalizada de forma programática chamando a API Secrets Manager. Ao chamar a API, substitua as variáveis de ID e o token IAM pelos valores que são específicos para a sua instância do Secrets Manager.
Você pode armazenar metadados relevantes para as necessidades de sua organização com os parâmetros de solicitação custom_metadata e version_custom_metadata. Os valores do version_custom_metadata são retornados
somente para as versões de um segredo. Os metadados personalizados de seu segredo são armazenados como todos os outros metadados, para até 50 versões, e você não deve incluir dados confidenciais.
curl -X POST
-H "Authorization: Bearer {IAM_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-custom-credential-secret",
"description": "Description of my custom credential secret",
"secret_type": "custom_credentials",
"secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
"labels": [
"dev",
"us-south"
],
"rotation": {
"auto_rotate": true,
"interval": 30,
"unit": "day"
},
"configuration": "my_custom_credential_config",
"parameters": {
"user_name": "username",
"scope": "admin"
},
"custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
},
"version_custom_metadata": {
"custom_version_key": "custom_version_value"
}
}'
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"
Criação de um segredo de credenciais personalizado usando o Terraform
Você pode criar segredos de credenciais personalizados de forma programática usando o Terraform para Secrets Manager. O exemplo a seguir mostra uma configuração que você pode usar para criar um segredo de credenciais personalizado.
A criação de segredos de credenciais personalizadas é um processo assíncrono que pode levar muito tempo, dependendo do caso de uso; portanto, ao planejar o uso do Terraform, deve-se considerar possíveis atrasos.
resource "ibm_sm_custom_credentials_secret" "sm_custom_credentials_secret" {
instance_id = ibm_resource_instance.sm_instance.guid
region = "us-south"
name = "secret-name"
secret_group_id = ibm_sm_secret_group.sm_secret_group.secret_group_id
custom_metadata = {"key":"value"}
description = "Extended description for this secret."
labels = ["my-label"]
configuration = "my_custom_credentials_configuration"
parameters {
int_values = {
example_param_1 = 17
}
string_values = {
example_param_2 = "str2"
example_param_3 = "str3"
}
bool_values = {
example_param_4 = false
}
}
rotation {
auto_rotate = true
interval = 3
unit = "day"
}
ttl = "864000"
}
Aproveite o Terraform IBM Modules (TIM) for Secrets Manager Custom Credentials Engine para definir credenciais personalizadas como código com configurações repetíveis. Comece a usar o Terraform IBM Modules.