Edge Management API ile harici IdP kullanma

Temel kimlik doğrulama, Edge Management API'ye çağrı yaparken kimlik doğrulamanın bir yoludur. Örneğin, kuruluşunuzla ilgili bilgilere erişmek için Edge Management API'ye aşağıdaki curl isteğini gönderebilirsiniz:

curl -u USER_NAME:PASSWORD http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

Bu örnekte, Temel kimlik doğrulama kimlik bilgilerini iletmek için curl -u seçeneğini kullanırsınız. Alternatif olarak, Edge yönetim API'si çağrıları yapmak için Authorization: Bearer başlığında bir OIDC/OAuth2 jetonu iletebilirsiniz. Aşağıdaki örnekte bu durum gösterilmektedir:

curl -H "Authorization: Bearer ACCESS_TOKEN" http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

Kimlik doğrulama için harici bir IdP'yi etkinleştirdikten sonra, isterseniz temel kimlik doğrulamayı devre dışı bırakabilirsiniz. Temel kimlik doğrulamasını devre dışı bırakırsanız Temel kimlik doğrulamasını destekleyen Edge Management API çağrılarını kullanan tüm komut dosyaları (ör. Maven, kabuk ve apigeetool) artık çalışmaz. Temel kimlik doğrulama kullanan tüm API çağrılarını ve komut dosyalarını, Bearer üstbilgisinde OAuth2 erişim jetonlarını iletecek şekilde güncellemeniz gerekir.

get_token ile jeton alma ve yenileme

get_token yardımcı programı, OIDC/OAuth2 erişimi ve yenileme jetonları almak için standart OAuth 2.0 Cihaz Kodu Akışı'nı kullanır. Bu yardımcı program, harici IdP'niz (veya yerel LDAP) üzerinden kimlik doğrulamak için tarayıcınızda bir URL'yi ziyaret etmenizi ister. Ardından, geçerli erişim jetonunu yazdırmak için terminalinizin engellemesini otomatik olarak kaldırır.

get_token yardımcı programı, jetonları ~/.sso-cli/ içinde diske güvenli bir şekilde önbelleğe alır ve gerektiğinde kullanıma hazır hale getirir. Ayrıca stdout için geçerli bir erişim jetonu yazdırır. Mevcut bir jeton yenilenebiliyorsa yardımcı program bu jetonu otomatik olarak yeniler. Yenileme jetonunun süresi dolarsa yeni bir tarayıcı tabanlı yetkilendirme akışı başlatılır.

Edge Management API çağrıları yapmak için OAuth2 erişim jetonu almak üzere:

  1. get_token ve acurl yardımcı programları, Apigee TOA'yı (OpenLDAP düğümü) barındıran düğüme önceden yüklenmiştir: /opt/apigee/apigee-openldap/bin/
  2. (İsteğe bağlı) SSO_LOGIN_URL ortam değişkenini TOA veren kuruluşunuzun URL'sine şu biçimde ayarlayın:
    export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"

    Burada EDGE_SSO_IP_DNS, Apigee SSO'nun barındırıldığı makinenin IP adresi veya DNS adıdır. Apigee SSO'da TLS'yi yapılandırdıysanız https ve doğru TLS bağlantı noktası numarasını kullanın.

  3. OAuth 2.0 cihaz kodu akışını başlatmak için e-posta adresinizle get_token komutunu çağırın:
    /opt/apigee/apigee-openldap/bin/get_token -u EMAIL_ADDRESS

    EMAIL_ADDRESS, bir Edge kullanıcısının e-posta adresidir.

  4. Yardımcı program duraklatılır ve terminalinize bir URL ile 8 karakterli bir cihaz kodu yazdırılır:
    Please visit: http://EDGE_SSO_IP_DNS:9099/device
    And enter code: ABCD-EFGH
  5. Belirtilen URL'yi tarayıcınızda açın, cihaz kodunu girin ve Gönder'i tıklayın. İsteği kimliğinizi doğrulayarak onaylamak için harici IdP'nize (veya yerel LDAP formunuza) yönlendirilirsiniz.
  6. Tarayıcıda kimlik doğrulama işlemini başarıyla tamamladıktan sonra terminalinize dönün. get_token yardımcı programı, onayı otomatik olarak algılar, OAuth2 erişim jetonunu alır, ekrana yazdırır ve güvenli bir şekilde önbelleğe alır.
  7. Erişim jetonunu, önbelleğe alınmış jetonu otomatik olarak okuyan ve Bearer üstbilgisini ekleyen acurl yardımcı programını kullanarak bir Edge Management API'si çağrısına iletin:
    /opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

    Alternatif olarak, standart curl kullanarak jetonu manuel olarak iletebilirsiniz:

    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      http://MS_IP_DNS:8080/v1/organizations/ORG_NAME

Jetonları almak ve yenilemek için Management API'yi kullanma

Eski /passcode uç noktası kaldırıldı. Bu nedenle, gerçek kullanıcıların ilk kimlik doğrulama için tarayıcı tabanlı OAuth 2.0 Cihaz Kodu Akışı'nı başlatmak üzere daha önce açıklanan get_token yardımcı programını kullanması gerekir.

Tarayıcıyla etkileşimde bulunamayan komut dosyaları veya CI/CD işlem hatları yazıyorsanız Makine kullanıcılarıyla görevleri otomatikleştirme başlıklı makaleyi inceleyin. Geçerli kimlik bilgilerine sahip otomatik makine kullanıcıları veya uygulamalar, jeton almak ve yenileme jetonu almak için standart API çağrılarını kullanabilir.