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

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 زیر برای ایجاد کاربر استفاده کنید:

> /<inst_root>/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 -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 را مشخص کنید. هنگام افزودن سرپرست سیستم، اگر نشانی ایمیل کاربر در دامنه مشخص‌شده نباشد، افزودن کاربر به نقش sysadmin ناموفق خواهد بود.

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

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

  1. management-server.properties را در ویرایشگر باز کنید:
    vi /<inst_root>/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» را بازراه‌اندازی کنید:
    /<inst_root>/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>