LDAP リソースの管理

LDAP ポリシーを認証または DN(ドメイン名)クエリに使用する場合、このポリシーは、LDAP プロバイダへの接続の詳細を含む Apigee 側の LDAP リソースを使用します。このセクションでは、API を使用して LDAP リソースを作成および管理する方法について説明します。

LDAP リソースを作成する

以下は、LDAP リソースを作成するための API を示しています。

/v1/organizations/org_name/environments/environment_name/ldapresources

以下は、リソースを作成するために送信する LDAP リソース設定を記述するアノテーション付き XML ペイロードを示しています。

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

次の例では、ldap1 という名前の LDAP リソースを作成します。

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