Erstellen von benutzerdefinierten Berechtigungsnachweisen

Der Geheimnistyp für benutzerdefinierte Anmeldedaten ermöglicht es IBM Cloud® Secrets Manager Benutzern, Anmeldedaten für externe Systeme (wie Artifactory oder PagerDuty ) über Secrets Manager APIs und Integrationen sicher zu verwalten. Um diese Geheimnisse zu erstellen, stellen Sie einen IBM Cloud® Code Engine Auftrag bereit, der als Brücke zwischen Secrets Manager und dem externen Dienst dient. Diese Aufträge laufen nach einem festen Zeitplan ab und verwalten die Anmeldedaten asynchron mit Hilfe von geheimen Aufgaben.

Der Prozess zur Erstellung benutzerdefinierter Berechtigungsnachweise ist von vornherein asynchron. Wenn ein neues Geheimnis hinzugefügt wird, geht es zunächst in einen Voraktivierungszustand über. Wenn das Geheimnis erfolgreich im externen Credentials Provider erstellt wurde, wird sein Status automatisch innerhalb von Secrets Manageraktiv.

Der Prozess der Erstellung von benutzerdefinierten Berechtigungsnachweisen ist asynchron. Nach dem Hinzufügen eines Geheimnisses beginnt es im Zustand pre-activation, und wenn es erfolgreich im Anbieter der Anmeldeinformationen erstellt wurde, ändert sich sein Zustand in active in Secrets Manager.

Vorbereitende Schritte

Bevor Sie beginnen, vergewissern Sie sich, dass Sie alles haben:

Erstellen eines benutzerdefinierten Geheimnisses für Anmeldeinformationen in der Konsole

Um ein Geheimnis hinzuzufügen:

  1. Klicken Sie in der Tabelle Geheime Schlüssel auf Hinzufügen.
  2. Klicken Sie in der Liste der Geheimnistypen auf die Kachel Benutzerdefinierte Anmeldedaten.
  3. Klicken Sie auf Weiter.
  4. Fügen Sie einen Namen und eine Beschreibung hinzu, um Ihren geheimen Schlüssel leicht identifizieren zu können.
  5. Wählen Sie die geheime GruppeDie Umgebung und die Bedingungen, denen die enthaltenen geheimen Schlüssel in einer Instanz entsprechen müssen. Ein Benutzer kann einer Gruppe geheimer Schlüssel zugeordnet werden, um den Zugriff und die Zusammenarbeit zu ermöglichen. , die Sie zuvor erstellt haben.
  6. Optional: Fügen Sie Bezeichnungen hinzu, die Ihnen helfen, nach ähnlichen geheimen Schlüsseln in Ihrer Instanz zu suchen.
  7. Optional: Fügen Sie Metadaten zu Ihrem Geheimnis oder zu einer bestimmten Version Ihres Geheimnisses hinzu.
    1. Laden Sie eine Datei hoch oder geben Sie die Metadaten und die Versionsmetadaten im JSON-Format ein.
  8. Klicken Sie auf Weiter.
  9. Wählen Sie die benutzerdefinierte Credentials-Engine-Konfiguration, die für dieses Geheimnis verwendet werden soll.
  10. Geben Sie unter Parameter die gewünschten Werte ein.
  11. Klicken Sie auf Weiter.
  12. Optional: Aktivieren Sie die Mindestdauer und die automatische Rotation Ihres Geheimnisses.
  13. Klicken Sie auf Weiter.
  14. Überprüfen Sie die Einzelheiten Ihres Geheimnisses.
  15. Klicken Sie auf Hinzufügen.

Sie können den Wert der Parameter später ändern. Die Änderung findet statt, nachdem eine neue geheime Version erstellt wurde. Sie können keine neuen Parameter hinzufügen oder abziehen, ohne eine neue Konfiguration zu erstellen.

Anzeigen und Aktualisieren von Geheimhaltungsdetails in der Konsole

Wie bei jedem anderen Geheimnis können Sie auf die Details Ihres Geheimnisses zugreifen, indem Sie im Menü Aktionen auf das Symbol Aktionen > Details klicken. Auf den Detailbildschirmen können Sie sich über Folgendes informieren:

Erstellen eines benutzerdefinierten Geheimnisses für Anmeldeinformationen über CLI

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

Um ein benutzerdefiniertes Anmeldungsgeheimnis mit dem Secrets Manager CLI-Plugin zu erstellen, führen Sie den ibmcloud secrets-manager secret-create befehl aus.

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

Erstellen eines benutzerdefinierten Geheimnisses für Anmeldeinformationen mit API

Sie können einen benutzerdefinierten Berechtigungsnachweis programmatisch erstellen, indem Sie die API Secrets Manager aufrufen. Wenn Sie die API aufrufen, müssen Sie die ID-Variablen und das IAM-Token durch die Werte ersetzen, die für Ihre Secrets Manager-Instanz spezifisch sind.

Mit den Abfrageparametern custom_metadata und version_custom_metadata können Sie Metadaten speichern, die für die Bedürfnisse Ihrer Organisation relevant sind. Die Werte von version_custom_metadata werden nur für die Versionen eines Geheimnisses zurückgegeben. Die benutzerdefinierten Metadaten Ihres Geheimnisses werden wie alle anderen Metadaten für bis zu 50 Versionen gespeichert, und Sie dürfen keine vertraulichen Daten enthalten.

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"

Erstellen eines benutzerdefinierten Geheimnisses für Anmeldeinformationen mit Terraform

Sie können benutzerdefinierte Credentials Secrets programmatisch erstellen, indem Sie Terraform für Secrets Manager verwenden. Das folgende Beispiel zeigt eine Konfiguration, die Sie zum Erstellen eines benutzerdefinierten Geheimnisses für Anmeldeinformationen verwenden können.

Die Erstellung benutzerdefinierter Credentials Secrets ist ein asynchroner Prozess, der je nach Anwendungsfall lange dauern kann. Daher sollten bei der Planung der Verwendung von Terraform mögliche Verzögerungen berücksichtigt werden.

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

Nutzen Sie die Terraform IBM Module (TIM) für Secrets Manager Custom Credentials Engine, um benutzerdefinierte Credentials als Code mit wiederholbaren Konfigurationen zu definieren. Starten Sie mit Terraform IBM Module.