API ile rol oluşturma

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Bu konuda, özel rollerin nasıl oluşturulacağı ve yönetim API'si. Ayrıca, rol atamalarının API üzerinden nasıl test edileceğini de gösteririz. (Genel hatlarıyla daha fazla bilgi edinmek için kullanıcı arayüzü.)

İzin ayarı hakkında

Rol izinleri, yönetim API URI'lerinde (yönetim kullanıcı arayüzü URI'lerinde değil) ayarlanır. Örneğin, Edge kuruluşunuzdaki uygulama geliştirici varlıkları için PUT, GET ve/veya DELETE izinlerini ayarlamak istiyorsanız geliştiriciler için yönetim API yolu https://api.enterprise.apigee.com/v1/organizations/{org_name}/developers olduğundan /developers kaynağında izinleri ayarlarsınız. (İzinleri tanımlarken yolun kuruluş kısmını dahil etmeniz gerekmez. Bunun nedeni, yönetim API'si bu konuda çağrı yaptığından izinler, belirli bir kuruluşa dahil edilir illustrate.)

Belirli varlıklar için de izinler ayarlayabilirsiniz. Örneğin:

  • Tek bir geliştirici için izin ayarlamak istiyorsanız bunları /developers/steve@example.com
  • free-api-product gibi belirli bir API ürünü için bunları ayarlayın /apiproducts/free-api-product cihazında
  • Belirli bir ortamdaki anahtar/değer eşlemesi için /environments/test/keyvaluemaps/fooMap veya Testteki tüm anahtar/değer eşlemeleri için /environments/test/keyvaluemaps/* bahsedeceğim.
ziyaret edin.

API'yi kullanarak ayarladığınız izinler:

  • Özel bir roldeki kullanıcıların management API'sini yapmasına izin ver çağrıları izinlerine göre belirlenir. Örneğin, bir rol tüm API proxy'lerine salt okunur erişim izni veriyorsa bu roldeki bir kullanıcı API Proxy'lerini Listeleme API'sini kullanabilir ancak API Proxy Oluşturma API'sini kullanamaz.
  • Özel bir roldeki kullanıcıların yönetim kullanıcı arayüzünde neler görebileceğini ve yapabileceğini belirleyin. Örneğin, API proxy'lerine salt okuma erişimi, API Proxy'leri sayfasındaki +API Proxy ve Sil düğmelerine erişimi devre dışı bırakır.

İzinleri ayarlayabileceğiniz kaynakları ve yolları görmek için farklı kaynak URL'lerindeki management API referansına bakın.

Aşağıdaki tüm referans bilgileri için Kullanıcı rolleri API'sini inceleyin: rol yönetimidir.

Söz dizimi ve öncelik

Bir izin ayarındaki "bundan sonraki her şey"i belirtmek için yıldız joker karakterini (*) kullanabilirsiniz. Ancak, izinleri olmayan bir şekilde yalnızca bir üst kaynakta (ör. /developers) ayarlarsanız özel izinler (örneğin, /developers/*) ayarladığınızda izin, her şeyi inceleyeceğiz.

PUT, izinlerde POST işlevi de görür.

Kaynaklarda genel izinleri daha ayrıntılı izinlerle birlikte kullanabilirsiniz. İzinlerin çakıştığı durumlarda daha ayrıntılı ayarlar önceliklidir. Örneğin, "developeradmin" rolünde aşağıdaki izinlerin ayarlandığını varsayalım:

  • /developers üzerine PUT
  • /developers/* adresinden İNDİRİN

Bu, geliştirici yöneticisinin şunları yapabileceği anlamına gelir:

  • Geliştirici oluşturun ancak belirli geliştiricileri veya alt öğeleri güncellemeyin (bu yoldaki daha spesifik GET izni nedeniyle).
  • Herhangi bir geliştirici veya alt öğeyi alabilirsiniz ancak tüm geliştiricilerin listesini alamazsınız.

API ile ayarlayabileceğiniz izinlerin tam listesi için İzinler referansı bölümüne bakın.

"Geliştirme" adlı yeni bir özel rol oluşturun

Geliştiricilerin API proxy'lerini görüntülemesine, oluşturmasına ve güncellemesine olanak tanımak için bir "geliştirme" rolü oluşturun.

$ 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" } ] }'

Geliştirme rolüne izin ekleme

Bir Edge yapıları grubunun tamamında (tüm /apps, /apis, /apiproducts vb.) ve bağımsız yapılar (ör. belirli bir uygulama, API) proxy veya API ürünü) GET, PUT ve DELETE şeklindedir.

GET, kullanıcıların API proxy yapılandırma dosyaları, ilişkili politikalar, JavaScript, XSLT dosyaları vb. tüm API'leri görüntülemesine olanak tanır. API'lerdeki PUT izni, geliştiricilerin şunları yapmasını sağlar: API proxy'lerini oluşturma, değiştirme, içe aktarma, dışa aktarma, dağıtma ve kaldırma

path özelliği, izinleri ayarladığınız yapıyı belirtir. Örneğin, /applications, /apps, /apiproducts, /developers veya /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" ]}'

Rol oluşturma: test

Kalite mühendislerinin API proxy'lerini ve içeriklerini (ör. politikalar dahil) görüntülemesine olanak tanımak için bir "test" rolü oluşturun.

$ 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" } ] }'

Test rolüne izin ekleme

GET, kullanıcıların yapılandırma dosyaları da dahil olmak üzere tüm API'leri, ilişkili politikaları, JavaScript'i, XSLT dosyalarını vb. görüntülemelerine olanak tanır. Bu izni "test" rolüne ekleyerek kalite mühendislerinin test ettikleri API'lerin içeriklerini görüntülemelerine olanak tanırız. Ancak bu roldeki kullanıcılar oluşturma, değiştirme, içe aktarma, dışa aktarma ve dağıtma işlemlerini yapamaz API proxy'lerinin dağıtımını kaldırabilirsiniz.

$ 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" ]}'

Edge'in şirket içi kurulumunda, kullanıcının Edge kullanıcı arayüzüne giriş yapmasına izin vermek için ayarlanması gereken minimum izin grubu şunlardır:

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

Bu izinleri ayarlamak için aşağıdaki cURL komutunu kullanın:

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"]
   }
  ]
}'

burada &lt;ms-IP&gt; Uç Yönetim Sunucusu'nun IP adresi veya DNS adıdır.

Kullanıcıyı test rolüne ekleme

Bir kullanıcıya kullanıcı rolü sağlamak için:

$ 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"} ] }'

API'leri kullanıcı olarak görüntüleme

Kullanıcının kimliğine bürünüp API proxy'lerini görüntülemek için API Hizmetleri'ne istek gönderin. Kullanıcı, API'leri ve içeriklerini görüntüleyebilmelidir.
$ 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

Test rolünde kullanıcı olarak API oluşturma

Kullanıcının kimliğine bürünün ve API proxy'si oluşturmak için API Hizmetleri'nden istekte bulunun. İstek rolü "testing" olduğu için API Hizmetleri tarafından reddedilecektir. kullanıcının içerik oluşturmasına izin vermez. API'ler.

$ 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"}'

Kullanıcıyı geliştirme rolüne ekleyin

Şimdi kullanıcıya "geliştirme"yi sağlayın çok önemlidir.

$ 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"} ] }'

Geliştirme rolündeki kullanıcı olarak API oluşturma

Kullanıcının kimliğine bürünün ve API proxy'si oluşturmak için API Platformu'na yapılan isteği tekrarlayın. "Geliştirme" rolü kullanıcının API oluşturmasına izin verdiğinden istek başarılı olur.

$ 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"}'

Bir kullanıcı için kullanıcı rolleri alma

Kuruluş yöneticisi olarak, bir kullanıcıya ilişkin kullanıcı rolleri listesini (tüm kuruluşlar) ekleyebilirsiniz:

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