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

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

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

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

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

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

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

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

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

  1. کاربری در New Edge UI یا API ایجاد کنید.
  2. افزودن کاربر به نقش «sysadmin»:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      -X POST http://ms_IP:8080/v1/userroles/sysadmin/users -d 'id=foo@bar.com'
  3. مطمئن شوید که کاربر جدید در نقش «sysadmin» باشد:
    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 جدید» استفاده کرده‌اید ویرایش کنید تا ویژگی‌های زیر را تنظیم کنید: properties:
    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 را اضافه کنید زیرا همه ویژگی‌ها در New Edge UI بازنشانی می‌شوند.

  4. پیکربندی مجدد واسط کاربر New Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-management-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 و واسط کاربر New Edge به‌روز شود.

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

به‌عنوان سطح امنیتی بیشتر، می‌توانید دامنه ایمیل موردنیاز سرپرست سیستم Edge را مشخص کنید. هنگام افزودن سرپرست سیستم، اگر نشانی ایمیل کاربر در دامنه مشخص‌شده نباشد، افزودن کاربر به نقش «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 یا New 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