مدیریت کاربران، نقش‌ها، و اجازه‌ها

سایت اسناد Apigee اطلاعات جامعی درباره مدیریت نقش‌های کاربر و اجازه‌ها دارد. کاربران را می‌توان بااستفاده از هر دو «واسط کاربر Edge» و «API مدیریت» مدیریت کرد؛ نقش‌ها و اجازه‌ها را فقط با «API مدیریت» می‌توان مدیریت کرد.

برای کسب اطلاعات درباره کاربران و ایجاد کاربران، به موارد زیر مراجعه کنید:

بسیاری از عملیاتی که برای مدیریت کاربران انجام می‌دهید نیازمند امتیازهای سرپرست سیستم است. در نصب مبتنی بر Cloud در Edge،‏ Apigee نقش سرپرست سیستم را ایفا می‌کند. در نصب Edge for the Private Cloud، سرپرست سیستم شما باید این وظایف را همان‌طور که در زیر توضیح داده شده است انجام دهد.

درحال افزودن کاربر

می‌توانید کاربر را بااستفاده از Edge API،‏ Edge UI، یا دستورات Edge ایجاد کنید. این بخش نحوه استفاده از Edge API و فرمان‌های Edge را شرح می‌دهد. برای اطلاعات درباره ایجاد کاربران در واسط کاربر Edge، به ایجاد کاربران جهانی مراجعه کنید.

پس‌از ایجاد کاربر در سازمان، باید نقشی را به کاربر اختصاص دهید. نقش‌ها حقوق دسترسی کاربر در Edge را تعیین می‌کنند.

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

curl -H "Content-Type:application/xml" \
  -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X POST http://ms_IP:8080/v1/users \
  -d '<User> \
    <FirstName>New</FirstName> \
    <LastName>User</LastName> \
    <Password>NEW_USER_PASSWORD</Password> \
    <EmailId>foo@bar.com</EmailId> \
  </User>'

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

/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-user -f configFile

جایی که configFile کاربر را ایجاد می‌کند، همان‌طور که مثال زیر نشان می‌دهد:

APIGEE_ADMINPW=SYS_ADMIN_PASSWORD    # If omitted, you will be prompted.
USER_NAME=foo@bar.com
FIRST_NAME=New
LAST_NAME=User
USER_PWD="NEW_USER_PASSWORD"
ORG_NAME=myorg

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com

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

قبل‌از اینکه کاربر جدید بتواند کاری انجام دهد، باید در سازمانی به او نقش اختصاص داده شود. می‌توانید کاربر را به نقش‌های مختلفی اختصاص دهید، ازجمله: orgadmin، businessuser، opsadmin، user، یا به نقش سفارشی تعریف‌شده در سازمان.

اختصاص دادن کاربر به نقش در سازمان به‌طور خودکار آن کاربر را به سازمان اضافه می‌کند. با اختصاص دادن کاربر به نقش در هر سازمان، کاربر را به چندین سازمان اختصاص دهید.

از فرمان زیر برای اختصاص دادن کاربر به نقش در سازمان استفاده کنید:

curl -X POST -H "Content-Type:application/x-www-form-urlencoded" \
  http://ms_IP:8080/v1/o/org_name/userroles/role/users?id=foo@bar.com \
  -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

این تماس همه نقش‌های اختصاص‌یافته به کاربر را نمایش می‌دهد. اگر می‌خواهید کاربر را اضافه کنید، اما فقط نقش جدید نمایش داده شود، از تماس زیر استفاده کنید:

curl -X POST -H "Content-Type: application/xml" \
  http://ms_IP:8080/v1/o/org_name/users/foo@bar.com/userroles \
  -d '<Roles><Role name="role"/><Roles>' \
  -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

بااستفاده از فرمان زیر می‌توانید نقش‌های کاربر را مشاهده کنید:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/userroles

برای برداشتن کاربر از سازمان، همه نقش‌های آن سازمان را از کاربر بردارید. از فرمان زیر برای برداشتن نقش از کاربر استفاده کنید:

curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  http://ms_IP:8080/v1/o/org_name/userroles/role/users/foo@bar.com

درحال افزودن سرپرست سیستم

سرپرست سیستم می‌تواند:

  • ایجاد سازمان‌ها
  • افزودن «مسیریاب‌ها»، «پردازشگرهای پیام»، و دیگر عناصر به نصب Edge
  • پیکربندی «امنیت لایه انتقال»/ پوسته ایمن
  • ایجاد سرپرست‌های سیستم اضافی
  • انجام همه تکالیف سرپرست Edge

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

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

برای افزودن سرپرست سیستم:

  1. کاربری را در Edge UI یا API ایجاد کنید.
  2. افزودن کاربر به نقش «سرپرست سیستم»:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      -X POST http://ms_IP:8080/v1/userroles/sysadmin/users -d 'id=foo@bar.com'
  3. مطمئن شوید که کاربر جدید در نقش «سرپرست سیستم» باشد:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users

    نشانی ایمیل کاربر را برمی‌گرداند:

    [ " foo@bar.com " ]
  4. بررسی اجازه‌های کاربر جدید:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/permissions

    برمی‌گرداند:

    {
      "resourcePermission" : [ {
      "path" : "/",
        "permissions" : [ "get", "put", "delete" ]
      } ]
    }
  5. پس‌از افزودن سرپرست سیستم جدید، می‌توانید کاربر را به هر سازمانی اضافه کنید.
  6. اگر بعداً بخواهید کاربر را از نقش سرپرست سیستم بردارید، می‌توانید از API زیر استفاده کنید:
    curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/userroles/sysadmin/users/foo@bar.com

    توجه داشته باشید که این فراخوانی فقط کاربر را از نقش برمی‌دارد و کاربر را حذف نمی‌کند.

