Quản lý người dùng, vai trò và quyền

Edge for Private Cloud phiên bản 4.17.05

Trang web tài liệu về Apigee có nhiều thông tin về cách quản lý vai trò và quyền của người dùng. Bạn có thể quản lý người dùng bằng cả giao diện người dùng Edge và API Quản lý; bạn chỉ có thể quản lý vai trò và quyền bằng API Quản lý.

Để biết thông tin về người dùng và cách tạo người dùng, hãy xem:

Nhiều thao tác mà bạn thực hiện để quản lý người dùng yêu cầu đặc quyền của quản trị viên hệ thống. Trong quá trình cài đặt Edge dựa trên đám mây, Apigee hoạt động với vai trò là quản trị viên hệ thống. Trong quá trình cài đặt Edge cho đám mây riêng tư, quản trị viên hệ thống của bạn phải thực hiện các nhiệm vụ này như mô tả bên dưới.

Thêm người dùng

Bạn có thể tạo người dùng bằng cách sử dụng Edge API, giao diện người dùng Edge hoặc lệnh Edge. Phần này mô tả cách sử dụng API Edge và các lệnh Edge. Để biết thông tin về cách tạo người dùng trong giao diện người dùng Edge, hãy xem bài viết Tạo người dùng chung.

Sau khi tạo người dùng trong một tổ chức, bạn phải chỉ định một vai trò cho người dùng đó. Vai trò xác định quyền truy cập của người dùng trên Edge.

Sử dụng lệnh sau để tạo người dùng bằng 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>'

Hoặc sử dụng lệnh Edge sau để tạo người dùng:

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

Trong đó, configFile chứa thông tin cần thiết để tạo người dùng:

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  

Sau đó, bạn có thể sử dụng lệnh gọi này để xem thông tin về người dùng:

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

Chỉ định người dùng vào một vai trò trong một tổ chức

Trước khi có thể làm bất cứ điều gì, người dùng mới phải được chỉ định một vai trò trong tổ chức. Bạn có thể chỉ định người dùng cho nhiều vai trò, bao gồm: orgadmin, businessuser, opsadmin, user hoặc cho một vai trò tuỳ chỉnh được xác định trong tổ chức.

Khi bạn chỉ định một người dùng vào một vai trò trong một tổ chức, người dùng đó sẽ tự động được thêm vào tổ chức. Chỉ định một người dùng cho nhiều tổ chức bằng cách chỉ định họ vào một vai trò trong mỗi tổ chức.

Sử dụng lệnh sau để chỉ định người dùng vào một vai trò trong tổ chức:

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> 

Lệnh gọi này cho thấy tất cả vai trò được chỉ định cho người dùng. Nếu bạn muốn thêm người dùng nhưng chỉ hiển thị vai trò mới, hãy sử dụng lệnh gọi sau:

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>

Bạn có thể xem vai trò của người dùng bằng lệnh sau:

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

Để xoá người dùng khỏi một tổ chức, hãy xoá tất cả vai trò của người dùng đó trong tổ chức. Sử dụng lệnh sau để xoá vai trò của người dùng:

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

Thêm quản trị viên hệ thống

Quản trị viên hệ thống có thể:

  • Tạo tổ chức
  • Thêm Bộ định tuyến, Bộ xử lý thông báo và các thành phần khác vào bản cài đặt Edge
  • Định cấu hình TLS/SSL
  • Tạo thêm quản trị viên hệ thống
  • Thực hiện tất cả các nhiệm vụ quản trị Edge

Mặc dù chỉ có một người dùng là người dùng mặc định cho các tác vụ quản trị, nhưng có thể có nhiều quản trị viên hệ thống. Bất kỳ người dùng nào có vai trò sysadmin đều có toàn quyền đối với tất cả tài nguyên.

Bạn có thể tạo người dùng cho quản trị viên hệ thống trong API hoặc giao diện người dùng Edge. Tuy nhiên, bạn phải sử dụng Edge API để chỉ định người dùng vào vai trò sysadmin. Bạn không thể chỉ định người dùng vào vai trò sysadmin trong giao diện người dùng Edge.

Cách thêm quản trị viên hệ thống:

  1. Tạo người dùng trong giao diện người dùng hoặc API Edge.
  2. Thêm người dùng vào vai trò sysadmin:
    curl -u <sysAdminEmail>:<passwd> \
    -X POST http://<ms_IP>:8080/v1/userroles/sysadmin/users \
    -d 'id=foo@bar.com'
  3. Đảm bảo người dùng mới có vai trò quản trị viên hệ thống:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/userroles/sysadmin/users

    Trả về địa chỉ email của người dùng:
    [ " foo@bar.com " ]
  4. Kiểm tra quyền của người dùng mới:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com/permissions

    Trả về:
    {
    "resourcePermission" : [ {
    "path" : "/",
    "permissions" : [ "get", "put", "delete" ]
    } ]
    }
  5. Sau khi thêm quản trị viên hệ thống mới, bạn có thể thêm người dùng vào bất kỳ tổ chức nào.
    Lưu ý: Người dùng quản trị viên hệ thống mới không thể đăng nhập vào giao diện người dùng Edge cho đến khi bạn thêm người dùng đó vào ít nhất một tổ chức.
  6. Nếu sau này muốn xoá người dùng khỏi vai trò quản trị viên hệ thống, bạn có thể sử dụng API sau:
    curl -X DELETE -u <sysadminEmail:pword>
    http://<ms_IP>:8080/v1/userroles/sysadmin/users/foo@bar.com


    Xin lưu ý rằng lệnh gọi này chỉ xoá người dùng khỏi vai trò, chứ không xoá người dùng.

