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

Edge for Private Cloud v4.18.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 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

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

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

  • สร้างองค์กร
  • เพิ่มเราเตอร์, 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 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 จะสร้างผู้ใช้ด้วยอีเมลดังกล่าว และตั้งค่าผู้ใช้รายนั้นให้เป็นผู้ดูแลระบบเริ่มต้น คุณสามารถเพิ่มผู้ดูแลระบบเพิ่มเติมได้ในภายหลังตามที่อธิบายไว้ข้างต้น

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

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

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 UI เพื่อตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้
    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 ไว้ด้วยเนื่องจากระบบจะรีเซ็ตพร็อพเพอร์ตี้ทั้งหมดใน 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 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. ทำซ้ำขั้นตอนที่ 2, 3 และ 4 จากขั้นตอนก่อนหน้าเพื่ออัปเดตไฟล์ /opt/apigee/customer/defaults.sh และอัปเดต Edge UI

การระบุโดเมนอีเมลของผู้ดูแลระบบ

คุณสามารถระบุโดเมนอีเมลที่จำเป็นของผู้ดูแลระบบ 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 Management Server โดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

    หากคุณพยายามเพิ่มผู้ใช้ในบทบาท "sysadmin" และอีเมลของผู้ใช้ไม่ได้อยู่ในโดเมนที่ระบุ การเพิ่มจะดำเนินการไม่สำเร็จ

การลบผู้ใช้

คุณสร้างผู้ใช้ได้โดยใช้ Edge API หรือ 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