การเปิดใช้การตรวจสอบสิทธิ์ภายนอก

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

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

ข้อกำหนดเบื้องต้น

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

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

    ชื่อผู้ใช้: edgeuser@mydomain.com
    รหัสผ่าน: Secret123

    จากนั้นผู้ใช้ edgeuser@mydomain.com ที่ใช้รหัสผ่าน ต้องมี Secret123 ด้วย ใน LDAP ภายนอก
  • หากคุณเรียกใช้คลัสเตอร์เซิร์ฟเวอร์การจัดการ โปรดทราบว่าคุณต้องดำเนินการตามทุกขั้นตอน ในเอกสารนี้สำหรับเซิร์ฟเวอร์การจัดการแต่ละเครื่อง

การกำหนดค่าการตรวจสอบสิทธิ์ภายนอก

กิจกรรมหลักที่คุณจะดำเนินการคือการกำหนดค่าไฟล์ management-server.properties กิจกรรมนี้รวมถึงการหยุดและเริ่มต้น Edge Management Server เพื่อตัดสินใจว่าคุณ ต้องการใช้การเชื่อมโยงโดยตรงหรือโดยอ้อม การเข้ารหัสข้อมูลเข้าสู่ระบบที่มีความละเอียดอ่อน และข้อมูลอื่นๆ ที่เกี่ยวข้อง งาน

  1. สำคัญ: ตัดสินใจทันทีว่าตั้งใจจะใช้ทางอ้อมหรือทางตรง วิธีการตรวจสอบสิทธิ์การเชื่อมโยง การตัดสินใจนี้จะส่งผลต่อการกำหนดค่าในบางด้าน โปรดดู การตรวจสอบสิทธิ์ภายนอก
  2. สำคัญ: คุณต้องทำตามขั้นตอนการกำหนดค่าเหล่านี้ในการจัดการ Apigee Edge แต่ละรายการ เซิร์ฟเวอร์ (หากคุณใช้มากกว่า 1 เครื่อง)
  3. เปิด /opt/apigee/customer/application/management-server.properties ในเครื่องมือแก้ไขข้อความ หากไม่มีไฟล์ ให้สร้างขึ้นมา
  4. เพิ่มบรรทัดต่อไปนี้ หมายเหตุ: โปรดตรวจสอบว่าไม่มีการเว้นวรรคต่อท้าย บรรทัด

    conf_security_authentication.user.store=externalized.authentication

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

    โดยตรง ตัวอย่างการกำหนดค่าที่มีผลผูกพัน
    ทางอ้อม ตัวอย่างการกำหนดค่าที่มีผลผูกพัน
  6. รีสตาร์ทเซิร์ฟเวอร์การจัดการ:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server รีสตาร์ท
  7. ตรวจสอบว่าเซิร์ฟเวอร์ทำงานอยู่:
    > /opt/apigee/apigee-service/bin/apigee-all สถานะ
  8. สำคัญ: คุณต้องกำหนดค่าเพิ่มเติมภายใต้หัวข้อใดหัวข้อหนึ่ง (หรือทั้ง 2 อย่าง) ในกรณีดังต่อไปนี้ (ก) หากคุณต้องการให้ผู้ใช้เข้าสู่ระบบโดยใช้ชื่อผู้ใช้ที่ ไม่ใช่ที่อยู่อีเมล ในกรณีนี้ ผู้ใช้ที่ดูแลระบบของคุณจะต้องตรวจสอบสิทธิ์ชื่อผู้ใช้ด้วย และ/หรือ (ข) ถ้ารหัสผ่านสำหรับบัญชีผู้ใช้ sysadmin ภายนอก LDAP ต่างจากรหัสผ่านที่คุณกำหนดค่าไว้เมื่อติดตั้ง Apigee Edge เป็นครั้งแรก Private Cloud โปรดดูต้องกำหนดค่าสำหรับ ข้อมูลเข้าสู่ระบบของผู้ดูแลระบบที่ต่างกัน

การเชื่อมโยงโดยตรง ตัวอย่างการกำหนดค่า

## The first property is always required to enable the external authorization feature. Do not change it.
conf_security_externalized.authentication.implementation.class=com.apigee.rbac.impl.LdapAuthenticatorImpl

## Identify the type of binding:
# Set to "true" for direct binding
# Set to "false" for indirect binding. 
conf_security_externalized.authentication.bind.direct.type=true

## The next seven properties are needed regardless of direct or indirect binding. You need to configure these per your external authentication installation. 
## The IP or domain for your external LDAP instance. 
conf_security_externalized.authentication.server.url=ldap://localhost:389

## Your external LDAP server version.
conf_security_externalized.authentication.server.version=3

## The server timeout in milliseconds. 
conf_security_externalized.authentication.server.conn.timeout=50000

## Change these baseDN values to match your external LDAP service. This attribute value will be provided by your external LDAP administrator, and may have more or fewer dc elements depending on your setup.
conf_security_externalized.authentication.user.store.baseDN=dc=apigee,dc=com

## Do not change this search string. It is used internally. 
conf_security_externalized.authentication.user.store.search.query=(&(${userAttribute}=${userId}))

