Benutzerberechtigungsnachweise speichern

Sie können IBM Cloud® Secrets Manager verwenden, um einen Benutzernamen und ein Kennwort zu speichern, mit dem Sie sich bei einem geschützten Service innerhalb oder außerhalb von IBM Cloud anmelden und auf diesen zugreifen können.

Benutzerberechtigungsnachweise bestehen aus Benutzernamen- und Kennwortwerten, die Sie für die Anmeldung bei einem externen Service oder einer externen Anwendung oder beim Zugriff darauf verwenden können. Ihr geheimer Schlüssel wird sicher in Ihrer dedizierten Secrets Manager-Serviceinstanz gespeichert. In der Instanz können Sie den Lebenszyklus zentral verwalten und die Lebensdauer des geheimen Schlüssels steuern, indem Sie ein Ablaufdatum, automatische Rotationsrichtlinien usw. festlegen.

Bei den Benutzeranmeldeinformationen kann nur der Kennwortwert in der Spalte gedreht werden. Sobald der Wert für den Benutzernamen festgelegt ist, kann er nicht mehr geändert werden.

Weitere Informationen zu den Typen von geheimen Schlüsseln, die Sie in Secrets Managerverwalten können, finden Sie unter Was ist ein geheimer Schlüssel?

Vorbereitende Schritte

Bevor Sie beginnen, müssen Sie prüfen, ob Sie über die erforderliche Zugriffsebene verfügen. Zum Erstellen oder Hinzufügen von geheimen Schlüsseln benötigen Sie die Servicerolle Schreibberechtigter oder eine Rolle mit größerem Berechtigungsumfang.

Benutzerberechtigungsnachweise über die Benutzerschnittstelle hinzufügen

Führen Sie die folgenden Schritte aus, um einen Benutzernamen und ein Kennwort über die Secrets Manager-Benutzerschnittstelle zu speichern.

  1. Klicken Sie in der Konsole auf das Symbol Menü Menüsymbol > Ressourcenliste.

  2. Wählen Sie in der Liste der Services Ihre Instanz von Secrets Manager aus.

  3. Klicken Sie in der Tabelle Geheime Schlüssel auf Hinzufügen.

  4. Wählen Sie in der Liste der Geheimnistypen die Kachel Benutzeranmeldeinformationen.

  5. Klicken Sie auf Weiter.

  6. Fügen Sie einen Namen und eine Beschreibung hinzu, um Ihren geheimen Schlüssel leicht identifizieren zu können.

  7. 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 dem Geheimnis zuordnen möchten.

    Haben Sie noch keine Gruppe geheimer Schlüssel? Im Feld Gruppe geheimer Schlüssel können Sie auf Erstellen klicken, um einen Namen und eine Beschreibung für eine neue Gruppe anzugeben. Ihr geheimer Schlüssel wird automatisch zur neuen Gruppe hinzugefügt. Weitere Informationen zu Gruppen geheimer Schlüssel finden Sie im Abschnitt zum Organisieren Ihrer geheimen Schlüssel.

  8. Optional: Fügen Sie Bezeichnungen hinzu, die Ihnen helfen, nach ähnlichen geheimen Schlüsseln in Ihrer Instanz zu suchen.

  9. Optional: Fügen Sie Ihrem geheimen Schlüssel oder einer bestimmten Version Ihres geheimen Schlüssels Metadaten hinzu.

    1. Laden Sie eine Datei hoch oder geben Sie die Metadaten und die Versionsmetadaten im JSON-Format ein.
  10. Klicken Sie auf Weiter.

  11. Geben Sie den Benutzernamen und das Kennwort ein, die Sie dem geheimen Schlüssel zuordnen möchten.

