API-Ressourcen mit Apigee Spaces verwalten

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

In diesem Thema wird beschrieben, wie API-Ressourcen in einem Space erstellt und verwaltet werden. Sie können API-Proxys, freigegebene Abläufe und API-Produkte in einem Space erstellen. Ressourcen, die im Space erstellt wurden, erben die gleichen Berechtigungen wie der Space.

Das Erstellen von Ressourcen in einem Space entspricht dem Erstellen von Ressourcen in einer Apigee-Organisation, mit der Ausnahme, dass Sie beim Erstellen der Ressource einen Space auswählen können. Sie können API-Ressourcen über die Befehlszeile mit den Apigee APIs oder mit Apigee in der Cloud Console erstellen.

In diesem Leitfaden werden die erforderlichen Schritte für Folgendes beschrieben:

Eine Übersicht über Apigee Spaces finden Sie unter Apigee Spaces.

Weitere Informationen zu den Apigee API-Ressourcentypen finden Sie unter:

Hinweise

Bevor Sie mit dem Erstellen von API-Ressourcen in Apigee Spaces beginnen, müssen Sie die folgenden Aufgaben ausführen:

Erforderliche Rollen und Berechtigungen

Mit der Einführung von Apigee-Spaces hat sich die Art und Weise geändert, wie IAM die Berechtigungen prüft, die für die Ausführung einiger Vorgänge auf API-Ressourcen erforderlich sind. Wenn die API-Ressource in einem Space vorhanden ist, prüft IAM auf Space-Ebene, ob das Space-Mitglied, das den Vorgang ausführt, die entsprechenden Berechtigungen hat. Weitere Informationen finden Sie unter Rollen und Berechtigungen für Apigee Spaces und Hierarchie der IAM-Berechtigungen für Apigee Spaces.

Mitgliedern von Spaces Rollen und Berechtigungen zuweisen

Für Mitglieder von Spaces sind drei benutzerdefinierte Rollen verfügbar:

  • apigee.spaceContentEditor: Gewährt vollständigen Zugriff auf Ressourcen, die mit einem Bereich verknüpft werden können. Diese Rolle sollte auf Bereichsebene erteilt werden.
  • apigee.spaceContentViewer: Gewährt schreibgeschützten Zugriff auf Ressourcen, die mit einem Bereich verknüpft werden können. Diese Rolle sollte auf Bereichsebene erteilt werden.
  • apigee.spaceConsoleUser: Gewährt die erforderlichen Mindestberechtigungen zum Verwalten von Ressourcen in einem Bereich über die Google Cloud -Konsole. Diese Rolle sollte Nutzern mit Zugriff auf Ressourcen in diesem Bereich auf Google Cloud Projektebene zugewiesen werden.

Die in diesem Abschnitt beschriebenen benutzerdefinierten Rollen ermöglichen es nicht, API-Proxys oder freigegebene Abläufe bereitzustellen oder deren Bereitstellung aufzuheben. Wenn Sie einem Space-Mitglied erlauben möchten, Bereitstellungen zu verwalten, legen Sie eine IAM-Richtlinie auf Apigee-Umgebungs- oder Google Cloud -Projektebene fest, die dem Space-Mitglied die Rolle apigee.environment.admin gewährt.

Sie können einem Space-Mitglied eine oder mehrere Rollen mit einer der folgenden Methoden zuweisen:

  • Fügen Sie dem Space mithilfe der API die Rolle apigee.spaceContentEditor und der Zielumgebung mithilfe der API die Rolle apigee.environmentAdmin hinzu.
  • Fügen Sie die Rollen dem Projekt über die IAM-Benutzeroberfläche hinzu.

So prüfen Sie die Rollen auf Google Cloud Projektebene:

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    IAM aufrufen
  2. Wählen Sie das Projekt aus.
  3. Suchen Sie in der Spalte Hauptkonto nach allen Zeilen, in denen Sie oder eine Gruppe, zu der Sie gehören, angegeben sind. Fragen Sie Ihren Administrator, zu welchen Gruppen Sie gehören.

  4. Prüfen Sie in allen Zeilen, in denen Sie angegeben oder enthalten sind, die Spalte Rolle, um zu sehen, ob die Liste der Rollen die erforderlichen Rollen enthält.

