Edge Management API ile SAML kullanma

Edge for Private Cloud 4.18.05 sürümü

Temel Kimlik Doğrulama, Edge Management API'ye çağrı yaparken kullanabileceğiniz kimlik doğrulama yöntemlerinden biridir. Örneğin, örneğin, aşağıdaki cURL isteğini Edge management API'ye iletebilir ve kuruluşunuz hakkında:

curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

Bu örnekte, Temel Yetkilendirme kimlik bilgilerini iletmek için cURL -u seçeneğini kullanırsınız. Alternatif olarak Edge management API'yi oluşturmak için Bearer başlığında bir OAuth2 jetonu iletebilir. çağrısının en iyi yolu. Örneğin:

curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName

SAML'yi etkinleştirdikten sonra isteğe bağlı olarak Temel Kimlik Doğrulama'yı devre dışı bırakabilirsiniz. Temel Kimlik Doğrulama'yı devre dışı bırakırsanız Edge'e dayanan komut dosyaları (Maven komut dosyaları, kabuk komut dosyaları, Apigeetool vb.) Temel Kimlik Doğrulama'yı destekleyen management API çağrıları artık çalışmamaktadır. Tüm API çağrılarını ve Taşıyıcı üstbilgisindeki OAuth2 erişim jetonlarını aktarmak için Temel Kimlik Doğrulama'yı kullanan komut dosyaları.

Jetonları almak ve yenilemek için get_token kullanma

get_token yardımcı programı Temel Kimlik Doğrulama kimlik bilgilerinizi ve şifre kodunu OAuth2 erişimi ve yenileme jetonuyla değiştirir. İlgili içeriği oluşturmak için kullanılan get_token yardımcı programı kimlik bilgilerini gönderir ve geçerli bir erişim jetonu yazdırır. Jeton yenilenebiliyorsa yenilenebilir ve yazdırabilirsiniz. Yenileme jetonunun süresi dolarsa kullanıcı kimlik bilgileri istenir.

get_token yardımcı programı depoları gerektiğinde kullanılmak üzere hazır olur. Ayrıca stdout'a geçerli bir erişim jetonu da yazdırır. Buradan, Postman'i kullanabilir veya curl'de kullanmak üzere bir ortam değişkenine yerleştirebilirsiniz.

Aşağıdaki prosedürde, OAuth2 erişim jetonu almak için get_token yönteminin nasıl kullanılacağı açıklanmaktadır. Edge management API çağrıları yapın:

  1. sso-cli dosyasını indirin. grup:
    curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"

    Burada edge_sso_IP_DNS, makinenin DNS adının IP adresidir. giriş yapıyor. Uç TOA'da TLS'yi yapılandırdıysanız https ve doğru TLS bağlantı noktası numarası.

  2. ssocli-bundle.zip adlı paketin sıkıştırmasını açın:
    unzip ssocli-bundle.zip
  3. get_token kodunu yükleyin. /usr/local/bin:
    > ./install adresini ziyaret edin. -b seçeneği ile farklı konum: > ./yükleme -b path
  4. SSO_LOGIN_URL'yi ayarlayın ortam değişkenini giriş URL'nize şu biçimde ekleyin:
    dışa aktar SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"

    Burada edge_sso_IP_DNS, makinenin DNS adının IP adresidir. giriş yapıyor. TLS'yi uç TOA'da yapılandırdıysanız https'yi ve doğru TLS bağlantı noktası numarasını kullanın.
  5. Tarayıcıda, tek seferlik şifre kodunu almak için aşağıdaki URL'ye gidin:
    http://edge_sso_IP_DNS:9099/passcode

    . TLS'yi uç TOA'da yapılandırdıysanız https ve doğru TLS bağlantı noktası numarasını kullanın.
    .
    . Not: Şu anda kimlik sağlayıcınız tarafından giriş yapmadıysanız giriş yapmanız istenir.
    .
    . Bu URL, tek seferlik bir şifre kodu döndürür. Bu şifre kodunu almak için URL yenilenene kadar veya erişim jetonu oluşturmak için şifre kodunu get_token ile kullanırsanız.
  6. Almak için get_token komutunu çağırın OAuth2 erişim jetonu:
    > get_token -u (get_token -u) emailAddress

    Burada emailAddress, bir Edge kullanıcısının e-posta adresidir. Şu anki düzeyiniz: 3. adımda aldığınız tek kullanımlık şifre kodunu girmeniz istenir:
    Tek Seferlik Kod ( https://edge_sso_IP.com/passcode )
    SAML etkinse şifre kodunu girin veya ENTER tuşuna basın:


    . Şifre kodunu girin. get_token yardımcı programı OAuth2 erişimini edinir kodu ekrana yazdırır, ekrana yazdırır, ardından yenileme jetonunu ~/.sso-cli konumuna yazar.
    .
    . Şifre kodunu, aşağıdaki biçimde bir get_token komutunu kullanarak komut satırına girebilirsiniz:
    > get_token -u (get_token -u) emailAddress -p emailAddress
  7. Erişim jetonunu, Taşıyıcı başlığı olarak bir Edge management API çağrısına iletin:
    > curl -H "Yetkilendirme: Taşıyıcı access_token" https://ms_IP:8080/v1/organizations/orgName

    . İlk kez yeni bir erişim jetonu aldıktan sonra, yeni bir erişim jetonunu aşağıdaki gibi tek bir komutla bir API çağrısına iletin:
    > header=`get_token` && curl -H "Yetkilendirme: Taşıyıcı $header" https://ms_IP:8080/v1/o/orgName

    . Komutun bu biçimiyle, erişim jetonunun süresi dolmuşsa jeton otomatik olarak yenilenir geçerlilik süresi sona erene kadar bekleyin.

Yenileme jetonunun süresi dolduktan sonra get_token, yeni bir şifre kodu girmenizi ister. Siz bir şifre kodu oluşturmadan önce, yukarıdaki 3. Adım'da gösterilen URL'ye gitmeniz ve yeni bir şifre kodu oluşturmanız gerekir: yeni OAuth erişim jetonu

Alma ve yenileme için management API'yi kullanma jetonlar

OAuth2'yi kullanma güvenlik duvarıyla ilgili daha kapsamlı bilgiler, Jetonları almak ve yenilemek için uç yönetim API'si. Ayrıca, jetonlar için Edge API çağrılarını da kullanabilirsiniz üretilir.

OAuth2 güvenliğini kullanma" bölümünde açıklanan API çağrıları arasındaki tek fark birlikte kullanılması, çağrı URL'sinin bölgenize referans vermesi gerektiği anlamına gelir. dokunun. Ayrıca, ilk erişim jetonunu oluşturmak için şifre kodunu da aşağıdaki prosedürün 3. adımında gösterilmiştir.

Örneğin, ilk erişim ve yenileme jetonlarını oluşturmak için aşağıdaki API çağrısını kullanın:

curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
  -H "accept: application/json;charset=utf-8" /
  -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
  https://edge_sso_IP_DNS:9099/oauth/token -s /
  -d 'grant_type=password&response_type=token&passcode=passcode'  

Yetkilendirme için Yetkilendirme üstbilgisine ayrılmış bir OAuth2 istemcisi kimlik bilgisi iletin. Görüşmede, erişim ve yenileme jetonlarıdır.

Erişim jetonunu daha sonra yenilemek için yenileme jetonunu içeren aşağıdaki çağrıyı kullanın:

curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
-H "Accept: application/json;charset=utf-8" /
-H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
https://edge_sso_IP_DNS:9099/oauth/token /
-d 'grant_type=refresh_token&refresh_token=refreshToken'