تغییر کاربر سرپرست سیستم پیش‌فرض

در زمان نصب Edge، نشانی ایمیل سرپرست سیستم را مشخص می‌کنید. ‫Edge کاربری با آن نشانی ایمیل ایجاد می‌کند و آن کاربر را به‌عنوان سرپرست سیستم پیش‌فرض تنظیم می‌کند. بعداً می‌توانید سرپرستان سیستم دیگری را همان‌طور که در بالا توضیح داده شد اضافه کنید.

این بخش نحوه تغییر سرپرست سیستم پیش‌فرض به کاربر دیگر و نحوه تغییر نشانی ایمیل حساب کاربری سرپرست سیستم پیش‌فرض فعلی را توضیح می‌دهد.

برای دیدن فهرست کاربرانی که درحال‌حاضر به‌عنوان سرپرست سیستم پیکربندی شده‌اند، از فراخوانی میانای برنامه‌سازی کاربردی زیر استفاده کنید:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users

برای تعیین سرپرست سیستم پیش‌فرض فعلی، فایل /opt/apigee/customer/defaults.sh را مشاهده کنید. فایل حاوی خط زیر است که نشانی ایمیل سرپرست سیستم پیش‌فرض فعلی را نشان می‌دهد:

ADMIN_EMAIL=foo@bar.com

برای تغییر دادن سرپرست سیستم پیش‌فرض به کاربر دیگر:

  1. سرپرست سیستم جدیدی را همان‌طور که در بالا توضیح داده شد ایجاد کنید، یا مطمئن شوید که حساب کاربری سرپرست سیستم جدید ازقبل به‌عنوان سرپرست سیستم پیکربندی شده است.
  2. /opt/apigee/customer/defaults.sh را ویرایش کنید تا ADMIN_EMAIL را روی نشانی ایمیل سرپرست سیستم جدید تنظیم کنید.
  3. فایل پیکربندی بی‌صدایی را که برای نصب «میانای کاربری Edge» استفاده کرده‌اید ویرایش کنید تا دارایی‌های زیر را تنظیم کنید:
    ADMIN_EMAIL=NEW_SYS_ADMIN_EMAIL
    APIGEE_ADMINPW=NEW_SYS_ADMIN_PASSWORD
    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y

    توجه داشته باشید که باید دارایی‌های SMTP را اضافه کنید زیرا همه دارایی‌های رابط کاربری بازنشانی می‌شوند.

  4. پیکربندی مجدد واسط کاربر Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui start

اگر فقط می‌خواهید نشانی ایمیل حساب کاربری سرپرست سیستم پیش‌فرض فعلی را تغییر دهید، ابتدا حساب کاربری را به‌روزرسانی می‌کنید تا نشانی ایمیل جدید را تنظیم کنید، سپس نشانی ایمیل سرپرست سیستم پیش‌فرض را تغییر می‌دهید:

  1. حساب کاربری کاربر سرپرست سیستم پیش‌فرض فعلی را با نشانی ایمیل جدید به‌روز کنید:
    curl -H content-type:application/json -X PUT -u CURRENT_SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/users/CURRENT_SYS_ADMIN_EMAIL \
      -d '{"emailId": "NEW_SYS_ADMIN_EMAIL", "lastName": "admin", "firstName": "admin"}'
  2. مراحل ۲، ۳، و ۴ را از رویه قبلی تکرار کنید تا فایل /opt/apigee/customer/defaults.sh به‌روز شود و «واسط کاربر لبه» به‌روز شود.

مشخص کردن دامنه ایمیل سرپرست سیستم

برای افزایش سطح امنیت، می‌توانید دامنه ایمیل موردنیاز سرپرست سیستم Edge را مشخص کنید. هنگام افزودن سرپرست سیستم، اگر نشانی ایمیل کاربر در دامنه مشخص‌شده نباشد، افزودن کاربر به نقش «سرپرست سیستم» ناموفق خواهد بود.

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

برای تنظیم دامنه ایمیل:

  1. فایل management-server.properties را در ویرایشگر باز کنید:
    vi /opt/apigee/customer/application/management-server.properties

    اگر این فایل وجود ندارد، آن را ایجاد کنید.

  2. دارایی conf_security_rbac.global.roles.allowed.domains را روی فهرست جداشده با کاما از دامنه‌های مجاز تنظیم کنید. برای مثال:
    conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
  3. تغییرات را ذخیره کنید.
  4. «سرور مدیریت Edge» را بازراه‌اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

    اگر اکنون بخواهید کاربری را به نقش «سرپرست سیستم» اضافه کنید و نشانی ایمیل کاربر در یکی از دامنه‌های مشخص‌شده نباشد، افزودن کاربر ناموفق خواهد بود.

درحال حذف کاربر

می‌توانید کاربر را بااستفاده از Edge API یا Edge UI ایجاد کنید. بااین‌حال، فقط بااستفاده از API می‌توانید کاربری را حذف کنید.

برای دیدن فهرست کاربران فعلی، ازجمله نشانی ایمیل، از فرمان curl زیر استفاده کنید:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms-IP:8080/v1/users

برای حذف کاربر، از فرمان curl زیر استفاده کنید:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X DELETE http://ms_IP:8080/v1/users/USER_EMAIL