استفاده از SAML با وظایف خودکار

Edge for Private Cloud نسخه 4.18.01

هنگام استفاده از SAML با Edge API، فرآیندی که برای به دست آوردن دسترسی OAuth2 و به‌روزرسانی نشانه‌ها از ادعای SAML استفاده می‌کنید، جریان رمز عبور نامیده می‌شود. با جریان رمز عبور، از یک مرورگر برای به دست آوردن یک رمز عبور یک بار مصرف استفاده می کنید که سپس برای به دست آوردن نشانه های OAuth2 استفاده می کنید.

با این حال، محیط توسعه شما ممکن است از اتوماسیون برای کارهای توسعه رایج، مانند اتوماسیون تست یا ادغام مداوم/ استقرار مستمر (CI/CD) پشتیبانی کند. برای خودکار کردن این وظایف در زمانی که SAML فعال است، به راهی برای به دست آوردن و بازخوانی نشانه‌های OAuth2 بدون نیاز به کپی/پیست کردن رمز عبور از مرورگر نیاز دارید.

Edge از تولید توکن خودکار از طریق استفاده از کاربران ماشین پشتیبانی می کند. کاربر ماشین می تواند توکن های OAuth2 را بدون نیاز به تعیین رمز عبور به دست آورد. این بدان معناست که می‌توانید با استفاده از API مدیریت Edge، فرآیند دریافت و به‌روزرسانی توکن‌های OAuth2 را کاملاً خودکار کنید.

یک کاربر ماشین ایجاد کنید

از ابزار apigee-ssoadminapi.sh برای ایجاد یک کاربر ماشین برای یک سازمان SAML استفاده کنید. برای اطلاعات بیشتر به استفاده از apigee-ssoadminapi.sh مراجعه کنید. می‌توانید یک کاربر ماشینی ایجاد کنید که توسط همه سازمان‌هایتان استفاده می‌شود، یا یک کاربر ماشین جداگانه برای هر سازمان ایجاد کنید.

کاربر دستگاه در ذخیره‌گاه داده Edge ایجاد و ذخیره می‌شود، نه در ارائه‌دهنده هویت SAML شما. بنابراین، شما مسئولیتی در قبال حفظ کاربر دستگاه با استفاده از رابط کاربری Edge و API مدیریت Edge ندارید.

هنگام ایجاد کاربر دستگاه، باید آدرس ایمیل و رمز عبور را مشخص کنید. پس از ایجاد کاربر ماشین، آن را به یک یا چند سازمان اختصاص می دهید.

برای ایجاد کاربر ماشین:

  1. برای ایجاد کاربر ماشین از دستور apigee-ssoadminapi.sh زیر استفاده کنید:
    > 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

    جایی که:
    • SSO_ADMIN_NAME نام کاربری ادمین است که توسط ویژگی SSO_ADMIN_NAME در فایل پیکربندی استفاده شده برای پیکربندی ماژول SSO Edge تعریف شده است. پیش فرض ssoadmin است.
    • SSO_ADMIN_SECRET رمز عبور مدیریت است که توسط ویژگی SSO_ADMIN_SECRET در فایل پیکربندی مشخص شده است.

      در این مثال، می توانید مقادیر --port و --ssl را حذف کنید زیرا ماژول apigee-sso از مقادیر پیش فرض 9099 برای --port و http برای --ssl استفاده می کند. اگر نصب شما از این پیش فرض ها استفاده نمی کند، آنها را به صورت مناسب مشخص کنید.
  2. وارد رابط کاربری Edge شوید و ایمیل کاربر دستگاه را به سازمان های خود اضافه کنید و کاربر دستگاه را به نقش لازم اختصاص دهید. برای اطلاعات بیشتر به افزودن کاربران جهانی مراجعه کنید.

توکن کاربر دستگاه را دریافت و به‌روزرسانی کنید

از Edge API برای به دست آوردن و بازخوانی توکن های OAuth2 با ارسال اطلاعات کاربری کاربر دستگاه، به جای رمز عبور استفاده کنید.

برای به دست آوردن نشانه های OAuth2 برای کاربر ماشین:

  1. از فراخوانی API زیر برای ایجاد توکن‌های دسترسی اولیه و تازه‌سازی استفاده کنید:
    > curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
    -H "accept: application/json;charset=utf-8" /
    -H "مجوز: پایه ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
    http:// edge_sso_IP_DNS :9099/oauth/token -s /
    -d 'grant_type=password&username= m_user_email &password= m_user_password
    '
    تماس، نشانه‌های دسترسی و تازه‌سازی را روی صفحه چاپ می‌کند. توکن ها را برای استفاده بعدی ذخیره کنید.
  2. رمز دسترسی را به عنوان هدر حامل به یک تماس API مدیریت Edge ارسال کنید:
    > curl -H "Authorization: Bearer access_token " http:// ms_IP_DNS :8080/v1/organizations/ orgName

    که در آن orgName نام سازمانی است که کاربر ماشین را در خود جای داده است.
  3. برای بازخوانی نشانه دسترسی، از فراخوانی زیر که شامل نشانه رفرش است استفاده کنید:
    > curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
    -H "Accept: application/json;charset=utf-8" /
    -H "مجوز: پایه ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
    http:// edge_sso_IP_DNS :9099/oauth/token /
    -d 'grant_type=refresh_token&refresh_token= refreshToken '

با استفاده از API مدیریت Edge یک کاربر ماشین ایجاد کنید

شما می توانید با استفاده از API مدیریت Edge به جای استفاده از ابزار apigee-ssoadminapi.sh یک کاربر ماشین ایجاد کنید. برای ایجاد کاربر ماشین:

  1. از دستور cURL زیر برای به دست آوردن یک نشانه برای کاربر ssoadmin ، نام کاربری حساب مدیریت برای apigee-sso استفاده کنید:
    > 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 رمز عبور مدیریتی است که هنگام نصب apigee-sso همانطور که توسط ویژگی SSO_ADMIN_SECRET در فایل پیکربندی مشخص شده است، تنظیم می کنید.

    این دستور رمزی را نشان می دهد که برای برقراری تماس بعدی به آن نیاز دارید.
  2. از دستور cURL زیر برای ایجاد کاربر ماشین استفاده کنید و رمزی را که در مرحله قبل دریافت کردید ارسال کنید:
    > 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 "


    در مراحل بعدی به رمز عبور کاربر دستگاه نیاز دارید.
  3. وارد رابط کاربری Edge شوید و ایمیل کاربر دستگاه را به سازمان های خود اضافه کنید و کاربر دستگاه را به نقش لازم اختصاص دهید. برای اطلاعات بیشتر به افزودن کاربران جهانی مراجعه کنید.