So weisen Sie die Rollen zu:

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    Zu IAM
  2. Wählen Sie das Projekt aus.
  3. Klicken Sie auf Zugriff erlauben.
  4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die E-Mail-Adresse eines Google-Kontos.

  5. Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
  6. Wenn Sie weitere Rollen zuweisen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
  7. Klicken Sie auf Speichern.

Informationen zum Prüfen der auf Space-Ebene angewendeten IAM-Richtlinien finden Sie unter Mitglieder und Rollen in einem Space verwalten.

API-Proxys in einem Space verwalten

Mitglieder der Apigee-Organisation, die einem Space zugewiesen sind, können API-Proxys als Space-Ressourcen erstellen. Mitglieder, die nur anderen Spaces zugewiesen sind, können nicht auf diese Proxys zugreifen oder sie verwalten.

Erstellen Sie einen API-Proxy als Space-Ressource mithilfe von Apigee in der Cloud Console oder der API, wie in den folgenden Abschnitten beschrieben.

Apigee in der Cloud Console

So erstellen Sie einen API-Proxy als Space-Ressource mit Apigee in der Cloud Console:

  1. Folgen Sie den Schritten unter API-Proxy erstellen.
  2. In Schritt 5 sehen Sie unter Proxy-Details ein zusätzliches Feld, in dem Sie einen Space für den API-Proxy auswählen können. Wählen Sie im Listenfeld einen Space aus. Wenn Sie den API-Proxy keinem Space zuweisen möchten, können Sie dieses Feld überspringen.
  3. Klicken Sie auf Weiter, um mit dem optionalen Bereitstellungsschritt der Proxyerstellung fortzufahren, oder klicken Sie auf Erstellen, um den Proxy zu erstellen, ohne ihn bereitzustellen.

Apigee API

Verwenden Sie den folgenden Befehl, um mithilfe der Apigee APIs einen API-Proxy als Space-Ressource zu erstellen:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/apis?name=PROXY_NAME&space=SPACE_NAME&action=import" \
    -X POST -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: multipart/form-data" \
    -F "file=@PROXY_BUNDLE"

Wobei:

  • ORG_NAME ist der Name Ihrer Apigee-Organisation.
  • PROXY_NAME ist der Name des API-Proxy, den Sie erstellen. Der Name muss global eindeutig sein, nicht nur innerhalb des Spaces eindeutig.
  • SPACE_NAME ist der Name des Spaces, in dem Sie den API-Proxy erstellen.
  • PROXY_BUNDLE ist der Name der API-Proxy-Bundle-Datei.

Beispiel: Mit dem folgenden Befehl erstellt ein rotes Teammitglied einen API-Proxy mit dem Namen proxy-1 als rote Space-Ressource in der acme-Organisation mit der proxy-bundle.zip-Datei:

curl "https://apigee.googleapis.com/v1/organizations/acme/apis?name=proxy-1&space=red&action=import" \
    -X POST -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: multipart/form-data \
    -F "file=@proxy-bundle.zip"

Das folgende Beispiel zeigt die Antwort auf den Befehl:

{
  "basepaths": ["/proxy-1"],
  "revision": 1,
  "apiProxyId": "proxy-1",
  "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
  "space": "red",
  "createTime": ...,
  "updateTime": ...
}

Freigegebene Abläufe als Space-Ressourcen verwalten

Mitglieder, die einem Space zugewiesen sind, können auch freigegebene Abläufe als Space-Ressourcen erstellen. Mitglieder anderer Spaces können nicht auf diese freigegebenen Workflows zugreifen oder sie verwalten.

Erstellen Sie mit Apigee in der Cloud Console oder der API einen freigegebenen Ablauf als Space-Ressource, wie in den folgenden Abschnitten beschrieben.

Apigee in der Cloud Console

