Schritt 7: Zugriff auf Steuerungsebene aktivieren

Damit die Laufzeit- und die Steuerungsebene miteinander kommunizieren können, müssen Sie die erforderlichen Berechtigungen für den Zugriff von Synchronizer und Analytics-Publishern mit der updateControlPlaneAccess API aktivieren.

Autorisierungstoken abrufen

Für die später in diesem Thema beschriebenen Apigee API-Aufrufe benötigen Sie ein Autorisierungstoken mit der Rolle "Administrator der Apigee-Organisation".

  1. Wenn Sie nicht der Inhaber des Google Cloud-Projekts sind, das mit Ihrer Apigee Hybrid-Organisation verknüpft ist, prüfen Sie, ob Ihr Google Cloud-Nutzerkonto die Rolle roles/apigee.admin (Administrator der Apigee-Organisation) hat. Sie können die Ihnen zugewiesenen Rollen mit diesem Befehl prüfen:
    gcloud projects get-iam-policy ${PROJECT_ID}  \
      --flatten="bindings[].members" \
      --format='table(bindings.role)' \
      --filter="bindings.members:your_account_email"
    

    Beispiel:

    gcloud projects get-iam-policy my-project  \
      --flatten="bindings[].members" \
      --format='table(bindings.role)' \
      --filter="bindings.members:myusername@example.com"

    Die Ausgabe sollte roles/apigee.admin beinhalten.

  2. Wenn Sie keine roles/apigee.admin haben, fügen Sie Ihrem Nutzerkonto die Rolle Apigee-Organisationsadministrator hinzu. Verwenden Sie den folgenden Befehl, um Ihrem Nutzerkonto die Rolle hinzuzufügen:
    gcloud projects add-iam-policy-binding ${PROJECT_ID} \
      --member user:your_account_email \
      --role roles/apigee.admin

    Beispiel:

    gcloud projects add-iam-policy-binding my-project \
      --member user:myusername@example.com \
      --role roles/apigee.admin
  3. Rufen Sie in der Befehlszeile die Anmeldedaten der gcloud-Authentifizierung mit dem folgenden Befehl ab:

    Linux / MacOS

    export TOKEN=$(gcloud auth print-access-token)

    Um zu prüfen, ob Ihr Token ausgefüllt wurde, verwenden Sie echo wie im folgenden Beispiel:

    echo $TOKEN

    Das Token sollte als codierter String angezeigt werden.

    Windows

    for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a

    Um zu prüfen, ob Ihr Token ausgefüllt wurde, verwenden Sie echo wie im folgenden Beispiel:

    echo %TOKEN%

    Das Token sollte als codierter String angezeigt werden.

Synchronizer-Zugriff aktivieren

So aktivieren Sie den Synchronizer-Zugriff:

  1. Rufen Sie die E-Mail-Adresse des Dienstkontos ab, auf das Sie Synchronizer-Zugriff gewähren. Für Nicht-Produktionsumgebungen (wie in dieser Anleitung vorgeschlagen) sollte der Wert apigee-non-prod sein. In Produktionsumgebungen sollte der Wert apigee-synchronizer sein. Verwenden Sie den folgenden Befehl:
    gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"
  2. Rufen Sie die updateControlPlaneAccess API mit dem folgenden Befehl auf, um die erforderlichen Berechtigungen für Synchronizer zu aktivieren:

    Kein Datenstandort

    curl -X PATCH -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}/controlPlaneAccess?update_mask=synchronizer_identities" \
      -d "{\"synchronizer_identities\": [\"serviceAccount:apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com\"]}"
    

    Wobei:

    • ${ORG_NAME}: der Name Ihrer Hybridorganisation.
    • apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com: die E-Mail-Adresse des Dienstkontos.

    Datenstandort

    curl -X PATCH -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}/controlPlaneAccess?update_mask=synchronizer_identities" \
      -d "{\"synchronizer_identities\": [\"serviceAccount:apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com\"]}"
    

    Wobei:

    • CONTROL_PLANE_LOCATION: Der Speicherort für die Daten der Steuerungsebene, wenn in Ihrer Hybridinstallation der Datenstandort verwendet werden. Das ist der Speicherort, an dem wichtige Kundeninhalte wie Proxy-Bundles gespeichert werden. Eine Liste finden Sie unter Verfügbare Regionen der Apigee API-Steuerungsebene.
    • ${ORG_NAME}: der Name Ihrer Hybridorganisation.
    • apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com: die E-Mail-Adresse des Dienstkontos.
  3. Prüfen Sie, ob das Dienstkonto eingerichtet wurde. Rufen Sie mit dem folgenden Befehl die API auf, um eine Liste der Dienstkonten abzurufen:

    Kein Datenstandort

    curl -X GET -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}/controlPlaneAccess"
        

    Datenstandort

    curl -X GET -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}/controlPlaneAccess"
        

    Die Ausgabe sollte in etwa so aussehen:

    {
      "synchronizerIdentities": [
        "serviceAccount:apigee-synchronizer@YOUR_ORG_NAME.iam.gserviceaccount.com"
      ]
    }

