Zugriffstoken abrufen
Beginnen Sie mit den IBM® Key Protect APIs, indem Sie Ihre Anfragen an den Service mit einem IBM Cloud® Identity and Access Management (IAM) Zugriffstoken authentifizieren.
Zugriffstoken mit der Befehlszeilenschnittstelle abrufen
Sie können die IBM Cloud CLI um schnell Ihr persönliches Cloud IAM-Zugangs-TokenEin Wert, der vom Konsumenten verwendet wird, um im Namen des Benutzers Zugriff auf die geschützten Ressourcen zu erhalten, anstatt die Berechtigungsnachweise des Service-Providers des Benutzers zu verwenden. zu generieren.
-
Melden Sie sich bei IBM Cloud mit der IBM Cloud CLI.
ibmcloud loginWenn die Anmeldung fehlschlägt, führen Sie den Befehl
ibmcloud login --ssoaus, um es erneut zu versuchen. Der--ssoist erforderlich, wenn Sie sich mit einer föderierten ID anmelden. Rufen Sie bei Verwendung dieser Option den in der CLI-Ausgabe aufgeführten Link auf, um einen einmaligen Kenncode zu generieren. -
Wählen Sie das Konto, die Region und die Ressourcengruppe aus, die Ihre bereitgestellte Instanz von Key Protect enthalten.
-
Führen Sie den folgenden Befehl aus, um Ihr Cloud IAM-Zugriffstoken abzurufen.
ibmcloud iam oauth-tokensIm folgenden gekürzten Beispiel sehen Sie ein abgerufenes IAM-Token.
IAM token: Bearer eyJraWQiOiIyM...
Zugriffstoken mit der API abrufen
Sie können Ihr Zugriffstoken auch programmatisch abrufen, indem Sie zunächst einen API-Schlüsselfür Ihre Anwendung erstellen und dann Ihren API-Schlüssel gegen ein IBM Cloud IAM-Token austauschen.
-
Melden Sie sich bei IBM Cloud mit der IBM Cloud CLI.
ibmcloud loginWenn die Anmeldung fehlschlägt, führen Sie den Befehl
ibmcloud login --ssoaus, um es erneut zu versuchen. Der--ssoist erforderlich, wenn Sie sich mit einer föderierten ID anmelden. Wenn diese Option verwendet wird, rufen Sie den Link auf, der in der Ausgabe der Befehlszeilenschnittstelle aufgelistet ist, um einen einmalig verwendbaren Kenncode zu generieren. -
Wählen Sie das Konto, die Region und die Ressourcengruppe aus, die Ihre bereitgestellte Instanz von Key Protect enthalten.
-
Erstellen Sie eine service-ID für Ihre Anwendung.
ibmcloud iam service-id-create SERVICE_ID_NAME [-d, --description DESCRIPTION] -
Verwaltung des Zugangs zu Ressourcen für die Service-ID.
Über die Konsole IBM Cloud können Sie Zugriffsberechtigungen für Ihre Service-ID vergeben Wie die Zugriffsrollen "Manager", " Writer" und " Reader" bestimmten Aktionen des Dienstes Key Protect zugeordnet werden, erfahren Sie unter Rollen und Berechtigungen
-
Erstellen Sie einen dienst-ID-API-Schlüssel.
ibmcloud iam service-api-key-create API_KEY_NAME SERVICE_ID_NAME [-d, --description DESCRIPTION] [--file FILE_NAME]Ersetzen Sie
<service_ID_name>durch den eindeutigen Aliasnamen, den Sie Ihrer Service-ID im vorherigen Schritt zugewiesen haben. Speichern Sie Ihren API-Schlüssel, indem Sie ihn an einem sicheren Standort herunterladen. -
Rufen Sie die IAM Identity Services APIauf, um Ihr Zugriffstoken abzurufen
$ curl -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=<API_KEY>' > token.jsonErsetzen Sie in der Anforderung
<API_KEY>durch den API-Schlüssel, den Sie im vorherigen Schritt erstellt haben. Das folgende verkürzte Beispiel zeigt den Inhalt der Dateitoken.jsondatei:{ "access_token": "b3VyIGZhdGhlc...", "expiration": 1512161390, "expires_in": 3600, "refresh_token": "dGhpcyBjb250a...", "token_type": "Bearer" }Verwenden Sie den vollständigen
access_token-Wert mit dem Präfix des Träger-Tokentyps, um die Schlüssel für Ihren Service programmgestützt über die Key Protect-API verfügbar. Um eine beispielhafte Key Protect API-Anforderung zu sehen, informieren Sie sich über Gestaltung Ihrer API-Anforderung.Zugriffstokens sind für einen Zeitraum von 1 Stunde gültig, können jedoch bei Bedarf neu generiert werden. Um den Zugriff auf den Dienst aufrechtzuerhalten, regenerieren Sie das Zugriffstoken für Ihren API-Schlüssel regelmäßig, indem Sie die IAM Identity Services API aufrufen
-
Verwenden Sie IBM Cloud Identity and Access Management (IAM)- Token, um authentifizierte Anforderungen an IBM Watson-Services zu stellen, ohne bei jedem Aufruf Serviceberechtigungsnachweise einzubetten.
-
Bei der IAM-Authentifizierung werden Zugriffstoken für die Authentifizierung verwendet, die Sie durch das Senden einer Anforderung mit einem API-Schlüssel anfordern.
-
Beispiel: Zugriffstoken mit der Befehlszeilenschnittstelle (CLI) festlegen
In diesem Beispiel wird das Abrufen eines Zugriffstokens und das Festlegen einer Umgebungsvariablen über die Befehlszeilenschnittstelle (Command Line Interface, CLI) veranschaulicht.
# login and select account, region, and resource group
$ ibmcloud login --sso
# optionally set the region (-r) and resource group (-g) that
# contains your provisioned Key Protect instance
$ ibmcloud target -r us-south -g Default
# set the ACCESS_TOKEN environment variable (with Bearer)
$ export ACCESS_TOKEN=`ibmcloud iam oauth-tokens | grep IAM | cut -d \: -f 2 | sed 's/^ *//'`
# show the access token
$ echo $ACCESS_TOKEN
Bearer eyJraWQiOiIyMDIwMDcyNDE4MzEiLCJh ...<redacted>... o4qlcKjl9sVqLa8Q
# set the ACCESS_TOKEN environment variable (without Bearer)
$ export ACCESS_TOKEN=`ibmcloud iam oauth-tokens | grep IAM | cut -d ' ' -f 5 | sed 's/^ *//'`
$ echo $ACCESS_TOKEN
eyJraWQiOiIyMDIwMDcyNDE4MzEiLCJh ...<redacted>... o4qlcKjl9sVqLa8Q