การจัดการผู้ใช้ บทบาท และสิทธิ์

Edge for Private Cloud เวอร์ชัน 4.17.05

เว็บไซต์เอกสารประกอบของ Apigee มีข้อมูลมากมายเกี่ยวกับการจัดการบทบาทและสิทธิ์ของผู้ใช้ ผู้ใช้สามารถจัดการได้โดยใช้ทั้ง Edge UI และ Management API ส่วนบทบาทและสิทธิ์จะจัดการได้โดยใช้ Management API เท่านั้น

โปรดดูข้อมูลเกี่ยวกับผู้ใช้และการสร้างผู้ใช้ที่หัวข้อต่อไปนี้

การดำเนินการหลายอย่างที่คุณทำเพื่อจัดการผู้ใช้ต้องใช้สิทธิ์ของผู้ดูแลระบบ ในการติดตั้ง Edge บนระบบคลาวด์ Apigee จะทำหน้าที่เป็นผู้ดูแลระบบ ในการติดตั้ง Edge for Private Cloud ผู้ดูแลระบบต้องทำงานเหล่านี้ตามที่อธิบายไว้ด้านล่าง

การเพิ่มผู้ใช้

คุณสร้างผู้ใช้ได้โดยใช้ Edge API, Edge UI หรือคำสั่ง Edge ส่วนนี้จะอธิบายวิธีใช้ Edge API และคำสั่ง Edge ดูข้อมูลเกี่ยวกับการสร้างผู้ใช้ใน Edge UI ได้ที่หัวข้อการสร้างผู้ใช้ทั่วโลก

หลังจากสร้างผู้ใช้ในองค์กรแล้ว คุณต้องมอบหมายบทบาทให้กับผู้ใช้ บทบาทจะกำหนดสิทธิ์การเข้าถึงของผู้ใช้ใน 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

การเพิ่มผู้ดูแลระบบ

ผู้ดูแลระบบจะทำสิ่งต่อไปนี้ได้

  • สร้างองค์กร
  • เพิ่มเราเตอร์, Message Processor และคอมโพเนนต์อื่นๆ ลงในการติดตั้ง Edge
  • กำหนดค่า TLS/SSL
  • สร้างผู้ดูแลระบบเพิ่มเติม
  • ทำงานด้านการดูแลระบบ Edge ทั้งหมด

แม้ว่าจะมีผู้ใช้เพียงรายเดียวที่เป็นผู้ใช้เริ่มต้นสำหรับงานด้านการดูแลระบบ แต่ก็สามารถมีผู้ดูแลระบบได้มากกว่า 1 คน ผู้ใช้ที่เป็นสมาชิกของบทบาท sysadmin จะมีสิทธิ์เต็มรูปแบบในทรัพยากรทั้งหมด

คุณสามารถสร้างผู้ใช้สำหรับผู้ดูแลระบบได้ใน Edge UI หรือ API อย่างไรก็ตาม คุณต้องใช้ Edge API เพื่อมอบหมายบทบาทsysadminให้กับผู้ใช้ การมอบหมายบทบาทsysadminให้กับผู้ใช้ไม่สามารถทำได้ใน Edge UI

วิธีเพิ่มผู้ดูแลระบบ

  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 UI ไม่ได้จนกว่าคุณจะเพิ่มผู้ใช้ลงในองค์กรอย่างน้อย 1 องค์กร
  6. หากต้องการนำผู้ใช้ออกจากบทบาทผู้ดูแลระบบในภายหลัง คุณสามารถใช้ API ต่อไปนี้
    curl -X DELETE -u <sysadminEmail:pword>
    http://<ms_IP>:8080/v1/userroles/sysadmin/users/foo@bar.com


    โปรดทราบว่าการเรียกนี้จะนำผู้ใช้ออกจากบทบาทเท่านั้น แต่ไม่ได้ลบผู้ใช้

การเปลี่ยนผู้ใช้ที่เป็นผู้ดูแลระบบเริ่มต้น

เมื่อติดตั้ง Edge คุณจะต้องระบุอีเมลของผู้ดูแลระบบ Edge จะสร้างผู้ใช้ด้วยอีเมลดังกล่าว และตั้งค่าผู้ใช้รายนั้นให้เป็นผู้ดูแลระบบเริ่มต้น คุณสามารถเพิ่มผู้ดูแลระบบเพิ่มเติมได้ในภายหลังตามที่อธิบายไว้ข้างต้น

ส่วนนี้จะอธิบายวิธีเปลี่ยนผู้ดูแลระบบเริ่มต้นเป็นผู้ใช้รายอื่น และวิธีเปลี่ยนอีเมลของบัญชีผู้ใช้สำหรับผู้ดูแลระบบเริ่มต้นคนปัจจุบัน

หากต้องการดูรายชื่อผู้ใช้ที่กำหนดค่าเป็นผู้ดูแลระบบในปัจจุบัน ให้ใช้การเรียก API ต่อไปนี้

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 UI ใหม่:
    > /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. ทำซ้ำขั้นตอนที่ 2, 3 และ 4 จากขั้นตอนก่อนหน้าเพื่ออัปเดตไฟล์ /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 Management Server:
    /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>