Diese Seite gilt für Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
Auf dieser Seite wird beschrieben, wie Sie Apigee Spaces in Ihrer Apigee-Organisation erstellen, um IAM-Richtlinien (Identity and Access Management) für Apigee-API-Ressourcen im großen Maßstab zu verwalten.
In dieser Anleitung werden die folgenden Schritte beschrieben:
- Gruppenbereich erstellen
- Mitglieder und Rollen in einem Space verwalten
- Alle Spaces in einer Organisation auflisten
- Details zum Space abrufen
- Space aktualisieren
- Gruppenbereiche löschen
Weitere Informationen zu den Vorteilen der Verwendung von Apigee Spaces zum Verwalten Ihrer API-Ressourcen finden Sie unter Apigee Spaces.
Hinweise
Bevor Sie mit Spaces beginnen:
- Apigee bereitstellen. Prüfen Sie, ob die Apigee-Organisation mit Abo oder „Pay as you go“-Preisen , die Sie verwenden möchten, bereitgestellt wurde. Weitere Informationen zu den Schritten, die zum Bereitstellen von Apigee erforderlich sind, finden Sie unter Einführung in die Bereitstellung.
- Authentifizierungsdaten abrufen. Bevor Sie Befehle zum Erstellen und Verwalten von Spaces
in der Befehlszeile ausführen, rufen Sie Ihre
gcloudAuthentifizierungsdaten mit dem folgenden Befehl ab:export TOKEN=$(gcloud auth print-access-token)
Erforderliche Rollen und Berechtigungen
Prüfen Sie, ob Sie die folgenden Rollen für das Projekt haben: Apigee > Apigee-Organisationsadministrator
Rollen prüfen
-
Rufen Sie in der Google Cloud Console die Seite IAM auf.
IAM aufrufen - Wählen Sie das Projekt aus.
-
Suchen Sie in der Spalte Hauptkonto nach allen Zeilen, in denen Sie oder eine Gruppe, zu der Sie gehören, angegeben sind. Wenden Sie sich an Ihren Administrator, um zu erfahren, in welchen Gruppen Sie enthalten sind.
- Prüfen Sie in allen Zeilen, in denen Sie angegeben oder enthalten sind, die Rolle Spalte , um zu sehen, ob die Liste der Rollen die erforderlichen Rollen enthält.
Rollen zuweisen
-
Rufen Sie in der Google Cloud Console die Seite IAM auf.
IAM aufrufen - Wählen Sie das Projekt aus.
- Klicken Sie auf „“ Zugriffsrechte erteilen.
-
Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Das ist in der Regel die E‑Mail-Adresse eines Google-Kontos.
- Klicken Sie auf Rolle auswählen und suchen Sie dann nach der Rolle.
- Klicken Sie auf Add another role, wenn Sie weitere Rollen zuweisen möchten.
- Klicken Sie auf Speichern.
Gruppenbereich erstellen
Für diese 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",
"displayName":"DISPLAY_NAME",
}'Wobei:
- ORG_NAME ist der Name Ihrer Apigee-Organisation.
- SPACE_NAME ist der Name und die ID des Space.
- DISPLAY_NAME ist der Name des Space, so wie er in der Apigee-UI in der Cloud Console angezeigt werden soll. Wenn kein Anzeigename angegeben ist, wird der Name des Space als Anzeigename verwendet.
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",
"displayName":"Red",
}'Nachdem Sie einen Space in Ihrer Organisation erstellt haben, sehen Organisationsmitglieder, die die Apigee-UI in der Cloud Console verwenden, den Space als verfügbaren Parameter, wenn sie API-Ressourcen in der UI erstellen. Wenn Sie außerdem Listen von API-Proxys, API-Produkten und freigegebenen Abläufen in der UI aufrufen, wird der Space als Attribut für API-Ressourcen angezeigt, die diesem Space zugewiesen sind.
Gruppenbereiche.Mitglieder und Rollen in einem Space verwalten
Nachdem Sie einen Space erstellt haben, können Sie Teammitglieder hinzufügen und die IAM-Rollen zuweisen, die zum Erstellen und Verwalten von API-Ressourcen im Space erforderlich sind. Apigee-Nutzer können Ressourcen nur in Spaces erstellen und verwalten, in denen sie Teammitglieder sind und die entsprechenden Berechtigungen haben. Da die IAM-Zugriffssteuerung auf Space-Ebene gewährt wird, können Organisationsmitglieder nicht auf Apigee-API-Ressourcen zugreifen oder diese verwalten, die zum Space gehören, es sei denn, sie werden dem Space ausdrücklich hinzugefügt. Eine Übersicht über die IAM-Rollen und ‑Berechtigungen, die zum Verwalten von Space-Ressourcen erforderlich sind, finden Sie unter Space-Ressourcen erstellen und verwalten.
Organisationsmitglied einem Space hinzufügen
Wenn ein Organisationsmitglied einem Space hinzugefügt wird, wird eine IAM-Richtlinienbindung für den Space erstellt, die zwei Argumente verwendet:
- Die Liste der Space-Mitglieder
- Die Rolle oder Liste der Rollen, die den Mitgliedern gewährt wurden
Für diese Aufgabe benötigen Sie die Berechtigung apigee.spaces.setIamPolicy.
Diese Berechtigung ist in der Rolle Apigee Organization Admin enthalten.
Verwenden Sie den folgenden Befehl, um ein Organisationsmitglied einem Space hinzuzufügen und eine IAM-Rolle zuzuweisen:
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 Space-Mitglied zuweisen.
Mit diesem Befehl wird beispielsweise der Nutzer my-email@acme.com dem Space rot in der Organisation acme hinzugefügt und die
IAM-Rolle apigee.spaceContentEditor 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.spaceContentEditor" } ] } }'
Zusätzliche Rollen und Berechtigungen können für Space-Mitglieder hinzugefügt werden, indem Sie die IAM-Richtlinie für den Space aktualisieren. Verwenden Sie die in diesem Abschnitt beschriebene Methode setIamPolicy, um die IAM-Richtlinie für einen Space zu aktualisieren. Verwenden Sie dabei die
überarbeitete Liste der gewünschten Rollen und Berechtigungen. Dadurch wird eine neue IAM-Richtlinie für den Space erstellt, in der Rollen und Berechtigungen entsprechend angepasst sind.
Team aus Mitgliedern einem Space hinzufügen
Alternativ können Sie einem Space ein Team aus Mitgliedern hinzufügen und eine oder mehrere IAM-Rollen zuweisen. Verwenden Sie den folgenden Befehl, um einem Space ein Team aus Mitgliedern hinzuzufügen und eine IAM-Rolle zuzuweisen:
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 Space-Mitglied 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.spaceContentEditor 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.spaceContentEditor" } ] } }'
Wie unter Organisationsmitglied einem Space hinzufügen erwähnt, enthält die
IAM-Rolle apigee.spaceContentEditor viele der Berechtigungen, die zum Verwalten von Space-Ressourcen erforderlich sind.
Möglicherweise müssen Sie Nutzern jedoch zusätzliche Rollen zuweisen, um bestimmte Aufgaben auszuführen.
IAM-Richtlinienzuweisung für Spaces prüfen
Für diese 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.spaceContentEditor", "members": [ "group:red-team@acme.com" ] } ] }
In diesem Beispiel weist die IAM-Richtlinie für den Space Mitgliedern des Space die Rolle apigee.spaceContentEditor 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 setIamPolicy Methode wird eine neue IAM-Richtlinie für den Space erstellt,
in der Rollen und Mitglieder entsprechend angepasst sind.
Wenn Sie beispielsweise die Mitglieder des Space blau 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.spaceContentEditor", "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.spaceContentEditor" } ] } }'
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 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 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 und die ID des Space.
- 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. Bevor Sie einen Space löschen, müssen alle Ressourcen im Space gelöscht werden.
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
- Dokumentation zu Identity and Access Management (IAM) lesen.