Gérer les ressources LDAP

Edge pour Private Cloud version 4.16.09

Lorsque vous utilisez la règle LDAP pour l'authentification ou les requêtes DN (http://apigee.com/docs/api-services/content/ldap-policy), la règle utilise une ressource LDAP côté Apigee contenant les détails de connexion à votre serveur LDAP un fournisseur de services agréé. Cette section explique comment créer et gérer des ressources LDAP via une API.

Créer une ressource LDAP

Voici l'API permettant de créer une ressource LDAP:

/v1/organizations/{org_name}/environments/{environment}/ldapresources

Vous trouverez ci-dessous une charge utile XML annotée qui décrit la configuration de la ressource LDAP. que vous envoyez pour créer la ressource:

<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>

Exemple

L'exemple suivant crée une ressource LDAP nommée 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>'

Répertorier toutes les ressources LDAP

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

Obtenir les détails d'une ressource LDAP

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

Mettre à jour une ressource 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>'

Supprimer une ressource LDAP

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