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 aracılığıyla nasıl test edileceğini de gösteriyoruz. (Genel hatlarıyla daha fazla bilgi edinmek için kullanıcı arayüzü.)
İzin ayarı hakkında
Rol izinleri Management API URI'lerinde belirlenir (yönetim kullanıcı arayüzü URI'lerinde değil). Örneğin,
Edge'inizdeki uygulama geliştirici varlıklarında PUT, GET ve/veya DELETE izinlerini ayarlamak istiyorsanız
/developers
kaynağında izinleri ayarlamanız gerekir çünkü
geliştiriciler için management API yolu
https://api.enterprise.apigee.com/v1/organizations/{org_name}/developers
.
(İ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ştiricide izinleri ayarlamak isterseniz bunları şurada ayarlayın:
/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.
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 salt okuma erişimine izin veriyorsa tüm API proxy'lerine eklerseniz bu roldeki bir kullanıcı List API Proxies API'yi kullanabilir ancak API Proxy'si oluşturun API.
- Ö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'deki +API Proxy'si ve Sil düğmelerine erişimi devre dışı bırakır Proxy'ler sayfası.
İ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
"Sonraki her şey"i belirtmek için yıldız işaretinin joker karakterini (*) kullanabilirsiniz seçeneğini belirleyin. 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. Daha ayrıntılı ayarlar izinlerin çakışması durumunda öncelikli olur. Örneğin, aşağıdaki gibi bir örnekle izinleri bir "developeradmin"de ayarlanırsa rol:
- /developers üzerine PUT
- /developers/* adresinden İNDİRİN
Bu, geliştirici yöneticisinin şunları yapabileceği anlamına gelir:
- Bir geliştirici oluşturun ancak ( söz konusu yolda daha spesifik GET izni).
- Herhangi bir geliştirici veya alt öğe 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
Bir "geliştirme" oluşturun rolünün yanı sıra geliştiricilerin API proxy'lerini görüntülemesini, oluşturmasını ve güncellemesini sağlamalısınız.
$ 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ı da dahil olmak üzere ilişkili tüm API'leri görüntüleyebilmelerini sağlar. politikalar, JavaScript, XSLT dosyaları, vb. 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
Yol ö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
Bir "test" oluşturun kalite mühendislerinin API proxy'lerini ve içeriklerini görüntülemelerini sağlama (örneğin politikalar dahil).
$ 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 ekle
GET, kullanıcıların yapılandırma dosyaları ve istedikleri API'lerin yanı sıra ilişkilendirilmiş politikalar, JavaScript, XSLT dosyaları vb. Bu izni "testing" (test etme) altında, kalite mühendislerinin kullandıkları API'lerin içeriğini görüntüleyebilmelerini teşvik etmek anlamına gelir. 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 yüklemesi için Kullanıcının Edge kullanıcı arayüzüne giriş yapmasına izin ver:
{"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 <ms-IP> Uç Yönetim Sunucusu'nun IP adresi veya DNS adıdır.
Kullanıcıyı test rolüne ekleme
Bir kullanıcının temel hazırlığını kullanıcı rolüyle yapmak 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üle
Kullanıcının kimliğine bürünme ve API'den istekte bulunma API proxy'lerini görüntüleyecek hizmetler. Kullanıcı, içerikleriyle birlikte API'leri görebilmelidir.$ 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ündeki kullanıcı olarak API'yi oluşturun
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"} ] }'
API'yi geliştirme rolündeki kullanıcı olarak 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. İlgili içeriği oluşturmak için kullanılan "geliştirme" rolünde olduğu için isteğin başarılı olup olmadığı kullanıcının API oluşturmasına izin verir.
$ 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