Tworzenie ról przy użyciu interfejsu API

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja 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 określonych elementów. Na przykład:

  • Jeśli chcesz ustawić uprawnienia jednego dewelopera, włącz je /developers/steve@example.com
  • Ustaw ją dla konkretnej usługi API, takiej jak free-api-product. /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 o interfejsie API znajdziesz w sekcji User roles API. 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. Bardziej szczegółowe ustawienia mają pierwszeństwo w sytuacjach, gdy uprawnienia się nakładają. Załóżmy na przykład, że: uprawnienia są ustawione dla roli „developeradmin” rola:

  • 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).
  • Możesz wyszukać dowolnego dewelopera lub element podrzędny, ale nie wyświetlać listy wszystkich deweloperów.

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 wersję deweloperską umożliwia programistom wyświetlanie, tworzenie i aktualizowanie serwerów proxy interfejsów 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" } ] }'

Przyznaj uprawnienia do roli programisty

Uprawnienia, które można ustawić dla całej grupy artefaktów Edge (takich jak wszystkie /apps, /apis, /apiproducts itd.) oraz poszczególnych artefaktów (takich jak konkretna aplikacja, interfejs API proxy lub produkt 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. Uprawnienia PUT w interfejsach API pozwalają programistom tworzyć, modyfikować, importować, eksportować, wdrażać i wycofywać serwery proxy interfejsów 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" } ] }'

Dodaj uprawnienia do roli testera

GET umożliwia użytkownikom wyświetlanie dowolnych interfejsów API, w tym plików konfiguracji, a także powiązane zasady, pliki JavaScript, CSS itd. Dodając to uprawnienie do sekcji „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 lokalnej instalacji Edge minimalny zestaw uprawnień, który należy ustawić na użytkownicy mogą logować się w interfejsie Edge:

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

Aby ustawić te uprawnienia, użyj następującego 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 &lt;ms-IP&gt; to adres IP lub nazwa DNS serwera zarządzania brzegiem.

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świetl interfejsy API jako użytkownik

Wciel się w rolę użytkownika i wyślij żądanie do interfejsu API Usługi do wyświetlania serwerów proxy 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

Wciel się w rolę użytkownika i wyślij żądanie do usług interfejsu API, aby utworzyć serwer proxy interfejsu API. Żądanie zostanie odrzucona przez usługi API, ponieważ rola „testing” nie zezwala użytkownikowi na tworzenie 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"}'

Dodaj użytkownika do roli programisty

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

Odgrywaj rolę użytkownika i powtórz żądanie do platformy API, aby utworzyć serwer proxy interfejsu API. żądanie zostanie zrealizowane, ponieważ rola „programowanie” umożliwia 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 zobaczyć 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