So erstellen Sie mit Apigee in der Cloud Console einen freigegebenen Ablauf als Space-Ressource:
  1. Folgen Sie der Anleitung unter Freigegebenen Ablauf in der Apigee-Benutzeroberfläche erstellen, um einen freigegebenen Ablauf von Grund auf neu zu erstellen oder ein vorhandenes Ablauf-Bundle hochzuladen.
  2. In Schritt 4 sehen Sie im Dialogfeld Freigegebenen Ablauf erstellen ein zusätzliches Feld, in dem Sie einen Space für den API-Proxy auswählen können. Wählen Sie im Listenfeld einen Space aus. Wenn Sie den API-Proxy keinem Space zuweisen möchten, können Sie dieses Feld überspringen.
  3. Klicken Sie auf Erstellen, um den freigegebenen Ablauf zu erstellen.

Apigee API

Verwenden Sie den folgenden Befehl, um mithilfe der Apigee APIs einen freigegebenen Ablauf als Space-Ressource zu erstellen:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sharedflows?name=FLOW_NAME&space=SPACE_NAME&action=import" \
    -X POST -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: multipart/form-data" \
    -F "file=@SHARED_FLOW_BUNDLE"

Wobei:

  • ORG_NAME ist der Name Ihrer Apigee-Organisation.
  • FLOW_NAME ist der Name des freigegebenen Ablaufs, den Sie erstellen. Der Name muss global eindeutig sein, nicht nur innerhalb des Spaces eindeutig.
  • SPACE_NAME ist der Name des Spaces, in dem Sie den freigegebenen Ablauf erstellen.
  • SHARED_FLOW_BUNDLE ist der Name der Bundle-Datei des freigegebenen Ablaufs.

Mit dem folgenden Befehl erstellt ein Mitglied des roten Teams beispielsweise einen freigegebenen Ablauf namens flow-1, der mit dem roten Space in der Organisation acme verknüpft ist:

curl "https://apigee.googleapis.com/v1/organizations/acme/sharedflows?name=flow-1&space=red&action=import" \
    -X POST -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: multipart/form-data" \
    -F "file=@sharedflow-bundle.zip"

Das folgende Beispiel zeigt die Antwort auf den Befehl:

{
  "name": "organizations/acme/sharedflows/flow-1",
  "revision": 1,
  "sharedFlowId": "flow-1",
  "space": "red",
  "createTime": ...,
  "updateTime": ...
}

API-Produkt als Space-Ressource verwalten

Mitglieder, die einem Space zugewiesen sind, können ein API-Produkt erstellen, um ihre API-Proxys zu bündeln. Beim Erstellen von API-Produkten können Mitglieder von Spaces alle für sie zugänglichen API-Proxys auswählen, einschließlich Proxys, die direkt unter der Organisation erstellt wurden, und API-Proxys, die als Ressourcen in Spaces erstellt wurden, in denen sie Mitglied sind. Mitglieder anderer Spaces können nicht auf diese API-Produkte zugreifen oder sie verwalten.

Erstellen Sie mithilfe von Apigee in der Cloud Console oder mit der API ein API-Produkt als Space-Ressource, wie in den folgenden Abschnitten beschrieben.

Apigee in der Cloud Console

So erstellen Sie ein API-Produkt als Space-Ressource mit Apigee in der Cloud Console:

  1. Folgen Sie der Anleitung unter API-Produkt erstellen.
  2. In Schritt 4 sehen Sie auf der Seite Produktdetails ein zusätzliches Feld, in dem Sie einen Space für das API-Produkt auswählen können. Wählen Sie im Listenfeld einen Space aus. Wenn Sie das API-Produkt keinem Space zuweisen möchten, können Sie dieses Feld überspringen.
  3. Geben Sie die restlichen Konfigurationsinformationen ein und klicken Sie auf Speichern.

Apigee API

Wenn Sie ein API-Produkt als Space-Ressource über die API erstellen möchten, senden Sie eine Anfrage an den Endpunkt apiproducts/create und fügen Sie das Attribut space hinzu.

