SAML'yi otomatik görevlerle kullanma

Edge for Private Cloud 4.18.05 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, makine kullanıcıları aracılığıyla otomatik jeton oluşturmayı destekler. 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.

Makine kullanıcısı oluşturma

apigee-ssoadminapi.sh kullanın yardımcı programını oluşturun. Bkz. Apigee-ssoadminapi.sh kodunu inceleyebilirsiniz. Tüm reklamverenlerinizin kullandığı tek bir makine kullanıcısı kuruluşlar oluşturabilir veya her kuruluş için ayrı bir makine kullanıcısı 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.

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.

Makine kullanıcı jetonu 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/orgName

    Burada orgName, 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'
    .

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

apigee-ssoadminapi.sh yardımcı programı.

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, makine kullanıcısının e-postasını kuruluşunuza ekleyin ve gereken role atanabilir. Daha fazla bilgi için Genel kullanıcı ekleme başlıklı makaleye bakın.