Reservierte InstanzIBM Cloud

Authentifizierung - IBM Cloud

Um mit der API zu arbeiten, authentifizieren Sie Ihre Anwendung oder Ihren Dienst, indem Sie Ihr IAM-Zugriffstoken und die GUID (ID) der Dienstinstanz in die API-Anforderungen aufnehmen.

Sie können die IBM Cloud CLI verwenden, um schnell Ihr persönliches Cloud IAM-Zugangs-Token zu erstellen.

  1. Melden Sie sich bei IBM Cloud® mit der 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. Rufen Sie bei Verwendung dieser Option den in der CLI-Ausgabe aufgeführten Link auf, um einen einmaligen Kenncode zu generieren.

  2. Wählen Sie das Konto, die Region und die Ressourcengruppe, die Ihre bereitgestellte Instanz von IBM® MQ as a Service enthalten.
  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...

    So rufen Sie die GUID Ihrer Service-Instanz ab:

    Führen Sie den folgenden Befehl aus, ersetzen Sie dabei den Namen Ihrer Service-Instanz durch {service-instance-name} und extrahieren Sie den Wert des Feldes guid.

    ibmcloud resource service-instance {service-instance-name} --output JSON
    

    Sie können Ihre API-Anfrage erstellen, indem Sie einen Dienstendpunkt mit Ihren Authentifizierungsdaten verknüpfen. Wenn Sie z. B. eine Instanz IBM MQ as a Service für die Region eu-de erstellt haben, verwenden Sie den folgenden Endpunkt und die API-Header, um Warteschlangenmanager in Ihrer Dienstinstanz abzurufen:

    curl -X GET \
        -H "Accept: application/json" \
        -H "Authorization: Bearer <access_token>" \
        "https://api.private.eu-de.mq2.cloud.ibm.com/v1/<guid>/queue_managers"

    Ersetzen Sie <access_token> durch Ihr IBM Cloud IAM-Token und <guid> durch die Service-Instanz-GUID (ID), die Ihre IBM MQ as a Service -Instanz identifiziert.

    Um jede Methode aufzurufen, muss Ihnen eine Rolle zugewiesen werden, die die erforderlichen IAM-Aktionen umfasst. Jede Methode listet die zugeordnete Aktion auf. Weitere Informationen zu IAM-Aktionen und deren Zuordnung zu Rollen finden Sie unter Zuweisen von Zugriff auf Kontoverwaltungsdienste.

    Zum Abrufen Ihres Zugangstokens:

    curl -X POST "https://iam.cloud.ibm.com/identity/token" --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' --data-urlencode 'apikey=<API_KEY>'

    Ersetzen Sie <API_KEY> durch Ihren IAM-API-Schlüssel.

Curl-Beispiel

Zum Abrufen Ihres Zugangstokens:

curl -X POST "https://iam.cloud.ibm.com/identity/token" --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' --data-urlencode 'apikey=<API_KEY>'

Ersetzen Sie <API_KEY> durch Ihren IAM-API-Schlüssel.

Beispiel gehen

Einstellung von Client-Optionen durch externe Konfiguration.

Beispiel für Umgebungsvariablen, wobei <ENDPOINT_URL> für den Endpunkt URL und <API_KEY> für Ihren IAM-API-Schlüssel steht

export IBMCLOUD_MQCLOUD_CONFIG_ENDPOINT=<ENDPOINT_URL> export IBMCLOUD_APIKEY=<API_KEY> export IBMCLOUD_IAM_API_ENDPOINT="https://iam.cloud.ibm.com"

Beispiel für den Aufbau des Dienstclients:

import ( "log""os""github.com/IBM/go-sdk-core/v5/core""github.com/IBM/mqcloud-go-sdk/mqcloudv1" ) ... authenticator := &core.IamAuthenticator{ ApiKey: os.Getenv("IBMCLOUD_APIKEY"), URL: os.Getenv("IBMCLOUD_IAM_API_ENDPOINT") + "/identity/token", } mqcloudV1Options := &mqcloudv1.MqcloudV1Options{ URL: os.Getenv("IBMCLOUD_MQCLOUD_CONFIG_ENDPOINT"), Authenticator: authenticator, } mqcloudService, err := mqcloudv1.NewMqcloudV1(mqcloudV1Options) if err != nil { log.Fatalf("Failed to create MQ Cloud Service Client: %v", err) }