Rollen mit der API erstellen

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

In diesem Thema wird erläutert, wie Sie benutzerdefinierte Rollen erstellen und Nutzern über die Management API Außerdem zeigen wir Ihnen, wie Rollenzuweisungen über die API getestet werden. (Um einen Überblick über erhalten Sie unter Benutzerdefinierte Rollen erstellen UI.)

Berechtigungseinstellung

Rollenberechtigungen werden für Verwaltungs-API-URIs festgelegt, nicht für Verwaltungs-UI-URIs. Wenn Sie beispielsweise Sie die PUT-, GET- und/oder DELETE-Berechtigungen für die App-Entwicklerentitäten in Ihrem Edge festlegen möchten. Organisation, würden Sie Berechtigungen für die Ressource /developers festlegen, da die Verwaltungs-API-Pfad für Entwickler ist https://api.enterprise.apigee.com/v1/organizations/{org_name}/developers. Sie müssen beim Definieren von Berechtigungen den Organisationsteil nicht in den Pfad aufnehmen, da Berechtigungen sind auf eine bestimmte Organisation beschränkt, da die Verwaltungs-API-Aufrufe in diesem Thema illustrate.)

Sie können auch Berechtigungen für bestimmte Entitäten festlegen. Beispiel:

  • Wenn Sie Berechtigungen für einen einzelnen Entwickler festlegen möchten, aktivieren Sie /developers/steve@example.com
  • Legen Sie sie für ein bestimmtes API-Produkt, z. B. "free-api-product", fest. am /apiproducts/free-api-product
  • Für eine Schlüssel/Wert-Paar-Zuordnung in einer bestimmten Umgebung würden Sie eine Berechtigung wie etwa /environments/test/keyvaluemaps/fooMap oder /environments/test/keyvaluemaps/* für alle Schlüssel/Wert-Zuordnungen im Test zu verbessern.

Die Berechtigungen, die Sie über die API festlegen:

  • Nutzern mit einer benutzerdefinierten Rolle erlauben, die Verwaltungs-API zu erstellen Anrufen entsprechend ihren Berechtigungen. Wenn z. B. eine Rolle nur Lesezugriff gewährt, für alle API-Proxys kann ein Nutzer mit dieser Rolle die List API Proxies API verwenden, aber nicht die Erstellen Sie eine API-Proxy-API.
  • Legen Sie fest, was Nutzer in einer benutzerdefinierten Rolle auf der Verwaltungsoberfläche sehen und tun können. Beispiel: Der schreibgeschützte Zugriff auf API-Proxys deaktiviert den Zugriff auf die Schaltflächen "+ API-Proxy" und "Löschen" in der API. Seite „Proxys“.

Die Ressourcen und Pfade, für die Sie Berechtigungen festlegen können, finden Sie in der Referenz zur Verwaltungs-API unter den verschiedenen Ressourcen-URLs.

Vollständige Referenzinformationen finden Sie in der API für Nutzerrollen. Rollenmanagement.

Syntax und Rangfolge

Sie können das Sternchenplatzhalter (*) verwenden, um „alles danach“ anzugeben. in einer Berechtigungseinstellung. Wenn Sie jedoch Berechtigungen nur für eine übergeordnete Ressource (z. B. auf /developers) festlegen, ohne weitere spezifische Berechtigungen festlegen (z. B. /developers/*), gilt die Berechtigung für alles von /developers und danach.

PUT dient in Berechtigungen auch als POST.

Sie können allgemeine Berechtigungen mit detaillierteren Ressourcenberechtigungen mischen. Je detaillierter Sie die Einstellungen festlegen, Vorrang bei sich überschneidenden Berechtigungen. Nehmen wir beispielsweise Folgendes an: Berechtigungen für „Entwickler-Admin“ festgelegt. Rolle:

  • PUT auf /developers
  • JETZT AUF /developers/* HERUNTERLADEN

Dies bedeutet, dass der Entwickleradministrator Folgendes tun kann:

  • Erstellen Sie einen Entwickler, aber aktualisieren Sie keine bestimmten Entwickler oder Unterentitäten (aufgrund die spezifischere GET-Berechtigung für diesen Pfad.
  • Sie können einen beliebigen Entwickler oder eine Unterentität abrufen, aber keine Liste aller Entwickler.

Eine vollständige Liste der Berechtigungen, die Sie mit der API festlegen können, finden Sie unter Berechtigungsreferenz.

Eine neue benutzerdefinierte Rolle namens „Entwicklung“ erstellen

Entwicklung erstellen Rolle, damit Entwickler API-Proxys aufrufen, erstellen und aktualisieren können.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "development" } ] }'

Der Entwicklerrolle Berechtigungen hinzufügen

Die Berechtigungen, die für eine ganze Gruppe von Edge-Artefakten (z. B. alle /apps, /apis, /apiproducts usw.) sowie für einzelne Artefakte (z. B. eine bestimmte Anwendung, API usw.) Proxy oder API-Produkt) sind GET, PUT und DELETE.

Mit GET können Nutzer alle APIs anzeigen, einschließlich API-Proxy-Konfigurationsdateien, Richtlinien, JavaScript, XSLT-Dateien usw. Mit der PUT-Berechtigung für APIs können Entwickler API-Proxys erstellen, ändern, importieren, exportieren, bereitstellen und die Bereitstellung aufheben

Das Pfadattribut gibt das Artefakt an, für das Sie die Berechtigungen festlegen. Beispiel: /applications, /apps, /apiproducts, /developers oder /reports

curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/development/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "put", "get" ]}'

Rolle erstellen: Testing

„Test“ erstellen Rolle, um Qualitätsentwicklern die Anzeige von API-Proxys und ihren Inhalten zu ermöglichen z. B. Richtlinien.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "testing" } ] }'

Berechtigungen zur Testrolle hinzufügen

Mit GET können Nutzer alle APIs, einschließlich ihrer Konfigurationsdateien, sowie zugehörigen Richtlinien, JavaScript, XSLT-Dateien usw. Durch das Hinzufügen dieser Berechtigung zum „testing“ Qualitätsingenieuren die Möglichkeit, den Inhalt der APIs, Tests durchführen. Nutzer mit dieser Rolle können jedoch keine Elemente erstellen, ändern, importieren, exportieren, bereitstellen und die Bereitstellung von API-Proxys aufheben.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/testing/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "get" ]}'

Für eine lokale Installation von Edge müssen mindestens die folgenden Berechtigungen festgelegt werden: dem Benutzer zu erlauben, sich bei der Edge-Benutzeroberfläche anzumelden, sind:

{"path" : "/","permissions" : [ "get" ]}
{"path" : "/*","permissions" : [ ]}
{"path" : "/environments","permissions" : [ "get" ]}
{"path" : "/userroles","permissions" : [ "get" ]}

Verwenden Sie den folgenden cURL-Befehl, um diese Berechtigungen festzulegen:

curl -H "Content-Type:application/json" -u email:password \
-X POST \
http://<ms-IP>:8080/v1/organizations/{org_name}/userroles/testing/resourcepermissions  \
-d '{
 "resourcePermission" : [ 
   {
    "path" : "/",
    "permissions" : [ "get" ]
   }, 
{
    "path" : "/*",
    "permissions" : []
   },
{
    "path" : "/environments",
    "permissions" : [ "get" ]
   },
   {
    "path" : "/userroles",
    "permissions" : [ "get"]
   }
  ]
}'

wobei &lt;ms-IP&gt; ist die IP-Adresse oder der DNS-Name des Edge-Verwaltungsservers.

Nutzer zur Testrolle hinzufügen

So stellen Sie einem Nutzer eine Nutzerrolle bereit:

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "testing"} ] }'

APIs als Nutzer ansehen

Nutzer imitieren und eine Anfrage an die API senden Dienste zum Anzeigen von API-Proxys. Der Nutzer sollte APIs und deren Inhalte sehen können.
$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis
$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/policies

API als Nutzer in der Testrolle erstellen

Imitieren Sie den Nutzer und stellen Sie eine Anfrage an API-Dienste, um einen API-Proxy zu erstellen. Die Anfrage wird von API-Diensten abgelehnt, da die Rolle "testing" nicht erlaubt, dass der Nutzer ein APIs

$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'

Nutzer zur Entwicklerrolle hinzufügen

Stellen Sie nun den Nutzer mit der Entwicklungsumgebung bereit. Rolle.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "development"} ] }'

API als Nutzer in Entwicklerrolle erstellen

Imitieren Sie den Nutzer und wiederholen Sie die Anfrage an die API-Plattform, um einen API-Proxy zu erstellen. Die Anfrage erfolgreich sein, da die Rolle „Entwicklung“ ermöglicht es dem Nutzer, APIs zu erstellen.

$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'

Nutzerrollen für einen Nutzer abrufen

Als Organisationsadministrator können Sie die Liste der Nutzerrollen für einen Nutzer in allen Unternehmen) jederzeit verwenden:

$ curl -u email:password -X GET https://api.enterprise.apigee.com/v1/users/justauser@apigee.com/userroles