Vault-CLI einrichten
Wenn Sie bereits die HashiCorp-Vault-HTTP-CLI verwenden, können Sie das zugehörige CLI-Format und die zugehörigen Richtlinien verwenden, um mit IBM Cloud® Secrets Manager zu interagieren.
Alle Operationen entsprechen den Richtlinien, die für die Vault-CLI gelten. Um mehr über die Verwendung der Vault CLI zu erfahren, lesen Sie die Vault-Dokumentation.
Voraussetzungen
-
Erstellen Sie einen IBM Cloud API-Schlüssel oder generieren Sie ein IBM Cloud IAM-Zugriffstoken.
Durch die Angabe Ihrer Kontoberechtigungsnachweise erkennt Vault, wer Sie sind und ob Sie über die richtige Zugriffsberechtigung verfügen, um bestimmte Vaultbefehle für Ihre Secrets Manager-Instanz auszuführen.
-
Optional: Laden Sie jq herunter und installieren Sie es.
jq
unterstützt Sie beim Ausschneiden von JSON-Daten. Sie verwendenjq
in diesem Lernprogramm, um ein Zugriffstoken zu erfassen und zu verwenden, das zurückgegeben wird, wenn Sie die IAM Identity Service-API aufrufen.
Umgebung einrichten
Sie richten zunächst Ihre Umgebung für den Zugriff auf eine Secrets Manager-Serviceinstanz mit Vault ein. Beginnen Sie mit der Erstellung eines Shell-Skripts, das die Anmeldedaten festlegt, die für die Authentifizierung bei Vault erforderlich sind.
-
Erstellen Sie in einem Projektverzeichnis eine Datei
login-vault.sh
.touch login-vault.sh
-
Kopieren Sie das folgende Script und fügen Sie es in
login-vault.sh
ein und aktualisieren Sie die Platzhalterwerte.#!/bin/sh IBM_CLOUD_API_KEY="xxxxx" export VAULT_ADDR="https://<instance_ID>.<region>.secrets-manager.appdomain.cloud" export IAM_TOKEN=`curl -s -X POST \ "https://iam.cloud.ibm.com/identity/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept: application/json" \ -d "grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=$IBM_CLOUD_API_KEY" | jq -j ".access_token"`
Ersetzen Sie die Platzhalterwerte gemäß der folgenden Tabelle.
Erforderliche Variablen, die zum Extrahieren eines Tokens benötigt werden Variable Beschreibung IBM_CLOUD_API_KEY
Ein API-Schlüssel von IBM Cloud verfügt über mindestens einen Plattformzugriff Anzeigeberechtigter und einen Servicezugriff Leseberechtigter für Ihre Secrets Manager-Instanz. VAULT_ADDR
Der Vault-API-Endpunkt, der für Ihre Secrets Manager-Instanz eindeutig ist. Ihre eindeutige Endpunkt-URL finden Sie auf der Seite Endpunkte der Benutzerschnittstelle von Secrets Manager oder durch Abrufen per HTTP-Anforderung.
-
Markieren Sie die Datei als ausführbare Datei, indem Sie den Befehl
chmod
in Ihrer Befehlszeile ausführen.chmod +x login-vault.sh
-
Führen Sie das Script aus, um Ihre Umgebungsvariablen festzulegen.
source ./login-vault.sh
-
Optional. Stellen Sie sicher, dass die Umgebungsvariablen korrekt eingestellt sind, indem Sie sie in Ihrem Befehlszeilenfenster ausgeben.
echo $VAULT_ADDR && echo $IAM_TOKEN
Die Ausgabe ähnelt möglicherweise dem folgenden Beispiel.
https://e415e570-f073-423a-abdc-55de9b58f54e.us-south.secrets-manager.appdomain.cloud eyJraWQiOiIyMDIwMTAxODE3MDEiLCJhbGciOiJSUzI1NiJ9.eyJpYW1faWQi...(truncated)
Bei Vault anmelden
Wenn Sie Ihre Umgebung konfiguriert haben, melden Sie sich bei Vault an, um mit Ihrer Secrets Manager-Instanz zu interagieren.
-
Authentifizieren Sie sich bei Vault mithilfe Ihres IBM Cloud IAM-Tokens.
vault write auth/ibmcloud/login token=$IAM_TOKEN
In der folgenden Anzeige wird die Beispielausgabe angezeigt.
Key Value --- ----- token s.5DQYF57xU1qOAIj2PhnMC39H token_accessor C14JDJ6KtwQKQR5UNR5NIC7J token_duration 1h token_renewable true token_policies ["default" "instance-manager"] identity_policies [] policies ["default" "instance-manager"] token_meta_grant_type urn:ibm:params:oauth:grant-type:apikey token_meta_name test-ibm-cloud-api-key token_meta_resource crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:: token_meta_user iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8 token_meta_bss_acc 791f5fb10986423e97aa8512f18b7e65
-
Melden Sie sich bei der Vault mit dem Wert
token
an, der im vorherigen Schritt zurückgegeben wurde.vault login <token>
In der folgenden Anzeige wird die Beispielausgabe angezeigt.
Success! You are now authenticated. The token information displayed is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token. Key Value --- ----- token s.6yFk0Z1IRi0Yc5DtwIKuENDJ token_accessor BnEHQuAxTiHJGhP1x0hNqagV token_duration 57m58s token_renewable true token_policies ["default" "instance-manager"] identity_policies [] policies ["default" "instance-manager"] token_meta_grant_type urn:ibm:params:oauth:grant-type:apikey token_meta_name test-ibm-cloud-api-key token_meta_resource crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:: token_meta_user iam-ServiceId-222b47ab-b08e-4619-b68f-8014a2c3acb8 token_meta_bss_acc 791f5fb10986423e97aa8512f18b7e65
Jetzt können Sie die Vault-CLI-Befehle verwenden, um mit Ihrer Secrets Manager-Instanz zu interagieren. Weitere Informationen finden Sie in der CLI-Referenz.