SAML'yi otomatik görevlerle kullanma

Edge for Private Cloud 4.19.01 sürümü

Edge API ile SAML kullanırken OAuth2 erişimi edinmek ve OAuth2 erişimini edinmek ve SAML onayındaki yenileme jetonlarına şifre kodu akışı adı verilir. Şifre kodu akışında OAuth2 jetonları almak için kullanacağınız tek seferlik bir şifre kodu almak için tarayıcı kullanın.

Ancak, geliştirme ortamınız yaygın geliştirme görevleri için otomasyonu destekleyebilir, Örneğin test otomasyonu veya Sürekli Entegrasyon/Sürekli Dağıtım (CI/CD) gibi. Otomatikleştirmek için SAML etkinleştirildiğinde OAuth2 jetonlarını edinmenin ve yenilemenin bir yolunu bulmanız gerekir. veya tarayıcıdan şifre kodu kopyalayıp yapıştırmanız gerekmiyor.

Edge, SAML'de makine kullanıcıları aracılığıyla otomatik jeton oluşturmayı destekler kuruluşlar. Makine kullanıcısı OAuth2 jetonlarını almak için bir şifre kodu belirtmeniz gerekmez. Bu sayede kendinizi tamamen otomatik hale Edge management API'yi kullanarak OAuth2 jetonları alma ve yenileme işlemidir.

SAML kuruluşu için makine kullanıcısı oluşturmanın iki yolu vardır:

Bu yöntemlerin her biri sonraki bölümlerde açıklanmıştır.

SAML olmayan bir kuruluş için makine kullanıcısı oluşturamazsınız.

apigee-ssoadminapi.sh ile makine kullanıcısı oluşturun

apigee-ssoadminapi.sh kullanın yardımcı program. Bkz. Apigee-ssoadminapi.sh kodunu inceleyebilirsiniz. Tüm kullanıcılar tarafından kullanılan tek bir makine kullanıcısı kuruluşlarınızı kullanabilir veya her kuruluş için ayrı makine kullanıcıları oluşturabilirsiniz.

Makine kullanıcısı SAML kimliğinizde değil, Edge veri deposunda oluşturulur ve depolanır sağlar. Bu nedenle, Edge'i kullanarak makine kullanıcılarının bakımını yapmaktan sorumlu Kullanıcı arayüzü ve Edge management API'si.

Makine kullanıcısını oluşturduğunuzda bir e-posta adresi ve şifre belirtmeniz gerekir. Şu tarihten sonra: makine kullanıcısını oluşturduktan sonra bir veya daha fazla kuruluşa atarsınız.

apigee-ssoadminapi.sh ile makine kullanıcısı oluşturmak için:

  1. Makine kullanıcısını oluşturmak için aşağıdaki apigee-ssoadminapi.sh komutunu kullanın:
    apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \
      --secret SSO_ADMIN_SECRET --host Edge_SSO_IP_or_DNS \
      -u machine_user_email -p machine_user_password

    Burada:

    • SSO_ADMIN_NAME, Şu konumda SSO_ADMIN_NAME mülk: Edge TOA modülünü yapılandırmak için kullanılan yapılandırma dosyası. Varsayılan değer ssoadmin
    • SSO_ADMIN_SECRET, SSO_ADMIN_SECRET özelliği ekleyin.
    • Bu örnekte, --port ve apigee-sso modülü varsayılan değeri kullandığı için --ssl --port için 9099 ve --ssl için http değerlerine karşılık gelir. Eğer yüklemede bu varsayılan ayarlar kullanılmıyorsa uygun şekilde belirtin.

  2. Edge kullanıcı arayüzüne giriş yapın, makine kullanıcısının e-postasını kuruluşunuza ekleyin ve gereken role atanabilir. Aşağıdakiler için Genel kullanıcı ekleme başlıklı makaleye bakın: daha fazla.

Edge ile makine kullanıcısı oluşturma management API'si

Ayrıca, apigee-ssoadminapi.sh yardımcı programı.

Management API ile makine kullanıcısı oluşturmak için:

  1. ssoadmin kullanıcısı için jeton almak üzere aşağıdaki curl komutunu kullanın: apigee-sso için yönetici hesabının kullanıcı adı:
    curl "http://Edge_SSO_IP_DNS:9099/oauth/token" -i -X POST \
      -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \
      -d "response_type=token" -d "grant_type=client_credentials" \
      --data-urlencode "client_secret=SSO_ADMIN_SECRET" \
      --data-urlencode "client_id=ssoadmin"

    SSO_ADMIN_SECRET nerede, yüklerken ayarladığınız yönetici şifresidir? SSO_ADMIN_SECRET özelliği tarafından belirtildiği şekliyle apigee-sso yapılandırma dosyası.

    Bu komut, bir sonraki çağrıyı yapmanız için gereken jetonu gösterir.

  2. Girdiğiniz jetonu ileterek makine kullanıcısını oluşturmak için aşağıdaki curl komutunu kullanın son adımda:
    curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \
      -H "Accept: application/json" -H "Content-Type: application/json" \
      -d '{"userName" : "machine_user_email", "name" :
        {"formatted":"DevOps", "familyName" : "last_name", "givenName" :
        "first_name"}, "emails" : [ {"value" :
        "machine_user_email", "primary" : true } ], "active" : true,
        "verified" : true, "password" : "machine_user_password" }' \
      -H "Authorization: Bearer token"

    Sonraki adımlarda makine kullanıcısı şifresine ihtiyacınız olacaktır.

  3. Edge kullanıcı arayüzüne giriş yapın.
  4. Makine kullanıcısının e-postasını kuruluşunuza ekleyin ve makine kullanıcısını çok önemlidir. Bkz. Ekleme global kullanıcıları arayın.

Makine kullanıcı jetonları alın ve yenileyin

Makine kullanıcısının kimlik bilgileri girmeniz gerekir.

Makine kullanıcısı için OAuth2 jetonları almak üzere:

  1. İlk 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 \
      http://Edge_SSO_IP_DNS:9099/oauth/token -s \
      -d 'grant_type=password&username=m_user_email&password=m_user_password'

    Jetonları daha sonra kullanmak üzere kaydedin.

  2. Erişim jetonunu, Taşıyıcı başlığı olarak bir Edge management API çağrısına iletin:
    curl -H "Authorization: Bearer access_token" \
      http://MS_IP_DNS:8080/v1/organizations/org_name

    Burada org_name, makine kullanıcısını içeren kuruluşun adıdır.

  3. Erişim jetonunu daha sonra yenilemek için yenilemeyi içeren aşağıdaki çağrıyı kullanın jeton:
    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 \
      http://edge_sso_IP_DNS:9099/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=refreshToken'
    .