Administrar recursos de LDAP

Edge para nube privada v. 4.17.05

Cuando se usa la política de LDAP para la autenticación o consultas de DN (http://apigee.com/docs/api-services/content/ldap-policy), la política usa un recurso LDAP del lado de Apigee que contiene los detalles de conexión a tu proveedor de LDAP. En esta sección, se describe cómo crear y administrar recursos LDAP a través de una API.

Crea un recurso de LDAP

A continuación se muestra la API para crear un recurso LDAP:

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

A continuación, se incluye una carga útil XML anotada que describe la configuración del recurso LDAP que enviarás para crear el recurso:

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

Ejemplo

En el siguiente ejemplo, se crea un recurso de LDAP llamado 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>'

Enumerar todos los recursos LDAP

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

Obtener los detalles de un recurso LDAP

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

Actualizar un recurso de 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>'

Borrar un recurso LDAP

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