Saat menggunakan kebijakan LDAP untuk kueri autentikasi atau DN (Nama Domain), kebijakan tersebut menggunakan resource LDAP sisi Apigee yang berisi detail koneksi ke penyedia LDAP Anda. Bagian ini menjelaskan cara membuat dan mengelola resource LDAP melalui API.
Membuat resource LDAP
Berikut adalah API untuk membuat resource LDAP:
/v1/organizations/org_name/environments/environment_name/ldapresources
Berikut adalah payload XML yang dianotasi yang menjelaskan konfigurasi resource LDAP yang akan Anda kirim untuk membuat resource:
<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>
Contoh
Contoh berikut membuat resource LDAP bernama 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>'Mencantumkan semua Resource LDAP
curl https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/ldapresources \ -u apigee_email:password
Mendapatkan Detail Resource LDAP
curl https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/ldapresources/ldap1 \ -u apigee_email:password
Mengupdate resource 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>'Menghapus Resource LDAP
curl -X DELETE \ https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/ldapresources/ldap1 \ -u apigee_email:password