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

Edge for Private Cloud v. 4.17.05

سایت اسناد 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 <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
  • پیکربندی «امنیت لایه انتقال»/ پوسته ایمن
  • ایجاد سرپرست‌های سیستم اضافی
  • انجام همه تکالیف سرپرست Edge

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

می‌توانید کاربر را برای سرپرست سیستم در «واسط کاربر Edge» یا «میانای برنامه‌سازی کاربردی» ایجاد کنید. بااین‌حال، برای اختصاص دادن کاربر به نقش sysadmin باید از Edge API استفاده کنید. اختصاص دادن کاربر به نقش 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. بررسی اجازه‌های کاربر جدید:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com/permissions

    برمی‌گرداند:
    {
    "resourcePermission" : [ {
    "path" : "/",
    "permissions" : [ "get", "put", "delete" ]
    } ]
    }
  5. پس‌از افزودن سرپرست سیستم جدید، می‌توانید کاربر را به هر سازمانی اضافه کنید.
    توجه: کاربر سرپرست سیستم جدید نمی‌تواند تا زمانی که کاربر را به حداقل یک سازمان اضافه نکرده‌اید به «واسط کاربر Edge» وارد شود.
  6. اگر بعداً بخواهید کاربر را از نقش سرپرست سیستم بردارید، می‌توانید از API زیر استفاده کنید:
    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. برای تنظیم ADMIN_EMAIL روی نشانی ایمیل سرپرست سیستم جدید، /opt/apigee/customer/defaults.sh را ویرایش کنید.
  3. فایل پیکربندی بی‌صدایی را که برای نصب «میانای کاربری Edge» استفاده کرده‌اید ویرایش کنید تا ویژگی‌های زیر را تنظیم کنید:
    ADMIN_EMAIL=emailAddressOfNewSysAdmin
    APIGEE_ADMINPW=pwOfNewSysAdmin

    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 currentSysAdminEmail:passwd /
    http://<ms_IP>:8080/v1/users/currentSysAdminEmail /
    -d '{"emailId": "newSysAdminEmail", "lastName": "admin", "firstName": "admin"}'
  2. مراحل ۲، ۳، و ۴ را از رویه قبلی تکرار کنید تا فایل /opt/apigee/customer/defaults.sh و «میانای کاربری Edge» را به‌روزرسانی کنید.

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

برای افزایش سطح امنیت، می‌توانید دامنه ایمیل موردنیاز سرپرست سیستم 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

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

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

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