Wenn Sie sich für die Generierung eines Kennworts entscheiden, ersetzt Secrets Manager den vorhandenen Wert durch ein zufällig generiertes 32-stelliges Kennwort, das Großbuchstaben, Kleinbuchstaben, Ziffern und Symbole enthält. Sie können das generierte Kennwort weiter anpassen, indem Sie seine Länge (12-256 Zeichen) konfigurieren und festlegen, ob Zahlen, Symbole und Großbuchstaben eingeschlossen werden.

  1. Optional: Aktivieren Sie die Optionen für den Ablaufzeitpunkt und die Rotation, um die Lebensdauer des geheimen Schlüssels zu steuern.
  2. Um ein Ablaufdatum für den geheimen Schlüssel festzulegen, stellen Sie die Umschaltfläche für die Ablauffunktion auf Ja ein.
  3. Um Ihr Geheimnis in einem Intervall von 30, 60 oder 90 Tagen zu wechseln, schalten Sie den Schalter Automatische Geheimnisrotation auf Ja.
  4. Klicken Sie auf Weiter.
  5. Überprüfen Sie die Details Ihres geheimen Schlüssels.
  6. Klicken Sie auf Hinzufügen.

Benutzerberechtigungsnachweise über die Befehlszeilenschnittstelle hinzufügen

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

Um einen Benutzernamen und ein Passwort mit dem Secrets Manager CLI-Plugin zu speichern, führen Sie den ibmcloud secrets-manager secret-create befehl aus.

ibmcloud secrets-manager secret-create \
    --secret-name example-username-password-secret \
    --secret-description "Description of my user credentials secret" \
    --secret-type username_password \
    --secret-group-id bfc0a4a9-3d58-4fda-945b-76756af516aa \
    --secret-labels dev,us-south \
    --username-password-username example-username \
    --username-password-password example-password \
    --secret-rotation '{"auto_rotate": true, "interval": 10, "unit": "day"}' \
    --secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"}' \
    --secret-version-custom-metadata '{"custom_version_key": "custom_version_value"}'

Generieren eines automatisch generierten Kennworts über die Befehlszeilenschnittstelle

Sie können das generierte Kennwort weiter anpassen, indem Sie seine Länge (12-256 Zeichen) konfigurieren und festlegen, ob Zahlen, Symbole und Großbuchstaben eingeschlossen werden. Zum Generieren eines automatisch generierten Kennworts mit dem CLI-Plug-in Secrets Manager führen Sie den Befehl ibmcloud secrets-manager secret-create aus und geben Sie das Feld password_generation_policy an.

ibmcloud secrets-manager secret-create \
    --secret-name example-username-password-secret \
    --secret-description "Description of my user credentials secret" \
    --secret-type username_password \
    --secret-group-id bfc0a4a9-3d58-4fda-945b-76756af516aa \
    --secret-labels dev,us-south \
    --username-password-username example-username \
    --username-password-password example-password \
    --secret-rotation '{"auto_rotate": true, "interval": 10, "unit": "day"}' \
    --username-password-policy '{"length": 24, "include_digits": true, "include_symbols": false, "include_uppercase": true}' \
    --secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"}' \
    --secret-version-custom-metadata '{"custom_version_key": "custom_version_value"}'

Der Befehl gibt den ID-Wert des geheimen Schlüssels zusammen mit anderen Metadaten aus. Weitere Informationen zu den Befehlsoptionen finden Sie in ibmcloud secrets-manager secret-create.

Benutzerberechtigungsnachweise über die API hinzufügen

Sie können einen Benutzernamen und ein Kennwort programmgesteuert speichern, indem Sie die Secrets Manager-API aufrufen.

Das folgende Beispiel zeigt eine Abfrage, die Sie verwenden können, um einen Benutzernamen und einen geheimen Schlüssel für das Kennwort zu erstellen. 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.

Sie können Metadaten, die für die Anforderungen Ihrer Organisation relevant sind, mit den Anforderungsparametern custom_metadata und version_custom_metadata speichern. Werte von version_custom_metadata werden nur für die Versionen eines geheimen Schlüssels zurückgegeben. Die angepassten Metadaten Ihres geheimen Schlüssels werden wie alle anderen Metadaten für bis zu 50 Versionen gespeichert und Sie dürfen keine vertraulichen Daten einschließen.

curl -X POST
    -H "Authorization: Bearer {IAM_token}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "example-username-password-secret",
      "description": "Description of my user credentials secret",
      "secret_type": "username_password",
      "secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
      "labels": [
        "dev",
        "us-south"
      ],
      "username": "example-username",
      "password": "example-password",
      "rotation": {
        "auto_rotate": true,
        "interval": 10,
        "unit": "day"
      },
      "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"