Mit dem folgenden Befehl wird beispielsweise ein API-Produkt mit dem Namen product-1 in der Organisation acme erstellt, das dem roten Space zugeordnet ist:

curl -X POST "https://apigee.googleapis.com/v1/organizations/acme/apiproducts" \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-type: application/json" -d \
      `{
        "name": "product-1",
        "displayName": "product-1",
        "approvalType": "auto",
        "attributes": [
          {
            "name": "access",
            "value": "internal"
          }
        ],
        "environments": [
          "test"
        ],
        "operationGroup": {
          "operationConfigs": [
            {
              "apiSource": "proxy-1",
              "operations": [
                {
                  "resource": "/",
                  "methods": [
                    "GET"
                  ]
                }
              ]
            }
          ],
          "operationConfigType": "proxy"
        },
        "space": "red"
      }'

Das folgende Beispiel zeigt die Antwort auf den Befehl:

{
  "name": "product-1",
  "displayName": "product-1",
  "approvalType": "auto",
    "attributes": [
      {
        "name": "access",
        "value": "internal"
      }
    ],
    "environments": [
    "test"
  ],
  "createdAt": "1741977778448",
  "lastModifiedAt": "1741977778448",
  "operationGroup": {
    "operationConfigs": [
      {
        "apiSource": "proxy-1",
        "operations": [
          {
            "resource": "/",
            "methods": [
              "GET"
            ]
          }
        ]
      }
    ],
    "operationConfigType": "proxy"
  },
  "space": "red"
}

Alle API-Ressourcen auflisten, die mit einem Space verknüpft sind

Für alle Listenvorgänge, einschließlich ListApiProxies, ListSharedFlows und ListApiProducts, können Sie einen Namen für den Space angeben, um alle Ressourcen aufzulisten, die mit diesem Space verknüpft sind. Wenn Sie keinen Space-Namen angeben, werden beim Auflisten alle Ressourcen in der Organisation zurückgegeben, auf die Sie Zugriff haben, unabhängig davon, ob diese Ressourcen mit einem Space verknüpft sind.

Wichtig: Wenn Sie die Apigee Spaces-Funktion verwenden, sind die Ergebnisse von list-Vorgängen für API-Ressourcen, die einem Space zugewiesen sind, auf die Ergebnisse für die Spaces beschränkt, auf die der Prinzipal zugreifen kann. Wenn acme-team@acme.com beispielsweise die Rolle apigee.spaceContentEditor für den roten Space erhält, sehen Mitglieder des Teams acme-team, die den Vorgang list verwenden, nur API-Proxys, die mit dem roten Space verknüpft sind, und nicht alle API-Proxys in der Organisation.

Zum Ausführen dieser Aufgabe benötigen Sie die Berechtigung apigee.apiResources.list. Diese Berechtigung ist in der Rolle Apigee > Apigee Organization Admin enthalten.

API-Ressourcen auflisten, die mit einem bestimmten Space verknüpft sind

Sie können alle API-Ressourcen, die mit einem bestimmten Space verknüpft sind, in Apigee in der Cloud Console oder mithilfe der API auflisten, wie in den folgenden Abschnitten beschrieben.

Apigee in der Cloud Console

Wenn Sie in Apigee in der Cloud Console alle API-Ressourcen auflisten möchten, die mit einem bestimmten Space verknüpft sind, öffnen Sie die Übersichtsseite für den entsprechenden Ressourcentyp (API-Proxys, freigegebene Abläufe oder API-Produkte). Wählen Sie im Feld Filter die Option Space aus der Liste aus und geben Sie dann den Namen des Space ein. Die Liste der diesem Space zugewiesenen Ressourcen wird angezeigt. Es werden nur Ressourcen angezeigt, die mit einem Space verknüpft sind, in dem der Nutzer Mitglied ist.

Apigee API

Verwenden Sie den folgenden Befehl, um alle API-Ressourcen aufzulisten, die mit einem bestimmten Space verknüpft sind:

curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE?space=SPACE_NAME"

Wobei:

  • ORG_NAME ist der Name Ihrer Apigee-Organisation.
  • RESOURCE_TYPE ist der Typ der Ressource, die Sie auflisten. Gültige Werte sind:
    • apis
    • sharedFlows
    • apiProducts
  • SPACE_NAME ist der Name des Space, in dem Sie die Ressource auflisten.

Mit dem folgenden Befehl listet ein Mitglied des roten Teams beispielsweise alle API-Proxys auf, die mit dem roten Space in der Organisation acme verknüpft sind:

curl -H  "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/acme/apis?space=red"

Das folgende Beispiel zeigt die Antwort auf den Befehl:

{
  "proxies": [
    {
      "basepaths": "/proxy-1",
      "revision": "1",
      "apiProxyId": "proxy-1",
      "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
      "space": "red",
      "createTime": ...,
      ....
    }
  ]
}

API-Ressourcen ohne Angabe eines Space auflisten

Sie können in Apigee in der Cloud Console oder mithilfe der API alle API-Ressourcen auflisten, ohne einen Space anzugeben, wie in den folgenden Abschnitten beschrieben.

Apigee in der Cloud Console

Wenn Sie in der Apigee Console in der Cloud eine Liste aller API-Ressourcen eines bestimmten Typs unabhängig von der Space-Verknüpfung aufrufen möchten, öffnen Sie die Übersichtsseite für den entsprechenden Ressourcentyp (API-Proxys, freigegebene Abläufe oder API-Produkte). Eine Liste aller verfügbaren Ressourcen wird angezeigt. Es werden nur Ressourcen angezeigt, für die der Nutzer die Berechtigung zum Aufrufen hat. Dazu gehören mit einem oder mehreren Spaces verknüpfte Ressourcen, in denen der Nutzer Mitglied ist, oder Ressourcen, die nicht mit einem Space verknüpft sind.

Apigee API

Mit dem folgenden Befehl können Sie API-Ressourcen auch auflisten, ohne einen Space anzugeben:

curl -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/ORG_NAME/RESOURCE_TYPE"

Wobei:

  • ORG_NAME ist der Name Ihrer Apigee-Organisation.
  • RESOURCE_TYPE ist der Typ der Ressource, die Sie auflisten. Gültige Werte sind:
    • apis
    • sharedFlows
    • apiProducts

Ein Nutzer mit Organization Admin-Zugriff auf alle Organisationsressourcen kann beispielsweise mit dem folgenden Befehl alle API-Proxys in der Organisation acme auflisten:

curl -H  "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/acme/apis"

Wenn die Organisation acme drei Proxys hat, gibt der Befehl Details zu allen drei Proxys zurück. Beispiel:

{
  "proxies": [
    {
      "basepaths": "/proxy-1",
      "revision": "1",
      "apiProxyId": "proxy-1",
      "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
      "space": "red",
      "createTime": ...,
      ....
    },
    {
      "basepaths": "/proxy-2",
      "revision": "1",
      "apiProxyId": "proxy-2",
      "resourceName": "organizations/acme/apis/proxy-2/revisions/1",
      "space": "blue",
      "createTime": ...,
      ....
    },
    {
      "basepaths": "/proxy-3",
      "revision": "1",
      "apiProxyId": "proxy-3",
      "resourceName": "organizations/acme/apis/proxy-3/revisions/1",
      "space": "green",
      "createTime": ...,
      ....
    }
  ]
}

Wenn ein anderer Nutzer, der nur apiAdmin-Zugriff hat, auf Ressourcen im roten Space denselben Befehl verwendet, werden nur Details zu proxy-1 zurückgegeben. Die Antwort würde so aussehen:

{
  "proxies": [
    {
      "basepaths": "/proxy-1",
      "revision": "1",
      "apiProxyId": "proxy-1",
      "resourceName": "organizations/acme/apis/proxy-1/revisions/1",
      "space": "red",
      "createTime": ...,
      ....
    }
  ]
}

Nächste Schritte