Erstellen einer benutzerdefinierten Credentials-Engine-Konfiguration

Nachdem Sie Ihr IBM Cloud® Code Engine Projekt und Ihren Auftrag erstellt haben, können Sie Ihre benutzerdefinierte Credentials Engine Konfiguration erstellen. Die Engine-Konfiguration verweist auf Ihr Code Engine Projekt und den spezifischen Code Engine Auftrag im Projekt, den Sie für ein benutzerdefiniertes Berechtigungsgeheimnis verwenden möchten.

Benutzerdefinierte Berechtigungsnachweise haben verschiedene Einschränkungen. Sie können diese auf der Seite Bekannte Probleme und Einschränkungen nachlesen.

Vorbereitende Schritte

Stellen Sie sicher, dass Sie diese Voraussetzungen erfüllen:

  • Erstellen Sie ein Code Engine Projekt und einen Auftrag.
  • Erstellen Sie ein IAM-Anmeldedatengeheimnis, das Code Engine den Zugriff auf Secrets Manager ermöglicht. Die Berechtigungsnachweise und die IAM-Autorisierung ermöglichen es Code Engine, Informationen an Secrets Manager zurückzugeben und die notwendigen Aktualisierungen an Secrets Manager vorzunehmen, die für das Geheimnis Ihrer benutzerdefinierten Berechtigungsnachweise relevant sind. Die IAM-Anmeldeinformationen müssen geheim sein:
    • Legen Sie eine Politik der automatischen Rotation fest.
    • Sie müssen einer Dienst-ID oder einer Zugriffsgruppe zugeordnet sein, die über die folgenden Berechtigungen verfügt:
      • secrets-manager.secret-task.update auf die geheime Gruppe, in der die benutzerdefinierte Berechtigung erstellt wird.
      • Falls zutreffend, secrets-manager.secret.read auf jede geheime Gruppe, die alle Referenzgeheimnisse enthält, die für den Code Engine Job benötigt werden, um seine Aktionen abzuschließen.
    • Alternativ dazu können Sie ein vertrauenswürdiges Profil für die Authentifizierung konfigurieren. Einzelheiten zur Einrichtung finden Sie in der Dokumentation Code Engine.
  • Erstellen Sie eine IAM-Dienstberechtigung zwischen Secrets Manager als Quelle und Code Engine als Ziel.

Erstellen einer benutzerdefinierten Konfiguration für die Anmeldeinformationen in der Konsole

Navigieren Sie zum Bildschirm Benutzerdefinierte Zugangsdaten innerhalb der Secret-Engines-Navigation und erstellen Sie dann die Konfiguration für Ihre benutzerdefinierten Zugangsdaten, indem Sie die entsprechenden Informationen in die Konsole eingeben.

  1. Klicken Sie auf der Seite Secrets engines auf die Registerkarte Custom credentials.

  2. Klicken Sie auf Konfiguration hinzufügen

    1. Geben Sie einen Konfigurationsnamen an.
    2. Wählen Sie die Region, in der Ihr Code Engine Projekt erstellt wurde.
    3. Wählen Sie das Projekt und den Auftrag, der für dieses benutzerdefinierte Berechtigungsgeheimnis erstellt wurde. Wenn sich das Projekt und der Auftrag in einem anderen Konto befinden, geben Sie die Projekt-ID und den Auftragsnamen ein.
    4. Bei der Erstellung der Konfiguration werden Sie aufgefordert, eine IAM-Service-Autorisierung zwischen Secrets Manager als Quelle und Code Engine als Ziel zu erstellen, falls dies noch nicht geschehen ist.
    5. Wählen Sie optional das IAM Credentials-Geheimnis aus, das Sie zuvor erstellt haben, oder erstellen Sie eines im Kontext.
  3. Klicken Sie auf Hinzufügen.

Erstellen einer benutzerdefinierten Credentials-Engine-Konfiguration mithilfe der API

Sie können eine benutzerdefinierte Credentials-Engine-Konfiguration programmatisch erstellen, indem Sie die Secrets Manager API aufrufen. Wenn Sie die API aufrufen, ersetzen Sie die Variablen api_key_ref und code_engine sowie das IAM-Token durch die Werte, die für Ihre Instanz Secrets Manager spezifisch sind. Sie können optional einen task_timeout Parameter angeben, um die Zeitüberschreitung der Aufgabe anzupassen.

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"

Erstellen einer benutzerdefinierten Credentials-Engine-Konfiguration über CLI

Bevor Sie beginnen, folgen Sie den CLI-Dokumenten, um Ihren API-Endpunkt festzulegen.

Um eine benutzerdefinierte Credentials-Engine-Konfiguration mit dem Secrets Manager CLI-Plugin zu erstellen, führen Sie den ibmcloud secrets-manager configuration-create befehl aus. Sie können optional das Kennzeichen --configuration-task-timeout verwenden, um die Zeitüberschreitung der Aufgabe anzupassen.

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"}'

Erstellen einer benutzerdefinierten Credentials-Engine-Konfiguration mit Terraform

Sie können eine benutzerdefinierte Credentials-Engine-Konfiguration erstellen, indem Sie Terraform für Secrets Manager verwenden.

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"
}

Nächste Schritte

Nachdem Sie Ihre benutzerdefinierte Credentials-Engine-Konfiguration erstellt haben, können Sie nun ein benutzerdefiniertes Credentials-Geheimnis erstellen.