عند استخدام سياسة LDAP للمصادقة أو طلبات بحث DN (اسم النطاق)، تستخدم السياسة مورد LDAP من جهة Apigee يحتوي على تفاصيل الاتصال بموفّر LDAP. يوضّح هذا القسم كيفية إنشاء موارد LDAP وإدارتها من خلال واجهة برمجة التطبيقات.
إنشاء مورد LDAP
في ما يلي واجهة برمجة التطبيقات لإنشاء مورد 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