## Identifies the external LDAP property you want to bind against for Authentication. For example if you are binding against an email address, this would typically be in the userPrincipalName property in your external LDAP instance. Alternatively if you are binding against the user’s ID, this would typically be in the sAMAccountName property:
conf_security_externalized.authentication.user.store.user.attribute=userPrincipalName

## The LDAP attribute where the user email value is stored. For direct binding, set it to userPrincipalName.
conf_security_externalized.authentication.user.store.user.email.attribute=userPrincipalName

## ONLY needed for DIRECT binding.
## The direct.bind.user.directDN property defines the string that is used for the bind against the external authentication service. Ensure it is set as follows:
conf_security_externalized.authentication.direct.bind.user.directDN=${userDN}

การเชื่อมโยงโดยอ้อม ตัวอย่างการกำหนดค่า

## Required to enable the external authorization feature. Do not change it.
conf_security_externalized.authentication.implementation.class=com.apigee.rbac.impl.LdapAuthenticatorImpl

## Identifies the type of binding:
# Set to "true" for direct binding
# Set to "false" for indirect binding. 
conf_security_externalized.authentication.bind.direct.type=false

## The next seven properties are needed regardless of direct or indirect binding. You need to configure these per your external LDAP installation. 
## The IP or domain for your external LDAP instance. 
conf_security_externalized.authentication.server.url=ldap://localhost:389

## Replace with your external LDAP server version.
conf_security_externalized.authentication.server.version=3

## Set the server timeout in milliseconds. 
conf_security_externalized.authentication.server.conn.timeout=50000

## Change these baseDN values to match your external LDAP service. This attribute value will be provided by your external LDAP administrator, and may have more or fewer dc elements depending on your setup.
conf_security_externalized.authentication.user.store.baseDN=dc=apigee,dc=com

## Do not change this search string. It is used internally. conf_security_externalized.authentication.user.store.search.query=(&(${userAttribute}=${userId}))
## Identifies the external LDAP property you want to bind against for Authentication. For example if you are binding against an email address, this would typically be in the userPrincipalName property in your external LDAP instance. Alternatively if you are binding against the user’s ID, this would typically be in the sAMAccountName property. See also "Configuration required for different sysadmin credentials".
conf_security_externalized.authentication.user.store.user.attribute=userPrincipalName

## Used by Apigee to perform the Authorization step and currently, Apigee only supports email address for Authorization. Make sure to set it to the attribute in your external LDAP that stores the user’s email address. Typically this will be in the userPrincipalName property. 
conf_security_externalized.authentication.user.store.user.email.attribute=userPrincipalName

## The external LDAP username (for a user with search privileges on the external LDAP) and password and whether the password is encrypted. You must also set the attribute externalized.authentication.bind.direct.type to false.
## The password attribute can be encrypted or in plain text. See "Indirect binding only: Encrypting the external LDAP user’s password" for encryption instructions. Set the password.encrypted attribute to "true" if the password is encrypted. Set it to "false" if the password is in plain text.
conf_security_externalized.authentication.indirect.bind.server.admin.dn=myExtLdapUsername
conf_security_externalized.authentication.indirect.bind.server.admin.password=myExtLdapPassword
conf_security_externalized.authentication.indirect.bind.server.admin.password.encrypted=true

การทดสอบการติดตั้ง

  1. ตรวจสอบว่าเซิร์ฟเวอร์ทำงานอยู่:
    > /opt/apigee/apigee-service/bin/apigee-all สถานะ
  2. เรียกใช้คำสั่งนี้เพื่อระบุชุดผู้ดูแลระบบส่วนกลางของ Apigee Edge ข้อมูลเข้าสู่ระบบ การเรียก API ที่เราจะทดสอบจะทำได้โดย Edge เท่านั้น sysadmin.

    สำคัญ: ข้อมูลเข้าสู่ระบบที่เหมือนกันต้องมีอยู่ในบัญชี LDAP ภายนอกของคุณ หากยังไม่มี คุณต้องเพิ่มตอนนี้ โปรดทราบว่าชื่อผู้ใช้มักจะเป็นที่อยู่อีเมล อย่างไรก็ตาม การตั้งค่าการตรวจสอบสิทธิ์ภายนอกจะขึ้นอยู่กับวิธีที่คุณกำหนดค่าการตรวจสอบสิทธิ์ภายนอก ตามที่อธิบายไว้ก่อนหน้านี้ใน เอกสาร
    &gt; Curl - V http://<management-server-ip>:8080/v1/o -u <ชื่อผู้ใช้ Sysadmin>

    ตัวอย่างเช่น
    &gt; Curl - V http://192.168.52.100:8080/v1/o -u jdoe@mydomain.com
  3. ป้อนรหัสผ่านเมื่อได้รับข้อความแจ้ง

    ถ้าคำสั่งแสดงสถานะ 200 และรายการองค์กร แสดงว่าการกำหนดค่าถูกต้อง คำสั่งนี้จะยืนยันว่าการเรียก API ไปยังเซิร์ฟเวอร์การจัดการ Edge สำเร็จแล้ว ผ่านการตรวจสอบสิทธิ์ผ่านระบบ LDAP ภายนอก