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 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.
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 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 &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ı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