Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. informacje
Z tego artykułu dowiesz się, jak tworzyć role niestandardowe i przypisywać role użytkownikom za pomocą do zarządzania interfejsami API. Pokażemy też, jak testować przypisania ról za pomocą interfejsu API. (Przegląd role niestandardowe znajdziesz w sekcji Tworzenie ról niestandardowych w ).
Informacje o ustawianiu uprawnień
Uprawnienia ról są ustawiane dla identyfikatorów URI interfejsów API zarządzania (a nie identyfikatorów URI UI zarządzania). Jeśli na przykład
chcesz ustawić uprawnienia PUT, GET lub DELETE w encji dewelopera aplikacji w Edge
organizacji, ustaw uprawnienia do zasobu /developers
, ponieważ
ścieżka interfejsu API zarządzania dla programistów to
https://api.enterprise.apigee.com/v1/organizations/{org_name}/developers
(Podczas definiowania uprawnień nie musisz uwzględniać organizacji w ścieżce, ponieważ
uprawnienia są ograniczone do określonej organizacji, tak jak wywołania interfejsu zarządzania API w tym temacie
illustrate.)
Możesz też ustawić uprawnienia dla konkretnych elementów. Na przykład:
- Jeśli chcesz ustawić uprawnienia jednego dewelopera, włącz je
/developers/steve@example.com
- W przypadku konkretnego interfejsu API, np. free-api-product, ustaw je na
/apiproducts/free-api-product
- W przypadku mapowania par klucz-wartość w konkretnym środowisku należy ustawić uprawnienia dla:
/environments/test/keyvaluemaps/fooMap
lub/environments/test/keyvaluemaps/*
dla wszystkich map klucz-wartość w teście dla środowiska.
Uprawnienia ustawione za pomocą interfejsu API:
- Zezwalaj użytkownikom z rolą niestandardową na tworzenie interfejsu API do zarządzania zgodnie z ich uprawnieniami. Jeśli na przykład rola zezwala na dostęp tylko do odczytu do wszystkich serwerów proxy interfejsów API, użytkownik o takiej roli może używać interfejsu API List API Proxies, ale nie Utwórz API Proxy API.
- Określ, co użytkownicy z rolą niestandardową mogą zobaczyć i zrobić w interfejsie zarządzania. Przykład: dostęp tylko do odczytu do serwerów proxy API wyłącza dostęp do przycisków +API Proxy i Delete API Strona proxy.
Aby dowiedzieć się, jakie zasoby i ścieżki, dla których możesz ustawić uprawnienia, zapoznaj się z dokumentacją interfejsu API do zarządzania zawierającą adresy URL różnych zasobów.
Pełne informacje znajdziesz w interfejsie API User roles. zarządzania rolami.
Składnia i pierwszeństwo
Możesz użyć symbolu wieloznacznego (*), aby wskazać „wszystko po”. w określonych uprawnieniach. Jeśli jednak ustawisz uprawnienia tylko do zasobu nadrzędnego (np. na /developers), bez bardziej szczegółowe uprawnienia (np. /developers/*) będą obowiązywać w przypadku: od /developers i później.
Funkcja PUT służy też jako POST w uprawnieniach.
Możesz łączyć ogólne z bardziej szczegółowymi uprawnieniami dotyczącymi zasobów. W przypadku nakładających się uprawnień pierwszeństwo mają ustawienia bardziej szczegółowe. Załóżmy na przykład, że w przypadku roli „developeradmin” są ustawione te uprawnienia:
- PUT on /developers,
- POBIERZ Z /developers/*
Oznacza to, że administrator programisty może:
- tworzyć dewelopera, ale nie aktualizować żadnych konkretnych programistów ani podelementów (z powodu bardziej szczegółowe jest uprawnienie GET dla tej ścieżki).
- Pobieranie informacji o dowolnym deweloperze lub podjednostce, ale nie o wszystkich deweloperach.
Pełną listę uprawnień, które można ustawić za pomocą interfejsu API, znajdziesz w dokumentacji uprawnień.
Utwórz nową rolę niestandardową o nazwie „Programowanie”
Utwórz rolę „rozwijania”, aby umożliwić deweloperom wyświetlanie, tworzenie i aktualizowanie za pomocą interfejsu API.
$ 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" } ] }'
Dodawanie uprawnień do roli programisty
Uprawnienia, które można ustawić dla całej grupy artefaktów Edge (takich jak wszystkie /apps, /apis, /apiproducts itp.), a także dla poszczególnych artefaktów (takich jak konkretna aplikacja, interfejs API proxy lub produkt interfejsu API) to GET, PUT i DELETE.
GET umożliwia użytkownikom wyświetlanie dowolnych interfejsów API, w tym plików konfiguracji serwera proxy API, powiązanych zasady, pliki JavaScript, CSS itd. Uprawnienie PUT w interfejsach API umożliwia programistom tworzenie, modyfikowanie, importowanie, eksportowanie, wdrażanie i odwoływanie proxy interfejsu API.
Atrybut ścieżki określa artefakt, dla którego ustawiasz uprawnienia. Przykład: /applications, /apps, /apiproducts, /developers lub /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" ]}'
Tworzenie roli: testowanie
Utwórz „test” rola, która umożliwia inżynierom ds. jakości wyświetlanie serwerów proxy interfejsów API i ich zawartości (w tym na przykład zasady).
$ 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" } ] }'
Dodawanie uprawnień do roli testowania
GET umożliwia użytkownikom wyświetlanie interfejsów API, w tym ich plików konfiguracyjnych, a także wszelkich powiązanych zasad, plików JavaScript, XSLT itp. Dodając to uprawnienie do „testowanie” umożliwiamy inżynierom ds. jakości przeglądanie zawartości interfejsów API i testowania. Użytkownicy z tą rolą nie będą jednak mogli tworzyć, modyfikować, importować, eksportować, wdrażać i wycofać wdrożenia serwerów proxy API.
$ 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" ]}'
W przypadku instalacji lokalnej przeglądarki Edge minimalny zestaw uprawnień, który musi zostać ustawiony, aby użytkownik mógł zalogować się w interfejsie Edge, to:
{"path" : "/","permissions" : [ "get" ]} {"path" : "/*","permissions" : [ ]} {"path" : "/environments","permissions" : [ "get" ]} {"path" : "/userroles","permissions" : [ "get" ]}
Aby ustawić te uprawnienia, użyj tego polecenia cURL:
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"] } ] }'
gdzie <ms-IP> to adres IP lub nazwa DNS serwera Edge Management Server.
Dodaj użytkownika do roli testera
Aby udostępnić użytkownikowi rolę użytkownika:
$ 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"} ] }'
Wyświetlanie interfejsów API przez użytkownika
Użyj danych logowania użytkownika i wyślij żądanie do interfejsu API Services, aby wyświetlić proksy interfejsu API. Użytkownik powinien mieć możliwość wyświetlenia interfejsów API i ich zawartości.$ 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
Utwórz interfejs API jako użytkownik w roli testera
Odgrywaj rolę użytkownika i wyślij żądanie do usług interfejsu API, aby utworzyć serwer proxy interfejsu API. Usługa interfejsu API odrzuci to żądanie, ponieważ rola „testowanie” nie zezwala użytkownikowi na tworzenie interfejsów API.
$ 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"}'
Dodawanie użytkownika do roli związanej z rozwojem
Teraz udostępnij użytkownikowi wersję deweloperską rolę użytkownika.
$ 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"} ] }'
Utwórz interfejs API jako użytkownik w roli programisty
Udając użytkownika, powtórz żądanie do Platformy API, aby utworzyć serwer proxy interfejsu API. Prośba zakończy się powodzeniem, ponieważ rola „development” zezwala użytkownikowi na tworzenie interfejsów API.
$ 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"}'
Pobieranie ról użytkownika
Jako administrator organizacji możesz przeglądać listę ról użytkownika (w obu organizacji) w dowolnym momencie:
$ curl -u email:password -X GET https://api.enterprise.apigee.com/v1/users/justauser@apigee.com/userroles