فرآیند تولید توکن را خودکار کنید

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

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

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

درباره کاربران دستگاه

Apigee Edge از کاربران ماشین در سازمان شما که از SAML پشتیبانی می‌کند، پشتیبانی می‌کند. کاربران ماشین صرفاً برای اتوماسیون استفاده می‌شوند و مستقیماً توسط انسان قابل دسترسی نیستند.

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

مراحل خودکارسازی فرآیند تولید توکن

برای خودکارسازی فرآیند تولید توکن:

قدم توضیحات
۱ یک کاربر دستگاه در منطقه هویت SAML خود ایجاد کنید
۲ نقش‌های مورد نیاز را به کاربر دستگاه در سازمان Edge خود اختصاص دهید
۳ توکن‌های OAuth2 کاربران دستگاه را دریافت کنید

ویدیو: برای آشنایی با نحوه خودکارسازی دسترسی به APIهای Apigee Edge با استفاده از اعتبارنامه‌های کاربر دستگاه، یک ویدیوی کوتاه تماشا کنید.

مدیریت کاربران دستگاه برای مناطق هویت SAML

Apigee رابط خط فرمان مدیریت کاربر دستگاه (CLI) را برای ایجاد و مدیریت حساب‌های کاربری دستگاه ارائه می‌دهد. مراحل استفاده از CLI مدیریت کاربر دستگاه در بخش‌های بعدی شرح داده شده است.

از رابط خط فرمان (CLI) استفاده کنید

برای استفاده از رابط خط فرمان مدیریت کاربر دستگاه، ابتدا فایل زیر را دانلود و از حالت فشرده خارج کنید: usermgmt.tar.gz (1)

فرمت فراخوانی CLI به صورت زیر است:

usermgmt_platform [command] [flags]

جدول زیر پلتفرم‌های پشتیبانی‌شده و دستور مربوطه برای فراخوانی رابط خط فرمان مدیریت کاربر دستگاه را خلاصه می‌کند. (فایل‌های اجرایی در دایرکتوری usermgmt قرار دارند.)

پلتفرم ۳۲ بیتی ۶۴ بیتی
لینوکس usermgmt_linux_386 usermgmt_linux_amd64
مک usermgmt_darwin_386 usermgmt_darwin_amd64
ویندوز usermgmt_windows_386 usermgmt_windows_amd64

جدول زیر خلاصه‌ای از دستوراتی که می‌توان مشخص کرد را نشان می‌دهد.

فرمان اطلاعات بیشتر
create ایجاد یک کاربر دستگاه در یک منطقه هویتی
delete حذف یک کاربر دستگاه در یک منطقه هویتی
help دریافت کمک با استفاده از رابط خط فرمان (CLI)
list لیست کردن تمام کاربران دستگاه در یک منطقه شناسایی
reset تنظیم مجدد رمز عبور برای کاربر دستگاه در یک منطقه شناسایی

به صورت اختیاری، می‌توانید یکی از پرچم‌های زیر را برای نمایش راهنما در دستور مشخص شده ارسال کنید: -h یا --help

وارد CLI شوید

اولین باری که در طول ۲۴ ساعت رابط خط فرمان (CLI) را اجرا می‌کنید، از شما خواسته می‌شود که اطلاعات حساب کاربری zoneadmin خود را وارد کنید.

Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skip

رابط خط فرمان مدیریت کاربر دستگاه، یک توکن دسترسی را در دستگاه محلی شما ذخیره می‌کند، بنابراین شما فقط باید یک بار در هر 24 ساعت وارد سیستم شوید.

دریافت کمک با استفاده از رابط خط فرمان (CLI)

نمایش اطلاعات استفاده از رابط خط فرمان (CLI) با استفاده از دستور usermgmt_ platform help . برای مشاهده لیست پلتفرم‌های پشتیبانی شده، به بخش «استفاده از رابط خط فرمان» (Use the CLI) مراجعه کنید.

usermgmt_platform help

اطلاعات کمکی زیر نمایش داده می‌شود:

A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.

Usage:
  usermgmt [flags]
  usermgmt [command]

Available Commands:
  create  Creates a machine users in an identity zone.
  delete  Deletes a machine users in an identity zone.
  help    Help about any command
  list    Lists the machine users in an identity zone.
  reset   Resets the password for a machine user in an identity zone.

Flags:
  -h, --help               help for usermgmt

Use "usermgmt [command] --help" for more information about a command.

با وارد کردن همزمان دستور و فلگ -h یا --help در خط فرمان، راهنمای یک دستور خاص را نمایش دهید.

برای مثال، برای دریافت کمک در مورد دستور list:

usermgmt_platform list -h

اطلاعات کمکی زیر نمایش داده می‌شود:

Lists the machine users in an identity zone.

Usage:
  usermgmt list [flags]

Flags:
  -h, --help   help for list

ایجاد یک کاربر دستگاه در یک منطقه هویتی

با استفاده از دستور platform create، یک کاربر ماشین در یک منطقه شناسایی ایجاد کنید. برای مشاهده لیست پلتفرم‌های پشتیبانی شده، به بخش «استفاده از رابط خط فرمان» مراجعه کنید.

  1. دستور زیر را وارد کنید:
    usermgmt_platform create

    لیست مناطق شناسایی نمایش داده می‌شود:

    myzone1
    myzone2
  2. نام یک منطقه را در اعلان وارد کنید:
    Enter a zone name: myzone1
  3. یک نام کاربری برای کاربر دستگاه وارد کنید:
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. یک رمز عبور برای کاربر دستگاه وارد کنید. در صورت درخواست، رمز عبور را دوباره وارد کنید.
    Password: password
    Re-enter password: password 

    کاربر ایجاد می‌شود.

    Created machine user machineuser1@mycompany.com

