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:

Criação de um segredo de credenciais personalizado no console

Para adicionar um segredo:

  1. Na tabela Segredos, clique em Incluir.
  2. Na lista de tipos de segredo, clique no bloco Credenciais personalizadas.
  3. Clique em Avançar.
  4. Inclua um nome e uma descrição para identificar facilmente o segredo.
  5. 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.
  6. Opcional: inclua rótulos para ajudar a procurar segredos semelhantes em sua instância.
  7. Opcional: Adicione metadados ao seu segredo ou a uma versão específica do seu segredo.
    1. Faça upload de um arquivo ou insira os metadados e os metadados da versão no formato JSON.
  8. Clique em Avançar.
  9. Selecione a configuração do mecanismo de credenciais personalizadas a ser usada para essa secreta.
  10. Digite os valores necessários em Parâmetros.
  11. Clique em Avançar.
  12. Opcional: Habilite a duração mínima e a rotação automática de seu segredo.
  13. Clique em Avançar.
  14. Revise os detalhes de seu segredo.
  15. 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 ícone 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.