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

Edge for Private Cloud نسخه ۴.۱۸.۰۱

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

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

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

افزودن کاربر

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

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

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

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

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

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

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

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

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

curl -u <sysAdminEmail>:<passwd> 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 <sysAdminEmail>:<passwd> 

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

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 <sysAdminEmail>:<passwd>

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

curl -u <sysAdminEmail>:<passwd> /
http://<ms_IP>:8080/v1/users/foo@bar.com/userroles

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

curl -X DELETE -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/o/<org_name>/userroles/<role>/users/foo@bar.com

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

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

  • ایجاد سازمان‌ها
  • افزودن مسیریاب‌ها، پردازشگرهای پیام، و مؤلفه‌های دیگر به نصب Edge
  • پیکربندی TLS/SSL
  • ایجاد سرپرست‌های سیستم بیشتر
  • انجام همه تکالیف سرپرست Edge

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

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

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

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

    نشانی ایمیل کاربر را برمی‌گرداند:
    [ " foo@bar.com " ]
  4. Check permissions of new user:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com/permissions

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


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

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

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

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

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

curl -u sysAdminEmail:passwd 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 UI استفاده کردید ویرایش کنید تا ویژگی‌های زیر را تنظیم کنید:
    ADMIN_EMAIL=emailAddressOfNewSysAdmin
    APIGEE_ADMINPW=pwOfNewSysAdmin

    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    توجه داشته باشید که باید ویژگی‌های SMTP را اضافه کنید زیرا همه ویژگی‌های UI بازنشانی می‌شوند.
  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 currentSysAdminEmail:passwd /
    http://<ms_IP>:8080/v1/users/currentSysAdminEmail /
    -d '{"emailId": "newSysAdminEmail", "lastName": "admin", "firstName": "admin"}'
  2. مراحل ۲، ۳، و ۴ از رویه قبلی را تکرار کنید تا فایل /opt/apigee/customer/defaults.sh را به‌روز کنید و Edge UI را به‌روز کنید.

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

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

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

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

  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 <sysAdminEmail>:<passwd> http://<ms-IP>:8080/v1/users

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

curl -u <sysAdminEmail>:<passwd> -X DELETE http://<ms-IP>:8080/v1/users/<userEmail>