การจัดการทรัพยากร LDAP

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

สร้างทรัพยากร LDAP

ต่อไปนี้เป็น API สำหรับการสร้างทรัพยากร LDAP

/v1/organizations/org_name/environments/environment_name/ldapresources

ต่อไปนี้เป็นเพย์โหลด XML ที่มีคำอธิบายประกอบซึ่งอธิบายการกำหนดค่าทรัพยากร LDAP ที่จะส่งเพื่อสร้างทรัพยากร

<LdapResource name="ldap1">
  <Connection>
    <Hosts>
      <Host port="636">foo.com</Host> <!-- port is optional: defaults to 389 for ldap:// and 636 for ldaps:// -->
    </Hosts>
    <SSLEnabled>false</SSLEnabled> <!-- optional, defaults to false -->
    <Version>3</Version> <!-- optional, defaults to 3-->
    <Authentication>simple</Authentication> <!-- optional, only simple supported -->
    <ConnectionProvider>jndi|unboundid</ConnectionProvider> <!-- required -->
    <ServerSetType>single|round robin|failover</ServerSetType> <!-- not applicable for jndi -->
    <LdapConnectorClass>com.custom.ldap.MyProvider</LdapConnectorClass> <!-- If using a custom LDAP provider, the fully qualified class -->
  </Connection>
  <ConnectPool enabled="true"> <!-- enabled is optional, defaults to true -->
    <Timeout>30000</Timeout> <!-- optional, in milliseconds; if not set, no timeout -->
    <Maxsize>50</Maxsize> <!-- optional; if not set, no max connections -->
    <Prefsize>30</Prefsize> <!-- optional; if not set, no pref size -->
    <Initsize></Initsize> <!-- optional; if not set, defaults to 1 -->
    <Protocol></Protocol> <!-- optional; if not set, defaults to 'ssl plain' -->
  </ConnectPool>
  <Admin>
    <DN>cn=admin,dc=apigee,dc=com</DN>
    <Password>secret</Password>
  </Admin>
</LdapResource>

ตัวอย่าง

ตัวอย่างต่อไปนี้สร้างทรัพยากร LDAP ที่มีชื่อว่า ldap1:

curl -X POST -H "Content-Type: application/xml" \
  https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/ldapresources \
  -u apigee_email:password -d \
  '<LdapResource name="ldap1">
    <Connection>
      <Hosts>
        <Host>foo.com</Host>
      </Hosts>
      <SSLEnabled>false</SSLEnabled>
      <Version>3</Version>
      <Authentication>simple</Authentication>
      <ConnectionProvider>unboundid</ConnectionProvider>
      <ServerSetType>round robin</ServerSetType>
    </Connection>
    <ConnectPool enabled="true">
      <Timeout>30000</Timeout>
      <Maxsize>50</Maxsize>
      <Prefsize>30</Prefsize>
      <Initsize></Initsize>
      <Protocol></Protocol>
    </ConnectPool>
    <Admin>
      <DN>cn=admin,dc=apigee,dc=com</DN>
      <Password>secret</Password>
    </Admin>
  </LdapResource>'

แสดงรายการทรัพยากร LDAP ทั้งหมด

curl https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/ldapresources \
  -u apigee_email:password

รับรายละเอียดของทรัพยากร LDAP

curl https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/ldapresources/ldap1 \
  -u apigee_email:password

อัปเดตทรัพยากร LDAP

curl -X POST -H "Content-Type: application/xml" \
  https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/ldapresources/ldap1 \
  -u apigee_email:password -d \
  '<LdapResource name="ldap1">
    <Connection>
      <Hosts>
        <Host>foo.com</Host>
      </Hosts>
      <SSLEnabled>false</SSLEnabled>
      <Version>3</Version>
      <Authentication>simple</Authentication>
      <ConnectionProvider>unboundid</ConnectionProvider>
      <ServerSetType>round robin</ServerSetType>
    </Connection>
    <ConnectPool enabled="true">
      <Timeout>50000</Timeout>
      <Maxsize>50</Maxsize>
      <Prefsize>30</Prefsize>
      <Initsize></Initsize>
      <Protocol></Protocol>
    </ConnectPool>
    <Admin>
      <DN>cn=admin,dc=apigee,dc=com</DN>
      <Password>secret</Password>
    </Admin>
  </LdapResource>'

ลบทรัพยากร LDAP

curl -X DELETE \
  https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/ldapresources/ldap1 \
  -u apigee_email:password