Apigee Edge-Dokumentation aufrufen
In diesem Thema wird beschrieben, wie Sie Apigee Spaces in Ihrer Apigee-Organisation erstellen, um Identity and Access Management-Richtlinien für Apigee API-Ressourcen in großem Maßstab zu verwalten.
In diesem Leitfaden werden die Schritte für Folgendes beschrieben:
- Gruppenbereich erstellen
- Mitglieder und Rollen in einem Bereich verwalten
- Alle Gruppenbereiche in einer Organisation auflisten
- Details zum Gruppenbereich abrufen
- Gruppenbereich aktualisieren
- Gruppenbereiche löschen
Weitere Informationen zu den Vorteilen von Apigee Spaces zur Verwaltung Ihrer API-Ressourcen finden Sie unter Apigee Spaces.
Hinweise
Bevor Sie mit Spaces beginnen:
- Apigee bereitstellen. Prüfen Sie, ob die Apigee-Abo- oder „Pay as you go“-Organisation, die Sie verwenden möchten, bereitgestellt ist. Weitere Informationen zu den erforderlichen Schritten für die Bereitstellung von Apigee finden Sie unter Einführung in die Bereitstellung.
- Rufen Sie Ihre Anmeldedaten für die Authentifizierung ab. Bevor Sie Befehle zum Erstellen und Verwalten von Bereichen in der Befehlszeile ausführen, rufen Sie Ihre Anmeldedaten für die
gcloud
-Authentifizierung mit dem folgenden Befehl ab:export TOKEN=$(gcloud auth print-access-token)
Erforderliche Rollen und Berechtigungen
Make sure that you have the following role or roles on the project: Apigee > Apigee Organization Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
IAM aufrufen - Wählen Sie das Projekt aus.
- Klicken Sie auf Zugriff erlauben.
-
Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die E-Mail-Adresse eines Google-Kontos.
- Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
- Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
- Klicken Sie auf Speichern.
Gruppenbereich erstellen
Zum Ausführen dieser Aufgabe benötigen Sie die Berechtigung apigee.spaces.create
.
Diese Berechtigung ist in der Rolle Apigee Organization Admin
enthalten.
Verwenden Sie den folgenden Befehl, um einen Space in Ihrer Apigee-Organisation zu erstellen:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces" \ --data-raw '{ "name":"SPACE_NAME " }'
Wobei:
- ORG_NAME ist der Name Ihrer Apigee-Organisation.
- SPACE_NAME ist der Name des Space, den Sie erstellen.
Mit dem folgenden Befehl wird beispielsweise ein Space mit dem Namen rot in der Organisation acme erstellt:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ https://apigee.googleapis.com/v1/organizations/acme/spaces \ --data-raw '{ "name":"red", }'
Mitglieder und Rollen in einem Space verwalten
Nachdem Sie einen Gruppenbereich erstellt haben, können Sie ihm Teammitglieder hinzufügen und die erforderlichen IAM-Rollen zuweisen, um API-Ressourcen im Gruppenbereich zu erstellen und zu verwalten. Apigee-Nutzer können Ressourcen nur in Gruppenbereichen erstellen und verwalten, in denen sie Teammitglieder mit den entsprechenden Berechtigungen sind. Da die IAM-Zugriffssteuerung auf Ebene der Gruppenbereiche gewährt wird, können Mitglieder der Organisation nur dann auf Spaces API-Ressourcen zugreifen oder sie verwalten, wenn sie den Gruppenbereichen ausdrücklich hinzugefügt wurden. Einen Überblick über die IAM-Rollen und -Berechtigungen, die zum Verwalten von Gruppenbereichsressourcen erforderlich sind, finden Sie unter Erforderliche Rollen und Berechtigungen.
Gruppenbereich ein Mitglied der Organisation hinzufügen
Wenn einem Gruppenbereich ein Mitglied einer Organisation hinzugefügt wird, wird eine IAM-Richtlinienbindung für den Gruppenbereich erstellt, die zwei Argumente annimmt:
- Die Liste der Mitglieder des Gruppenbereichs
- Die Rolle oder Liste der Rollen, die den Mitgliedern zugewiesen wurden
Für diese Aufgabe benötigen Sie die Berechtigung apigee.spaces.setIamPolicy
.
Diese Berechtigung ist in der Rolle Apigee Organization Admin
enthalten.
Mit dem folgenden Befehl fügen Sie einem Space ein Mitglied der Organisation hinzu und weisen ihm eine IAM-Rolle zu:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME :setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:USER_EMAIL "], "role": "roles/IAM_ROLE " } ] } }'
Wobei:
- ORG_NAME ist der Name der Apigee-Organisation.
- SPACE_NAME ist der Name des Gruppenbereichs.
- USER_EMAIL ist die E-Mail-Adresse eines Nutzers, den Sie dem Space hinzufügen.
- IAM_ROLE ist der Name der IAM-Rolle, die Sie dem Nutzer als Mitglied eines Gruppenbereichs zuweisen.
Mit diesem Befehl wird beispielsweise der Nutzer my-email@acme.com dem Space rot in der Organisation acme hinzugefügt und ihm die IAM-Rolle apigee.apiAdminV2
zugewiesen:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:my-email@acme.com"], "role": "roles/apigee.apiAdminV2" } ] } }'
Mitgliedern von Gruppenbereichen können zusätzliche Rollen und Berechtigungen hinzugefügt werden, indem die IAM-Richtlinie für den Gruppenbereich aktualisiert wird. Wenn Sie die IAM-Richtlinie für einen Gruppenbereich aktualisieren möchten, verwenden Sie die in diesem Abschnitt beschriebene setIamPolicy
-Methode und die überarbeitete Liste der gewünschten Rollen und Berechtigungen. Dadurch wird eine neue IAM-Richtlinie für den Gruppenbereich erstellt, in der Rollen und Berechtigungen entsprechend angepasst sind.
Team aus Mitgliedern einem Space hinzufügen
Alternativ können Sie einem Gruppenbereich ein Team mit Mitgliedern hinzufügen und ihm eine oder mehrere IAM-Rollen zuweisen. Wenn Sie einem Space ein Team mit Mitgliedern hinzufügen und eine IAM-Rolle zuweisen möchten, verwenden Sie den folgenden Befehl:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME :setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["group:GROUP_EMAIL "], "role": "roles/IAM_ROLE " } ] } }'
Wobei:
- ORG_NAME ist der Name der Apigee-Organisation.
- SPACE_NAME ist der Name des Gruppenbereichs.
- GROUP_EMAIL ist die E-Mail-Adresse einer Gruppe, die Sie dem Space hinzufügen.
- IAM_ROLE ist der Name der IAM-Rolle, die Sie dem Team als Mitglied eines Gruppenbereichs zuweisen.
Mit diesem Befehl wird beispielsweise die Gruppe acme-team@acme.com dem Space rot in der Organisation acme hinzugefügt und der Gruppe die Rolle apigee.apiAdminV2
zugewiesen:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["group:red-team@acme.com"], "role": "roles/apigee.apiAdminV2" } ] } }'
Wie im Hilfeartikel Einem Gruppenbereich ein Mitglied einer Organisation hinzufügen erwähnt, enthält die IAM-Rolle apigee.apiAdminV2
viele der Berechtigungen, die zum Verwalten von Gruppenbereichsressourcen erforderlich sind.
Möglicherweise müssen Sie Nutzern jedoch zusätzliche Rollen zuweisen, damit sie bestimmte Aufgaben ausführen können.
IAM-Richtlinienzuweisung für Spaces prüfen
Zum Ausführen dieser Aufgabe benötigen Sie die Berechtigung apigee.spaces.getIamPolicy
.
Diese Berechtigung ist in der Rolle Apigee Organization Admin
enthalten.
Mit dem folgenden Befehl können Sie prüfen, ob die IAM-Richtlinie für den Space richtig festgelegt ist:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME :getIamPolicy"
Wobei:
- ORG_NAME ist der Name der Apigee-Organisation.
- SPACE_NAME ist der Name des Gruppenbereichs.
Mit dem folgenden Befehl wird beispielsweise geprüft, ob die IAM-Richtlinie für den Space rot in der Organisation acme richtig festgelegt ist:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:getIamPolicy"
Die Ausgabe des Befehls gibt die aktuelle IAM-Richtlinie für den Space zurück und sollte in etwa so aussehen:
{ "version": "0", "bindings": [ { "role": "roles/apigee.apiAdminV2", "members": [ "group:red-team@acme.com" ] } ] }
In diesem Beispiel weist die IAM-Richtlinie für den Space Mitgliedern des Space die Rolle apigee.apiAdminV2
zu, in diesem Fall Mitgliedern der Gruppe red-team@acme.com.
Die Mitglieder des Teams rot sind die einzigen Mitglieder der Organisation, die Zugriff auf den Space rot haben. Das bedeutet, dass nur die Mitglieder des roten Teams API-Ressourcen im roten Space erstellen und verwalten können. Wenn Mitglieder eines anderen Organisationsteams, z. B. team-blue@acme.com, versuchen, auf einen API-Proxy zuzugreifen, der im roten Space erstellt wurde, wird die folgende Fehlermeldung angezeigt:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/proxy-1\" (or it may not exist).", "status": "PERMISSION_DENIED" } }
Mitglieder aus einem Space entfernen
Wenn Sie Mitglieder oder eine Gruppe von Mitgliedern aus einem Space entfernen möchten, müssen Sie eine neue IAM-Richtlinie für den Space mit einer überarbeiteten Liste der Mitglieder oder Gruppen festlegen. Mit der Methode setIamPolicy
wird eine neue IAM-Richtlinie für den Space erstellt, in der Rollen und Mitglieder entsprechend angepasst sind.
Wenn Sie beispielsweise die Mitglieder des blauen Space aktualisieren möchten, können Sie zuerst die aktuelle IAM-Richtlinie mit dem folgenden Befehl prüfen:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:getIamPolicy"
Die Ausgabe des Befehls gibt die aktuelle IAM-Richtlinie für den Space zurück und sollte in etwa so aussehen:
{ "version": "0", "bindings": [ { "role": "roles/apigee.apiAdminV2", "members": [ "group: blue-team@acme.com", "users: user-a@acme.com, user-b@acme.com, user-c@acme.com" ] } ] }
Verwenden Sie den folgenden Befehl, um user-b@acme.com aus dem Space zu entfernen:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": [ "group:blue-team@acme.com", "users: user-a@acme.com, user-c@acme.com" ] "role": "roles/apigee.apiAdminV2" } ] } }'
Die neue IAM-Richtlinie für den Space enthält user-b@acme.com nicht mehr.
Wenn Sie ein Mitglied aus einer Gruppe entfernen möchten, die in einem Space enthalten ist, entfernen Sie das Mitglied zunächst aus der Gruppe und führen Sie dann den Befehl setIamPolicy erneut aus, um die IAM-Richtlinie für den Space mit der korrekten Mitgliedschaft für den E-Mail-Alias der Gruppe zu aktualisieren.
Alle Spaces in einer Organisation auflisten
Für diese Aufgabe benötigen Sie die Berechtigung apigee.spaces.list
.
Diese Berechtigung ist in der Rolle Apigee Organization Admin
enthalten.
Verwenden Sie den folgenden Befehl, um alle Spaces in einer Apigee-Organisation aufzulisten:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces"
Wo ORG_NAME der Name der Apigee-Organisation ist.
Mit dem folgenden Befehl werden beispielsweise alle Spaces in der Organisation acme aufgelistet:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces"
Dieser Befehl gibt in etwa Folgendes zurück:
{ "spaces": [ { "name": "red", "createTime": "2024-08-02T23:26:03.001512Z", "updateTime": "2024-08-02T23:26:03.001512Z" }, { "name": "blue", "createTime": "2024-08-02T00:34:54.159331Z", "updateTime": "2024-08-02T00:34:54.159331Z" } ] }
Details zum Space abrufen
Für diese Aufgabe benötigen Sie die Berechtigung apigee.spaces.get
.
Diese Berechtigung ist in der Rolle Apigee Organization Admin
enthalten.
Verwenden Sie den folgenden Befehl, um Details zum Space abzurufen:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME "
Wobei:
- ORG_NAME ist der Name der Apigee-Organisation.
- SPACE_NAME ist der Name des Gruppenbereichs.
Mit dem folgenden Befehl werden beispielsweise Details zum roten Space in der Organisation acme abgerufen:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red"
Dieser Befehl gibt in etwa Folgendes zurück:
{ "name": "red", "createTime": "2024-08-02T23:26:03.001512Z", "updateTime": "2024-08-02T23:26:03.001512Z" }
Space aktualisieren
Für diese Aufgabe benötigen Sie die Berechtigung apigee.spaces.update
.
Diese Berechtigung ist in der Rolle Apigee Organization Admin
enthalten.
Verwenden Sie den folgenden Befehl, um einen Space in Ihrer Apigee-Organisation zu aktualisieren:
curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME " \ --data-raw '{ "displayName":"DISPLAY_NAME " }'
Wobei:
- ORG_NAME ist der Name der Apigee-Organisation.
- SPACE_NAME ist der Name des Gruppenbereichs.
- DISPLAY_NAME ist der neue Anzeigename für den Space.
Mit dem folgenden Befehl wird beispielsweise der Anzeigename des roten Space in der Organisation acme aktualisiert:
curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red" -d \ '{ "displayName": "Red team space" }'
Gruppenbereiche löschen
Für diese Aufgabe benötigen Sie die Berechtigung apigee.spaces.delete
.
Diese Berechtigung ist in der Rolle Apigee Organization Admin
enthalten. Stellen Sie vor dem Löschen eines Space sicher, dass alle Ressourcen im Space ebenfalls gelöscht wurden.
Verwenden Sie den folgenden Befehl, um einen Space in Ihrer Apigee-Organisation zu löschen:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME "
Mit dem folgenden Befehl wird beispielsweise der rote Space in der Organisation acme gelöscht:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red"
Wenn Sie versuchen, einen Space mit aktiven Ressourcen zu löschen, wird der folgende Fehler angezeigt:
{ "error": { "code": 400, "message": "Space \"red\" has resources associated with it. Please delete the resources before deleting the space.", "status": "FAILED_PRECONDITION" } }
Löschen oder verschieben Sie die Ressourcen im Space, bevor Sie versuchen, den Space zu löschen.
Nächste Schritte
- Weitere Informationen zu Apigee Space
- Weitere Informationen zum Verwalten von API-Ressourcen mit Apigee Spaces
- Lesen Sie die Dokumentation zur Identitäts- und Zugriffsverwaltung (Identity and Access Management – IAM).