Generieren eines automatisch generierten Kennworts mit der API

Sie können das generierte Kennwort weiter anpassen, indem Sie seine Länge (12-256 Zeichen) konfigurieren und festlegen, ob Zahlen, Symbole und Großbuchstaben eingeschlossen werden. Geben Sie beim Aufrufen der API Secrets Manager das Feld password_generation_policy an.

curl -X POST
    -H "Authorization: Bearer {IAM_token}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "example-username-password-secret",
      "description": "Description of my user credentials secret",
      "secret_type": "username_password",
      "secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
      "labels": [
        "dev",
        "us-south"
      ],
      "username": "example-username",
      "password": "example-password",
      "rotation": {
        "auto_rotate": true,
        "interval": 10,
        "unit": "day"
      },
      "password_generation_policy": {
        "length": 24,
        "include_digits": true,
        "include_symbols": false,
        "include_uppercase": true
      },
      "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"

Benutzerberechtigungsnachweise mit Terraform hinzufügen

Sie können einen Benutzernamen und ein Kennwort programmgestützt speichern, indem Sie Terraform für Secrets Managerverwenden.

Sie können entweder ein Kennwort angeben, indem Sie das optionale Argument password in der Terraform-Konfiguration festlegen, oder ein automatisch generiertes Kennwort generieren. Wenn Sie das Argument password weglassen, generiert Secrets Manager ein Zufallskennwort mit 32 Zeichen, das Großbuchstaben, Kleinbuchstaben, Ziffern und Symbole enthält. Sie können das generierte Kennwort weiter anpassen, indem Sie seine Länge (12-256 Zeichen) konfigurieren und festlegen, ob Zahlen, Symbole und Großbuchstaben eingeschlossen werden.

Wenn Sie den geheimen Schlüssel mit einer automatischen Rotationsrichtlinie konfigurieren, sollten Sie das Argument password weglassen, damit auch das Anfangskennwort automatisch generiert wird. Damit soll ein Terraform-Drift vermieden werden, bei dem Terraform nach der automatischen Rotation feststellt, dass das Passwort außerhalb von Terraform geändert wurde.

Das folgende Beispiel zeigt eine Abfrage, die Sie zum Erstellen eines geheimen Benutzernamens und Kennworts mit einem zufällig generierten Kennwort und aktivierter automatischer Rotation verwenden können. In diesem Beispiel wird auch gezeigt, wie eine nicht standardmäßige Kennwortgenerierungsrichtlinie für das Geheimnis festgelegt werden kann.

    resource "ibm_sm_username_password_secret" "test_username_password_secret" {
        instance_id = local.instance_id
        region = local.region
        secret_group_id = "default"
        name = "test-user-creds-secret"
        username = "sm_username"
        rotation {
            auto_rotate = true
            interval = 10
            unit = "day"
        }
        password_generation_policy {
            length = 24
            include_digits = true
            include_symbols = false
            include_uppercase = true
        }
    }

Das folgende Beispiel zeigt eine Abfrage, die Sie verwenden können, um einen geheimen Benutzernamen und ein geheimes Passwort mit dem in der Terraform-Konfiguration angegebenen Passwort zu erstellen. Die automatische Rotation ist in diesem Beispiel inaktiviert, aber Sie können das Kennwort manuell rotieren, indem Sie den Wert des Arguments password in der Konfiguration ändern.

    resource "ibm_sm_username_password_secret" "test_username_password_secret" {
        instance_id = local.instance_id
        region = local.region
        secret_group_id = "default"
        name = "test-user-creds-secret"
        username = "sm_username"
        password = "sm_password"
    }

Verwalten Sie Benutzernamen und Passwörter deklarativ mit Terraform IBM Modules (TIM) für Secrets Manager Secret. Erkunden Sie Terraform IBM Module nach Mustern.

Eine erfolgreiche Antwort gibt den ID-Wert für den geheimen Schlüssel zusammen mit anderen Metadaten zurück. Weitere Informationen zu den erforderlichen und optionalen Anforderungsparametern finden Sie unter API-Referenz.