Beliebige geheime Schlüssel speichern
Sie können IBM Cloud® Secrets Manager zum Speichern beliebiger geheimer Schlüssel verwenden, die für den Zugriff auf geschützte Systeme benutzt werden, die sich innerhalb oder außerhalb von IBM Cloud befinden.
Ein beliebiger geheimer Schlüssel ist ein Typ von geheimem Anwendungsschlüssel, der strukturierte oder unstrukturierte Daten enthalten kann, wie z. B. einen Schlüssel, eine Konfigurationsdatei oder beliebige andere sensible Informationen. Nachdem Sie einen geheimen Schlüssel erstellt haben, können Sie ihn verwenden, um Ihre Anwendung mit einer geschützten Ressource zu verbinden, z. B. mit einer App eines anderen Anbieters oder mit einer Datenbank. Ihr Zertifikat wird sicher in Ihrer dedizierten Secrets Manager-Serviceinstanz gespeichert, in der Sie den Lebenszyklus zentral verwalten können.
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.
Beliebige geheime Schlüssel in der Benutzerschnittstelle erstellen
Führen Sie die folgenden Schritte aus, um einen geheimen Schlüssel des Typs 'arbitrary' mithilfe der Secrets Manager-Benutzerschnittstelle hinzuzufügen.
-
Klicken Sie in der Konsole auf das Symbol Menü
> Ressourcenliste.
-
Wählen Sie in der Liste der Services Ihre Instanz von Secrets Manager aus.
-
Klicken Sie in der Tabelle Geheime Schlüssel auf Hinzufügen.
-
Klicken Sie in der Liste der Typen geheimer Schlüssel auf die Kachel Geheimer Schlüssel eines anderen Typs.
-
Klicken Sie auf Weiter.
-
Fügen Sie einen Namen und eine Beschreibung hinzu, um Ihren geheimen Schlüssel leicht identifizieren zu können.
-
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.
-
Optional: Fügen Sie Bezeichnungen hinzu, die Ihnen helfen, nach ähnlichen geheimen Schlüsseln in Ihrer Instanz zu suchen.
-
Optional: Fügen Sie Ihrem geheimen Schlüssel oder einer bestimmten Version Ihres geheimen Schlüssels Metadaten hinzu.
- Laden Sie eine Datei hoch oder geben Sie die Metadaten und die Versionsmetadaten im JSON-Format ein.
-
Klicken Sie auf Weiter.
-
Wählen Sie eine Datei aus oder geben Sie den Wert ein, den Sie dem geheimen Schlüssel zuordnen möchten.
Secrets Manager unterstützt textbasierte Nutzdaten nur für geheime Schlüssel des Typs 'arbitrary'. Wenn Sie eine Datei auswählen, die Sie einem beliebigen geheimen Schlüssel zuordnen wollen, verwendet die der Service die Base64-Codierung, um
die Daten in Ihrer Instanz zu speichern. Um später auf den geheimen Schlüssel zuzugreifen, müssen Sie eine Base64-Entschlüsselung durchführen. Ziehen Sie in Erwägung, Ihrem Geheimnis ein Etikett mit verschlüsselten Daten zuzuweisen, z. B.
encode:base64, damit Sie Geheimnisse nachverfolgen können, die base64 entschlüsseln müssen.
- Optional: Aktivieren Sie die Ablauffunktion, um die Lebensdauer des Geheimnisses zu kontrollieren.
- Um ein Ablaufdatum für den geheimen Schlüssel festzulegen, stellen Sie die Umschaltfläche für die Ablauffunktion auf Ja ein.
- Klicken Sie auf Weiter.
- Überprüfen Sie die Details Ihres geheimen Schlüssels.
- Klicken Sie auf Hinzufügen.
Beliebige geheime Schlüssel über die Befehlszeilenschnittstelle erstellen
Bevor Sie beginnen, folgen Sie den CLI-Dokumenten, um Ihren API-Endpunkt festzulegen.
Um ein beliebiges Geheimnis mit dem Secrets Manager CLI-Plugin zu erstellen, führen Sie den ibmcloud secrets-manager secret-create befehl aus. Sie können den Typ des geheimen Schlüssels mit der Option --secret-type arbitrary angeben. Der folgende Befehl erstellt und speichert beispielsweise einen beliebigen geheimen Schlüssel mit dem Namen secret-data.
Secrets Manager unterstützt textbasierte Nutzdaten nur für geheime Schlüssel des Typs 'arbitrary'. Wenn Sie eine Binärdatei hochladen müssen, müssen Sie die Daten zuerst mit Base64 codieren, damit Sie sie an die Secrets Manager-Befehlszeilenschnittstelle
(CLI) in einer einzeiligen Zeichenfolge übergeben können. Um auf dieses Geheimnis später in seiner ursprünglichen Form zuzugreifen, müssen Sie mit Base64 decodieren. Ziehen Sie in Erwägung, Ihrem Geheimnis ein Etikett mit verschlüsselten Daten
zuzuweisen, z. B. encode:base64, damit Sie Geheimnisse nachverfolgen können, die base64 entschlüsseln müssen.
ibmcloud secrets-manager secret-create \
--secret-name example-arbitrary-secret \
--secret-description "Description of my arbitrary secret." \
--secret-type arbitrary \
--secret-group-id default \
--secret-labels dev,us-south \
--secret-expiration-date 2023-10-05T11:49:42Z \
--arbitrary-payload secret-data \
--secret-custom-metadata '{"anyKey": "anyValue"}' \
--secret-version-custom-metadata '{"anyKey": "anyValue"}'
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.
Beliebige geheime Schlüssel über die API erstellen
Sie können geheime Schlüssel des Typs 'arbitrary' programmgesteuert erstellen, indem Sie die Secrets Manager-API aufrufen.
Das folgende Beispiel zeigt eine Abfrage, die Sie verwenden können, um einen beliebigen geheimen Schlüssel zu erstellen und zu speichern. 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.
Secrets Manager unterstützt textbasierte Nutzdaten nur für geheime Schlüssel des Typs 'arbitrary'. Wenn Sie eine Binärdatei hochladen müssen, müssen Sie die Daten zuerst mit Base64 codieren, damit Sie sie an die Secrets Manager-API in einer
einzeiligen Zeichenfolge übergeben können. Um auf dieses Geheimnis später in seiner ursprünglichen Form zuzugreifen, müssen Sie mit Base64 decodieren. Ziehen Sie in Erwägung, Ihrem Geheimnis ein Etikett mit verschlüsselten Daten zuzuweisen,
z. B. encode:base64, damit Sie Geheimnisse nachverfolgen können, die base64 entschlüsseln müssen.
curl -X POST
-H "Authorization: Bearer {iam_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
},
"description": "Description of my arbitrary secret.",
"expiration_date": "2023-10-05T11:49:42Z",
"labels": [
"dev",
"us-south"
],
"name": "example-arbitrary-secret",
"payload": "secret-data",
"secret_group_id": "67d025e1-0248-418f-83ba-deb0ebfb9b4a",
"secret_type": "arbitrary",
"version_custom_metadata": {
"custom_version_key": "custom_version_value"} }' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"
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.
Beliebige geheime Schlüssel mit Terraform erstellen
Sie können beliebige geheime Schlüssel programmgesteuert erstellen, indem Sie Terraform für Secrets Managerverwenden.
Befolgen Sie die bewährten Terraform-Verfahren zum Schutz sensibler Eingabevariablen, z. B. Berechtigungsnachweise für geheime Schlüssel. Weitere Informationen finden Sie unter Sensible Eingabevariablen schützen.
Das folgende Beispiel zeigt eine Konfiguration, mit der Sie einen beliebigen geheimen Schlüssel erstellen können, indem Sie sensible Werte in einer Datei terraform.tfvars festlegen.
-
Definieren Sie eine Eingabevariable für die willkürlichen geheimen Nutzdaten in einer
variables.tf-Datei.variable "arbitrary_secret_payload" { description = "Arbitrary secret payload" type = string sensitive = true } -
Weisen Sie der Variablen
arbitrary_secret_payloadin einerterraform.tfvars-Datei einen Wert zu.Durch Festlegen von Werten mit einer
.tfvars-Datei können Sie sensible Werte von den übrigen Variablenwerten trennen und sicherstellen, dass Ihre Benutzer, die mit Ihrer Konfiguration arbeiten, wissen, welche Werte sensibel sind. Aus Sicherheitsgründen müssen Sie die Datei.tfvarsnur mit Ihren Benutzern verwalten und teilen, die über den entsprechenden Zugriff verfügen. Sie müssen außerdem darauf achten, dass.tfvars-Dateien mit sensiblen Werten nicht in der Versionssteuerung wie Github in Klartext gespeichert werden.arbitrary_secret_payload = "my sensitive arbitrary payload" -
Erstellen Sie den beliebigen geheimen Schlüssel in der Datei
main.tf.resource "ibm_sm_arbitrary_secret" "sm_arbitrary_secret" { instance_id = local.instance_id region = local.region description = "Extended description for this arbitrary secret" labels = [ "tf-resource"] name = "test-arbitrary-secret" secret_group_id = ibm_sm_secret_group.sm_secret_group_test.secret_group_id payload = var.arbitrary_secret_payload }
Alternativ können Sie vorgefertigte, quelloffene und unternehmenstaugliche Terraform IBM Module (TIM) für Secrets Manager Secret verwenden, um beliebige Secrets mit Terraform zu erstellen. Erfahren Sie mehr über Terraform IBM Module.