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

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

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

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

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

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

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

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

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

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

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

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

  1. สร้างผู้ใช้ใน UI ใหม่ของ Edge หรือ 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. แก้ไขไฟล์การกำหนดค่าแบบเงียบที่คุณใช้ติดตั้ง UI ใหม่ของ Edge เพื่อตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้
    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 ใหม่ของ Edge จะถูกรีเซ็ต

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