لیست کردن تمام کاربران دستگاه در یک منطقه شناسایی

با استفاده از دستور platform list، تمام کاربران دستگاه در یک منطقه شناسایی را فهرست کنید. برای فهرست پلتفرم‌های پشتیبانی‌شده، به بخش «استفاده از رابط خط فرمان» مراجعه کنید.

  1. دستور زیر را وارد کنید:
    usermgmt_platform list
    لیست مناطق شناسایی نمایش داده می‌شود:
    myzone1
    myzone2
  2. نام یک منطقه را در اعلان وارد کنید:
    Enter a zone name: myzone1

    لیست کاربران دستگاه در ناحیه شناسایی نمایش داده می‌شود:

    Machine users in the zone:
    machineuser1@mycompany.com
        

تنظیم مجدد رمز عبور برای کاربر دستگاه در یک منطقه شناسایی

با استفاده از دستور platform reset، رمز عبور یک کاربر ماشین در یک منطقه شناسایی را بازنشانی کنید. برای مشاهده لیست پلتفرم‌های پشتیبانی شده، به بخش «استفاده از رابط خط فرمان» مراجعه کنید.

  1. دستور زیر را وارد کنید:
    usermgmt_platform reset

    لیست مناطق شناسایی نمایش داده می‌شود:

    myzone1
    myzone2
  2. نام یک منطقه را در اعلان وارد کنید:
    Enter a zone name: myzone1
  3. نام کاربری دستگاهی که می‌خواهید رمز عبور آن را تغییر دهید، وارد کنید:
    Reset User Password
    Enter the username for the machine user
    Username: machineuser1@mycompany.com
  4. یک رمز عبور جدید برای کاربر دستگاه وارد کنید. در صورت درخواست، رمز عبور را دوباره وارد کنید.
    Enter the new password: password
    Re-enter password: password

    رمز عبور بازنشانی می‌شود.

    Reset password for machine user machineuser1@mycompany.com

حذف یک کاربر دستگاه در یک منطقه هویتی

با استفاده از دستور platform delete، یک کاربر ماشین را در یک منطقه شناسایی حذف کنید. برای مشاهده لیست پلتفرم‌های پشتیبانی شده، به بخش «استفاده از رابط خط فرمان» مراجعه کنید.

  1. دستور زیر را وارد کنید:
    usermgmt_platform delete
    لیست مناطق شناسایی نمایش داده می‌شود:
    myzone1
    myzone2
  2. نام یک منطقه را در اعلان وارد کنید:
    Enter a zone name: myzone1
  3. نام کاربری دستگاهی که می‌خواهید حذف کنید را وارد کنید:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    کاربر دستگاه حذف می‌شود.

    Deleted user machineuser1@mycompany.com

نقش‌های مورد نیاز را به کاربر دستگاه در سازمان Edge خود اختصاص دهید

با استفاده از رابط کاربری، کاربر دستگاه را به سازمان Edge مجهز به SAML خود اضافه کنید و نقش‌های مورد نیاز (مانند مدیر سازمان) را همانطور که در افزودن کاربران توضیح داده شده است، به آن اختصاص دهید.

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

شما می‌توانید فرآیند تولید توکن را خودکارسازی کنید و با استفاده از ابزارهای acurl (1) و get_token (1) ، همانطور که در OAuth2 برای کاربران ماشین و کاربران ماشین در مناطق SAML توضیح داده شده است، ذخیره‌سازی توکن را برای کاربران ماشین مدیریت کنید.

برای دریافت توکن‌های OAuth2 کاربر دستگاه به صورت دستی با curl :

  1. از ابزار رمزگذاری URL مورد نظر خود برای رمزگذاری نام کاربری و رمز عبور کاربر دستگاه استفاده کنید.

    هشدار: استفاده از داخلی ابزار رمزگذاری URL برای اطمینان از اینکه اعتبارنامه‌های کاربر دستگاه به خطر نمی‌افتد.

  2. با فراخوانی نقطه پایانی توکن SAML، که در مثال زیر نشان داده شده است، توکن‌های دسترسی اولیه و به‌روزرسانی را ایجاد کنید:
    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://zoneName.login.apigee.com/oauth/token -s \
      -d 'grant_type=password&username=machineusername&password=machineuserpassword'

    برای احراز هویت، اعتبارنامه‌ی رزرو شده‌ی کلاینت OAuth2، یعنی ZWRnZWNsaTplZGdlY2xpc2VjcmV0 ، را در هدر Authorization وارد کنید. این فراخوانی، توکن‌های دسترسی و رفرش را در stdout چاپ می‌کند.

  3. توکن دسترسی را به عنوان هدر Bearer به یک فراخوانی API مدیریت Edge ارسال کنید:
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. وقتی توکن دسترسی منقضی می‌شود، می‌توانید با ارسال توکن به‌روزرسانی به نقطه پایانی توکن SAML، آن را به‌روزرسانی کنید، همانطور که در مثال زیر نشان داده شده است:
    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://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

(1) حق نشر 2023 گوگل LLC
ابزارهای usermgmt ، acurl و get_token به عنوان «نرم‌افزار» تحت توافق‌نامه‌ی حاکم بر استفاده‌ی شما از پلتفرم ابری گوگل، از جمله شرایط خاص سرویس که در https://cloud.google.com/terms/service-terms موجود است، در دسترس قرار گرفته‌اند.