Analytics-Zugriff für Publisher aktivieren

Mehrere Apigee Hybrid-Laufzeitkomponenten veröffentlichen Analyse- und Debug-Einträge, um Informationen für die Berichterstellung und das Debugging bereitzustellen. Damit diese Daten veröffentlicht werden können, müssen Sie den Dienstkonten, auf denen diese Apigee-Komponenten ausgeführt werden, zusätzliche Berechtigungen zum Veröffentlichen von Daten direkt in der Kontrollebene erteilen.

So aktivieren Sie den Zugriff für Analytics-Publisher:

  1. Legen Sie mit dem folgenden Befehl Berechtigungen für das Laufzeitdienstkonto fest, damit es Daten an die Steuerungsebene veröffentlichen kann:

    Kein Datenstandort

    curl -X  PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \
      -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\"]}"

    Datenstandort

    curl -X  PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type:application/json" \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \
      -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\"]}"

    Die Antwort sollte in etwa so aussehen:

    {
      "name": "organizations/YOUR_ORG_NAME/operations/8316aa78-c137-4733-92ec-cc0d2d92fd29",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "UPDATE",
        "targetResourceName": "organizations/YOUR_ORG_NAME/controlPlaneAccess",
        "state": "IN_PROGRESS"
      }
    }
    
  2. Prüfen Sie den Status des Vorgangs mit dem Parameter „name“ aus der Aktualisierungsantwort:

    Kein Datenstandort

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
      -H "Content-Type:application/json"  \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/8316aa78-c137-4733-92ec-cc0d2d92fd29"

    Datenstandort

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)"  \
      -H "Content-Type:application/json"  \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/8316aa78-c137-4733-92ec-cc0d2d92fd29"

    Die Antwort sollte in etwa so aussehen:

    {
      "name": "organizations/YOUR_ORG_NAME/operations/8316aa78-c137-4733-92ec-cc0d2d92fd29",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "UPDATE",
        "targetResourceName": "organizations/YOUR_ORG_NAME/controlPlaneAccess",
        "state": "FINISHED"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.ControlPlaneAccess",
        "name": "organizations/YOUR_ORG_NAME/controlPlaneAccess"
      }
    }
    
  3. Prüfen Sie die ControlPlaneAccess-Konfiguration der Organisation:

    Kein Datenstandort

    curl "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"

    Datenstandort

    curl "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)"

    Die Antwort sollte in etwa so aussehen:

    {
      "synchronizerIdentities": [
        "serviceAccount:apigee-synchronizer@YOUR_ORG_NAME.iam.gserviceaccount.com"
      ],
      "analyticsPublisherIdentities": [
        "serviceAccount:apigee-runtime@YOUR_ORG_NAME.iam.gserviceaccount.com"
      ]
    }
    

Sie haben jetzt Ihre Apigee Hybrid-Laufzeit- und -Verwaltungsebenen für die Kommunikation aktiviert. Installieren Sie als Nächstes cert-manager, damit Apigee Hybrid Zertifikate interpretieren und verwalten kann.

Nächster Schritt

1 2 3 4 5 6 7 (WEITER) Schritt 8: Cert-manager installieren 9 10 11