LDAP
LDAP コネクタによって、汎用の LDAP サーバーを構成できます。
サポート対象のバージョン
このコネクタは、LDAP バージョン 2 と 3 をサポートしています。
始める前に
LDAP コネクタを使用する前に、次の作業を行います。
- Google Cloud プロジェクトで次の操作を行います。
- ネットワーク接続が設定されていることを確認します。ネットワーク パターンの詳細については、ネットワーク接続をご覧ください。
- コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
- コネクタに使用するサービス アカウントに、次の IAM ロールを付与します。
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
サービス アカウントは特別なタイプの Google アカウントで、Google API のデータにアクセスするのに認証を受ける必要がある人間以外のユーザーを表します。サービス アカウントがない場合は、サービス アカウントを作成する必要があります。詳細については、サービス アカウントを作成するをご覧ください。
- 次のサービスを有効にします。
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
サービスを有効にする方法については、サービスを有効にするをご覧ください。
以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。
コネクタを構成する
コネクタを構成するには、データソース(バックエンド システム)への接続を作成する必要があります。接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。
- Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。
- [+ 新規作成] をクリックして [接続の作成] ページを開きます。
- [ロケーション] セクションで、接続のロケーションを選択します。
- リージョン: プルダウン リストからロケーションを選択します
サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。
- [NEXT] をクリックします。
- リージョン: プルダウン リストからロケーションを選択します
- [接続の詳細] セクションで、次の操作を行います。
- コネクタ: 使用可能なコネクタのプルダウン リストから [LDAP] を選択します。
- コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
- [接続名] フィールドに、接続インスタンスの名前を入力します。
接続名は次の条件を満たす必要があります。
- 接続名には英字、数字、ハイフンを使用できます。
- 文字は小文字のみを使用できます。
- 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
- 接続名は 49 文字以内で指定してください。
- 必要に応じて、接続インスタンスの [説明] を入力します。
- 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトのログレベルは
Error
に設定されています。 - サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
- 必要に応じて、接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- Base DN: 識別名の基本部分。結果を特定のサブツリーに制限するために使用されます。
- 認証メカニズム: LDAP サーバーへの接続時に使用する認証メカニズム。
- Follow Referrals: LDAP サーバーから返された LDAP 参照をフォローするかどうか。
- わかりやすい GUID: 人が読める形式で GUID 属性値を返すかどうか。
- わかりやすい SID: 人が読める形式で SID 属性値を返すかどうか。
- LDAP Version: サーバーとの接続とコミュニケーションに使用される LDAP のバージョンです。
- Scope: 検索のスコープをサブツリー全体(BaseDN とそのすべての 子孫)、単一のレベル(BaseDN とその直接の子孫)、またはベース オブジェクト(BaseDN のみ)に制限するかどうか。
- 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
- [NEXT] をクリックします。
- [宛先] セクションに、接続するリモートホスト(バックエンド システム)の詳細を入力します。
- 宛先の種類: 宛先の種類を選択します。
- リストから [ホストアドレス] を選択し、宛先のホスト名または IP アドレスを指定します。
- バックエンド システムへのプライベート接続を確立する場合は、リストからエンドポイント アタッチメントを選択し、次にエンドポイント アタッチメントリストから必要なエンドポイント アタッチメントを選択します。
セキュリティをさらに強化してバックエンドシステムへのパブリック接続を確立する場合は、接続用の静的アウトバウンド IP アドレスの構成を検討してから、特定の静的 IP アドレスのみを許可リストに登録するようファイアウォール ルールを構成します。
他の宛先を入力するには、[+ 宛先を追加] をクリックします。
- [NEXT] をクリックします。
- 宛先の種類: 宛先の種類を選択します。
-
[認証] セクションで、認証の詳細を入力します。
- [認証タイプ] を選択し、関連する詳細を入力します。
LDAP 接続でサポートされる認証タイプは次のとおりです。
- ユーザー名とパスワードを指定する
- [NEXT] をクリックします。
これらの認証タイプを構成する方法については、認証を構成するをご覧ください。
- [認証タイプ] を選択し、関連する詳細を入力します。
- Review: 接続と認証の詳細を確認します。
- [作成] をクリックします。
認証を構成する
使用する認証に基づいて詳細を入力します。
-
ユーザー名とパスワード
- ユーザー名: コネクタのユーザー名
- パスワード: コネクタに関連付けられたパスワードを含む Secret Manager の Secret。
エンティティ、オペレーション、アクション
すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。
- エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。
ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、
Entities
リストは空になります。 - オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。
使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがいずれかのエンティティ オペレーションをサポートしていない場合、サポートされていないオペレーションは
Operations
リストに含まれません。 - アクション: コネクタ インターフェースを介して統合で使用できる主要な関数の一つです。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。通常、アクションには入力パラメータと出力パラメータがあります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、
Actions
リストが空になります。
アクション
このセクションでは、LDAP コネクタでサポートされているすべてのアクションを一覧表示します。
MoveToDN アクション
このアクションは、オブジェクトをある DN(識別名)から別の DN に移動します。
MoveToDN アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
DN | 文字列 | ○ | LDAP サーバーで移動するオブジェクトの現在の DN。例:CN=Google Cloud,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com |
NewParentDN | 文字列 | ○ | オブジェクトの新しい親 DN。例:OU=Mysore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com |
DownloadFile アクションの出力パラメータ
このアクションは、結果を示すレスポンスの本文でステータス 200(OK)を返します。
MoveToDN
アクションの構成方法については、アクションの例をご覧ください。
GetAttributes アクション
このアクションは、DN のすべての属性名と値を取得します。
GetAttributes アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
DN | 文字列 | ○ | 目的の LDAP オブジェクトの識別名。指定しない場合、接続文字列の BaseDN が使用されます。 |
GetAttributes アクションの出力パラメータ
このアクションは、結果を示すレスポンスの本文でステータス 200(OK)を返します。
GetAttributes
アクションの構成方法については、アクションの例をご覧ください。
AddMembersToGroup アクション
このアクションでは、ユーザーをグループに追加します。
GetAttributes アクションの入力パラメータ
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
GroupId | 文字列 | ○ | ユーザーを追加するグループの ID。 |
UserDNs | 文字列 | ○ | UserDN は、グループに追加するユーザーの DN を含む一時テーブルを集計します。値はユーザー レコードの DN にする必要があります。 |
AddMembersToGroup アクションの出力パラメータ
このアクションは、結果を示すレスポンスの本文でステータス 200(OK)を返します。
AddMembersToGroup
アクションの構成方法については、アクションの例をご覧ください。
アクションの例
このセクションでは、このコネクタでいくつかのアクションを実行する方法について説明します。
例 - オブジェクトを 1 つの DN から別の DN に移動する
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
MoveToDN
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "DN": "CN=Google Cloud,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com", "NewParentDN": "OU=Mysore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com" }
この例では、オブジェクトをある DN から別の DN に移動します。アクションが成功すると、コネクタタスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": null, "result": "[ok]", "modified": "true", "rss:title": "The movement was successful.", "resultcode": "0" }]
例 - DN の属性を取得する
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
GetAttributes
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "DN": "CN=Bangalore user,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com" }
この例では、指定した DN の属性を取得します。アクションが成功すると、コネクタタスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "AttributeName": "_op", "AttributeValue": "ldapadoGetAttributes" }, { "AttributeName": "usncreated", "AttributeValue": "36006" }, { "AttributeName": "countrycode", "AttributeValue": "0" }, { "AttributeName": "badpwdcount", "AttributeValue": "0" }, { "AttributeName": "dn", "AttributeValue": "" }, { "AttributeName": "dn", "AttributeValue": "CN=Bangalore user,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com" }, { "AttributeName": "whenchanged", "AttributeValue": "20230913125155.0Z" }, { "AttributeName": "objectclass", "AttributeValue": "top" }, { "AttributeName": "objectclass", "AttributeValue": "person" }, { "AttributeName": "objectclass", "AttributeValue": "organizationalPerson" }, { "AttributeName": "objectclass", "AttributeValue": "user" }, { "AttributeName": "primarygroupid", "AttributeValue": "513" }, { "AttributeName": "givenname", "AttributeValue": "Bangalore" }, { "AttributeName": "dscorepropagationdata", "AttributeValue": "16010101000001.0Z" }, { "AttributeName": "sn", "AttributeValue": "user" }, { "AttributeName": "useraccountcontrol", "AttributeValue": "512" }, { "AttributeName": "cn", "AttributeValue": "Bangalore user" }, { "AttributeName": "codepage", "AttributeValue": "0" }, { "AttributeName": "accountexpires", "AttributeValue": "9223372036854775807" }, { "AttributeName": "userprincipalname", "AttributeValue": "user-1@test-l }]
例 - グループにユーザーを追加する
- [
Configure connector task
] ダイアログで、[Actions
] をクリックします。 - [
AddMembersToGroup
] アクションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "GroupId": "1|CN=Cert Publishers,CN=Users,DC=test-ldap,DC=com", "UserDNs": "[{\"DN\":\"CN=Google AI,CN=Users,DC=test-ldap,DC=com;CN=Guest,CN=Users,DC=test-ldap,DC=com\"}]" }
この例では、ID が 1|CN=Cert Publishers,CN=Users,DC=test-ldap,DC=com
のグループにユーザー DN を追加します。アクションが成功すると、コネクタタスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Success": "True" }]
エンティティ オペレーションの例
例 - ユーザーを一覧表示する
この例では、User
エンティティ内のすべてのユーザーを一覧表示します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からUser
を選択します。- [
LIST
] オペレーションを選択してから、[完了] をクリックします。 - 必要に応じて、結果セットをフィルタリングできます。結果セットをフィルタリングするには、[コネクタ] タスクの [タスク入力] セクションで、要件ごとに filterClause を設定します。
たとえば、フィルタ句を
Id='1|CN=admin,CN=Users,DC=test-ldap,DC=com'
に設定すると、ID がこの条件に一致するレコードのみが一覧表示されます。
例 - ユーザー レコードを取得する
この例では、User
エンティティからユーザーの詳細を取得します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からUser
を選択します。- [
GET
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで [entityId] をクリックし、[デフォルト値] フィールドに
1|CN=admin,CN=Users,DC=test-ldap,DC=com
を入力します。ここで、
1|CN=admin,CN=Users,DC=test-ldap,DC=com
はUser
エンティティの主キー値の 1 つです。
例 - ユーザー レコードを作成する
この例では、User
エンティティにユーザー レコードを作成します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からUser
を選択します。- [
Create
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "RDN": "CN=MPATAI", "ObjectClass": "top;person;organizationalPerson;user" }
統合に成功すると、コネクタタスクの
connectorOutputPayload
フィールドの値は次のようになります。{ "Id": "1|CN=MPATAI,CN=Users,DC=test-ldap,DC=com" }
例 - チケットを更新する
この例では、User
エンティティで指定されたユーザー レコードを更新します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からUser
を選択します。- [
Update
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "PostalCode": "560040" }
- [entityId] をクリックし、[デフォルト値] フィールドに「
1|CN=admin,CN=Users,DC=test-ldap,DC=com
」と入力します。[entityId] を指定する代わりに、[filterClause] を
1|CN=admin,CN=Users,DC=test-ldap,DC=com
に設定することもできます。統合に成功すると、コネクタタスクの
connectorOutputPayload
フィールドの値は次のようになります。{ "Id": "1|CN=admin,CN=Users,DC=test-ldap,DC=com" }
例 - ユーザー レコードを削除する
この例では、User
エンティティからユーザー レコードを削除します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からUser
を選択します。- [
Delete
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで [entityId] をクリックし、[デフォルト値] フィールドに「
1|CN=admin,CN=Users,DC=test-ldap,DC=com
」と入力します。 - または、
User
エンティティに複合主キーがある場合、entityId を指定する代わりに、filterClause を設定できます。例:Id='1|CN=admin,CN=Users,DC=test-ldap,DC=com' and DN='CN=admin,CN=Users,DC=test-ldap,DC=com'
Terraform を使用して接続を作成する
Terraform リソースを使用して、新しい接続を作成できます。Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
接続作成用の Terraform テンプレートのサンプルを表示するには、サンプル テンプレートをご覧ください。
Terraform を使用してこの接続を作成する場合は、Terraform 構成ファイルで次の変数を設定する必要があります。
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
base_dn | STRING | True | 識別名の基本部分。結果を特定のサブツリーに制限するために使用されます。 |
auth_mechanism | ENUM | True | LDAP サーバーに接続するときに使用する認証メカニズム。サポートされている値は、SIMPLE、DIGESTMD5、NEGOTIATE です。 |
follow_referrals | BOOLEAN | False | LDAP サーバーから返された LDAP 参照をフォローするかどうか。 |
friendly_guid | BOOLEAN | False | GUID 属性値を人が読める形式で返すかどうか。 |
friendly_sid | BOOLEAN | False | SID 属性値を人が読める形式で返すかどうか。 |
ldapversion | ENUM | True | サーバーとの接続と通信に使用される LDAP のバージョン。サポートされている値は、2 と 3 です |
スコープ | ENUM | True | 検索のスコープをサブツリー全体(BaseDN とそのすべての子孫)、単一のレベル(BaseDN とその直接の子孫)、またはベース オブジェクト(BaseDN のみ)に制限するかどうか。サポートされている値は、WHOLESUBTREE、SINGLELEVEL、BASEOBJECT です。 |
統合で LDAP 接続を使用する
接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。
- Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
- Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
Google Cloud コミュニティの助けを借りる
Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。次のステップ
- 接続を一時停止して再開する方法を確認する。
- コネクタの使用状況をモニタリングする方法を確認する。
- コネクタログを表示する方法を確認する。