عند استخدام سياسة 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