Criação de uma configuração personalizada do mecanismo de credenciais

Depois de criar o projeto e o trabalho IBM Cloud® Code Engine, você pode criar a configuração personalizada do mecanismo de credenciais. A configuração do mecanismo faz referência ao seu projeto Code Engine e ao trabalho Code Engine específico no projeto que você deseja usar para um segredo de credencial personalizado.

As credenciais personalizadas têm várias limitações. Você pode ler sobre eles na página Problemas conhecidos e limitações.

Antes de Iniciar

Certifique-se de concluir esses pré-requisitos:

  • Crie um projeto e um trabalho no site Code Engine.
  • Crie um segredo de credenciais do IAM que permita o acesso de Code Engine a Secrets Manager. A credencial e a autorização do IAM permitem que o Code Engine retorne as informações para o Secrets Manager e faça as atualizações necessárias no Secrets Manager relevantes para o segredo de suas credenciais personalizadas. O segredo das credenciais do IAM deve ser:
    • Ter uma política de rotação automática definida.
    • Estar associado a um ID de serviço ou grupo de acesso que tenha as seguintes permissões:
      • secrets-manager.secret-task.update no grupo secreto em que a credencial personalizada foi criada.
      • Se aplicável, secrets-manager.secret.read em qualquer grupo secreto que contenha segredos de referência necessários para que o trabalho Code Engine conclua suas ações.
    • Como alternativa, configure um perfil confiável para autenticação. Consulte a documentação do site Code Engine para obter detalhes sobre a configuração.
  • Crie uma autorização de serviço do IAM entre Secrets Manager como a origem e o projeto Code Engine como o destino.

Criação da configuração do mecanismo de credenciais personalizadas no console

Navegue até a tela Custom credentials (Credenciais personalizadas ) dentro da navegação Secret engines (Mecanismos secretos ) e, em seguida, crie a configuração para suas credenciais personalizadas inserindo as informações relevantes no console.

  1. Na página Mecanismos de segredos, clique na guia Credenciais personalizadas.

  2. Clique em Adicionar configuração

    1. Forneça um nome de configuração.
    2. Selecione a região onde seu projeto Code Engine foi criado.
    3. Selecione o projeto e o trabalho que foi criado para esse segredo de credenciais personalizadas. Se o projeto e o trabalho estiverem em outra conta, insira o ID do projeto e o nome do trabalho.
    4. Ao criar a configuração, você será solicitado a criar uma autorização de serviço IAM entre Secrets Manager como Source e Code Engine como Target, se não tiver sido criada anteriormente.
    5. Opcionalmente, selecione o segredo de credenciais do IAM que você criou anteriormente ou crie um no contexto.
  3. Clique em Incluir.

Criação da configuração personalizada do mecanismo de credenciais usando a API

Você pode criar uma configuração de mecanismo de credenciais personalizada programaticamente, chamando a API Secrets Manager. Quando você chamar a API, substitua as variáveis api_key_ref e code_engine e o token IAM pelos valores específicos da sua instância Secrets Manager. Opcionalmente, você pode fornecer um parâmetro task_timeout para personalizar o tempo limite da tarefa.

curl -X POST
    -H "Authorization: Bearer {IAM_token}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "my_config",
      "config_type": "custom_credentials_configuration",
      "api_key_ref": "a2f9c2e4-a3a8-c508-2bed-fcb7c26843ca",
      "code_engine": {
        "job_name": "code-engine-job-name",
        "project_id": "12345678-5120-4a18-832a-4ba122496633",
        "region": "us-south"
      },
      "task_timeout": "50m"
    }'
  "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"

Criação da configuração personalizada do mecanismo de credenciais a partir da CLI

Antes de começar, siga os documentos da CLI para definir seu endpoint de API.

Para criar uma configuração de mecanismo de credenciais personalizada usando o plug-in Secrets Manager CLI, execute o comando ibmcloud secrets-manager configuration-create comando. Opcionalmente, você pode usar o sinalizador --configuration-task-timeout para personalizar o tempo limite da tarefa.

ibmcloud secrets-manager configuration-create --config-type=custom_credentials_configuration --name=my-custom-credentials-config --custom-credentials-apikey-ref IAM_credentials_secret_ID --custom-credentials-code-engine '{"project_id":"12345678-5120-4a18-832a-4ba122496633", "region":"us-south", "job_name":"code-engine-job-name"}'

Criação da configuração personalizada do mecanismo de credenciais usando o Terraform

Você pode criar uma configuração de mecanismo de credenciais personalizada usando o Terraform para Secrets Manager.

resource "ibm_sm_custom_credentials_configuration" "sm_custom_credentials_configuration_instance" {
	instance_id = ibm_resource_instance.sm_instance.guid
	region = "us-south"
	name = "example-custom-credentials-config"
	api_key_ref = ibm_sm_iam_credentials_secret.my_secret_for_custom_credentials.secret_id
	code_engine {
	    project_id = ibm_code_engine_project.my_code_engine_project.project_id
	    job_name = "my_code_engine_job"
	    region = "us-south"
	}
	task_timeout = "10m"
}

Próximas etapas

Depois de criar a configuração do mecanismo de credenciais personalizadas, agora você pode criar um segredo de credenciais personalizadas.