Zugriffstoken abrufen

Beginnen Sie mit der API des Hyper Protect Crypto Services-Schlüsselmanagementservice, indem Sie Ihre Anforderungen an den Service mit einem IBM Cloud® Identity and Access Management-Zugriffstoken (IAM) authentifizieren.

Ein Zugriffstoken ist ein temporärer Berechtigungsnachweis, der nach einer Stunde abläuft. Nachdem das erworbene Token abgelaufen ist, müssen Sie ein neues Token generieren, um weiterhin IBM Cloud- oder Service-APIs aufrufen zu können. Um den Zugriff auf den Service zu erhalten, generieren Sie das Zugriffstoken für Ihren API-Schlüssel regelmäßig neu.

Zugriffstoken mit der Befehlszeilenschnittstelle abrufen

Sie können über die IBM Cloud-CLI schnell Ihr persönliches Cloud IAM-Zugriffstoken generieren.

  1. Melden Sie sich bei IBM Cloud über die IBM Cloud CLI an.

    ibmcloud login
    

    Wenn die Anmeldung fehlschlägt, führen Sie den Befehl ibmcloud login --sso aus, um es erneut zu versuchen. Der Parameter --sso ist 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.

  2. Wählen Sie die Region und die Ressourcengruppe aus, in der Sie eine Hyper Protect Crypto Services-Serviceinstanz erstellen möchten. Sie können den folgenden Befehl verwenden, um die gewünschte Region und Ressourcengruppe festzulegen.

    ibmcloud target -r <region_name> -g <resource_group_name>
    
  3. Führen Sie den folgenden Befehl aus, um Ihr Cloud IAM-Zugriffstoken abzurufen.

    ibmcloud iam oauth-tokens
    

    Im 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 programmgesteuert abrufen, indem Sie einen API-Schlüssel verwenden und dann Ihren API-Schlüssel durch ein IBM Cloud IAM-Token ersetzen. Abhängig davon, ob Sie das Zugriffstoken für einen Benutzer oder eine Anwendung erstellen, verwenden Sie Ihren IBM Cloud-Benutzer-API-Schlüssel oder einen Service-ID-API-Schlüssel.

  1. Melden Sie sich bei IBM Cloud über die IBM Cloud CLI an.

    ibmcloud login
    

    Wenn die Anmeldung fehlschlägt, führen Sie den Befehl ibmcloud login --sso aus, um es erneut zu versuchen. Der Parameter --sso ist 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.

  2. Verwenden Sie den folgenden Befehl, um die Region und die Ressourcengruppe auszuwählen, die Ihre bereitgestellte Hyper Protect Crypto Services-Instanz enthalten:

    ibmcloud target -r <region_name> -g <resource_group_name>
    
  3. Erstellen Sie einen -API-Schlüssel.

    • Falls Sie ein Zugriffstoken für einen Benutzer abrufen möchten, verwenden Sie den folgenden Befehl, um einen Benutzer-API-Schlüssel zu erstellen:

      ibmcloud iam api-key-create <API_key_name>
          [-d, --description <description>]
          [--file <API_key_file_name>]
      

      Geben Sie den API-Schlüssel mit dem Parameter <API_key_name> als eindeutigen Namen an. Stellen Sie sicher, dass Sie Ihren API-Schlüssel zur späteren Verwendung speichern, indem Sie entweder den Parameter <API_key_file_name> verwenden oder den API-Schlüsselwert aus der Befehlsantwort kopieren.

    • Falls Sie ein Zugriffstoken für eine Anwendung abrufen möchten, führen Sie die folgenden Schritte aus, um einen Service-ID-API-Schlüssel zu erstellen:

      1. Führen Sie den folgenden Befehl aus, um eine Service-ID für Ihre Anwendung zu erstellen:

        ibmcloud iam service-id-create <service_ID_name>
            [-d, --description <description>]
        

        Geben Sie für die Service-ID einen eindeutigen Namen mit dem Parameter <service_ID_name> an.

      2. Führen Sie den folgenden Befehl aus, um einen Service-ID-API-Schlüssel zu erstellen:

        ibmcloud iam service-api-key-create <API_key_name> <service_ID_name>
            [-d, --description <description>]
            [--file <API_key_file_name>]
        

        Geben Sie für den API-Schlüssel einen eindeutigen Namen mit dem Parameter <API_key_name> an und ersetzen Sie <service_ID_name> durch den eindeutigen Alias, den Sie Ihrer Service-ID im vorherigen Schritt zugewiesen haben. Stellen Sie sicher, dass Sie Ihren API-Schlüssel zur späteren Verwendung speichern, indem Sie entweder den Parameter <API_key_file_name> verwenden oder den API-Schlüsselwert aus der Befehlsantwort kopieren.

  4. Weisen Sie dem Benutzer oder der Service-ID basierend auf Ihrer Zugriffsrichtlinie den passenden Zugriff auf Ihre Hyper Protect Crypto Services-Instanz zu.

    Informationen dazu, welche IAM-Zugriffsrollen bestimmten Hyper Protect Crypto Services-Serviceaktionen zugeordnet sind, finden Sie unter Rollen und Berechtigungen.

  5. Rufen Sie die IAM Identity Services-API auf, 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:ibm:params:oauth:grant-type:apikey&apikey=<API_key>" > token.json
    

    Ersetzen Sie in der Anfrage <API_key> durch den Benutzer-API-Schlüssel oder den Service-ID-API-Schlüssel, den Sie im vorherigen Schritt erstellt haben. Im folgenden gekürzten Beispiel wird der Inhalt der Datei token.json dargestellt:

    {
    "access_token": "eyJraWQiOiIyM...",
    "expiration": 1512161390,
    "expires_in": 3600,
    "refresh_token": "...",
    "token_type": "Bearer"
    }
    

    Verwenden Sie den vollständigen Wert access_token mit dem Tokentyp Bearer als Präfix, um Schlüssel für Ihren Service über das Programm mit der API des Hyper Protect Crypto Services-Schlüsselmanagementservice zu verwalten. Ein Beispiel für eine API-Anforderung des Hyper Protect Crypto Services-Schlüsselmanagementservice finden Sie unter API-Anforderung für Schlüsselmanagementservice erstellen.