Thay đổi người dùng quản trị viên hệ thống mặc định

Khi cài đặt Edge, bạn chỉ định địa chỉ email của quản trị viên hệ thống. Edge sẽ tạo một người dùng có địa chỉ email đó và đặt người dùng đó làm quản trị viên hệ thống mặc định. Sau này, bạn có thể thêm quản trị viên hệ thống khác như mô tả ở trên.

Phần này mô tả cách thay đổi quản trị viên hệ thống mặc định thành một người dùng khác, và cách thay đổi địa chỉ email của tài khoản người dùng cho quản trị viên hệ thống mặc định hiện tại.

Để xem danh sách người dùng hiện được định cấu hình làm quản trị viên hệ thống, hãy sử dụng lệnh gọi API sau:

curl -u sysAdminEmail:passwd http://<ms_IP>:8080/v1/userroles/sysadmin/users

Để xác định quản trị viên hệ thống mặc định hiện tại, hãy xem tệp /opt/apigee/customer/defaults.sh. Tệp này chứa dòng sau đây cho biết địa chỉ email của quản trị viên hệ thống mặc định hiện tại:

ADMIN_EMAIL=foo@bar.com

Cách thay đổi quản trị viên hệ thống mặc định thành một người dùng khác:

  1. Tạo một quản trị viên hệ thống mới như mô tả ở trên hoặc đảm bảo rằng tài khoản người dùng của quản trị viên hệ thống mới đã được định cấu hình làm quản trị viên hệ thống.
  2. Chỉnh sửa /opt/apigee/customer/defaults.sh để đặt ADMIN_EMAIL thành địa chỉ email của quản trị viên hệ thống mới.
  3. Chỉnh sửa tệp cấu hình im lặng mà bạn đã dùng để cài đặt giao diện người dùng Edge nhằm đặt các thuộc tính sau:
    ADMIN_EMAIL=emailAddressOfNewSysAdmin
    APIGEE_ADMINPW=pwOfNewSysAdmin

    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    Lưu ý rằng bạn phải thêm các thuộc tính SMTP vì tất cả thuộc tính trên giao diện người dùng đều được đặt lại.
  4. Định cấu hình lại giao diện người dùng 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

Nếu chỉ muốn thay đổi địa chỉ email của tài khoản người dùng cho quản trị viên hệ thống mặc định hiện tại, trước tiên, bạn cần cập nhật tài khoản người dùng để đặt địa chỉ email mới, sau đó thay đổi địa chỉ email của quản trị viên hệ thống mặc định:

  1. Cập nhật tài khoản người dùng của người dùng quản trị viên hệ thống mặc định hiện tại bằng một địa chỉ email mới:
    > 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. Lặp lại các bước 2, 3 và 4 trong quy trình trước để cập nhật tệp /opt/apigee/customer/defaults.sh và cập nhật giao diện người dùng Edge.

Chỉ định miền email của quản trị viên hệ thống

Để tăng cường bảo mật, bạn có thể chỉ định miền email bắt buộc của quản trị viên hệ thống Edge. Khi thêm quản trị viên hệ thống, nếu địa chỉ email của người dùng không nằm trong miền được chỉ định, thì việc thêm người dùng vào vai trò sysadmin sẽ không thành công.

Theo mặc định, miền bắt buộc sẽ trống, nghĩa là bạn có thể thêm bất kỳ địa chỉ email nào vào vai trò sysadmin.

Cách đặt miền email:

  1. Mở trong trình chỉnh sửa management-server.properties:
    vi /opt/apigee/customer/application/management-server.properties

    Nếu tệp này không tồn tại, hãy tạo tệp.
  2. Đặt thuộc tính conf_security_rbac.global.roles.allowed.domains thành danh sách các miền được phép, phân tách bằng dấu phẩy. Ví dụ:
    conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
  3. Lưu thay đổi.
  4. Khởi động lại Máy chủ quản lý Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

    Nếu bạn cố gắng thêm người dùng vào vai trò quản trị viên hệ thống và địa chỉ email của người dùng không nằm trong một trong các miền được chỉ định, thì thao tác thêm sẽ không thành công.

Xoá người dùng

Bạn có thể tạo người dùng bằng API Edge hoặc giao diện người dùng Edge. Tuy nhiên, bạn chỉ có thể xoá người dùng bằng API.

Để xem danh sách người dùng hiện tại, bao gồm cả địa chỉ email, hãy sử dụng lệnh cURL sau:

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

Sử dụng lệnh cURL sau để xoá người dùng:

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