API Managerのユーザーロールにおける LDAP グループのマッピングの設定
API Manager の管理者として、 開発者ツールキットのCLIを使用して、プロバイダー組織内の API Connect ロールに対する LDAP グループのマッピングを設定できます。
開始前に
API Manager には、設定 external_group_mapping_enabled が に設定された「 trueLDAP 」ユーザーレジストリリソースが存在する必要があります。 詳細については、「CLI を使用して組織固有の LDAP ユーザーレジストリを作成する」 を参照してください。
ロールを編集するには、以下のいずれかのロールが必要です。
- 管理者
- 所有者
- 次の役割を持つカスタム役割:Settings: manage権限
このタスクについて
ビジネス上のニーズに合わせて、外部の LDAP グループを、あらかじめ設定された API Connect ユーザーロール(「所有者」および「メンバー」ロールを除く)や、任意のカスタムユーザーロールに割り当てることができます。
- ロールに対して LDAP グループ・マッピングを有効にした後は、ユーザー・オンボーディングでは常にグループ・マッピングが優先されます。
- 登録が完了すると、外部の LDAP レジストリに変更があった場合でも、ログイン期間中はユーザーメンバーシップ API Connect が有効です。
access_token_ttlメンバーシップが更新されるのは、次回のログイン時に LDAP 情報が取得されて更新されたときのみです。 - 1つ API Connect 以上のロールを1つ以上の LDAP グループにマッピングすることができ、また、1つ以上の LDAP グループを1つのロールにマッピングすることができます。
- 複数の LDAP グループが単一のロールに割り当てられている場合、それは、 LDAP グループのいずれかに所属するユーザーがログインできることを意味します。 API Connect
- ユーザーが外部の LDAP ユーザー登録から削除された場合、から速やかに削除されるように API Connect するには、 API Connectのユーザーメンバーシップも削除する必要があります。
- API Manager では、プロバイダー組織、カタログ、および該当する場合はスペース・レベルでロールをマップできます。 ただし、親レベルにもグループ・マッピングが定義されている場合、ロールは、子レベルであるカタログ、さらにカタログの子レベルであるスペースでのみマップできます。 子レベルでのマッピングは、親レベルでの同じマッピングをオーバーライドします。 例:
プロバイダー組織レベルの管理者ロールが
cn=APIC-Administrators,ou=ibmgroups,o=ibm.comの LDAP グループにマップされ、カタログ・レベルの管理者ロールがcn=APIC-Developers,ou=ibmgroups,o=ibm.comの LDAP グループにマップされている場合、カタログ・メンバーとして追加されたユーザーは、cn=APIC-Developers,ou=ibmgroups,o=ibm.comグループに属することになります。cn=APIC-Administrators,ou=ibmgroups,o=ibm.comグループに属しているプロバイダー組織レベルのメンバーは、継承によってカタログにアクセスできます。
UI を使用して、 LDAP のグループマッピングを設定する
API ManagerのUIを使用して、 LDAP のグループマッピングを設定します。
手順
結果
CLI を使用して「 LDAP 」グループのマッピングを設定する
ツールキットのCLIを使用して、 LDAP のグループマッピングを設定します。
このタスクについて
CLI の使用方法について詳しくは、 ツールキットのインストール、および コマンド・ライン・ツールの概要を参照してください。
手順
- 管理サーバー CLI へログインします。役割構成を更新する前に、 デベロッパーズ・ツールキット CLI からプロバイダー組織のメンバーとして管理サーバーにログインする必要があります。 以下のコマンドを使用します。
ここで、apic login --server mgmt_endpoint_url --username user_id --password password --realm provider/identity_providermgmt_endpoint_urlは、プラットフォーム API エンドポイント URL です。次のコマンドを入力して、使用可能なすべての ID プロバイダーのリストを表示することで、--realmパラメーターで使用する ID プロバイダーを判別できます (このコマンドを使用するためにログインする必要はありません)。
例:apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realmapic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm total_results: 2 results: - title: API Manager User Registry realm: provider/default-idp-2 - title: Corporate LDAP user registry realm: provider/corporate-ldaptitle値により、使用する ID プロバイダーを判別できます。その後に、表示されたrealm値から対応する--realmパラメーターを直接コピーできます。 インストール API Connect 後に管理者が作成したIDプロバイダーについては、その名前は作成時に決定されます。 プロバイダー組織のメンバーとしてログインするためのデフォルトの API Manager ローカル・ユーザー・レジストリーはdefault-idp-2です。ログイン・コマンドについて詳しくは、 管理サーバーへのログインを参照してください。
- ユーザー ロールをマッピングしたいAPI Manager内の LDAP ユーザーレジストリリソースの URL を取得するには、次のコマンドを実行してください:
ここで、それぞれ以下のとおりです。apic user-registries:get ldap_user_registry --org organization_name --server mgmt_endpoint_url --output -ldap_user_registryは、LDAP ユーザー・レジストリー・リソースの名前または ID です。organization_nameは、プロバイダー組織のnameプロパティーの値です。mgmt_endpoint_urlは、プラットフォーム API エンドポイント URL です。
url:が示されます。例えば、以下のようになります。type: user_registry api_version: 2.0.0 id: 35e75bad-1d89-4a65-a70f-xxxxxx name: ldap title: LDAP integration_url: >- https://server.com/api/cloud/integrations/user-registry/147b5fb1-e88e-41e3-90e9-xxxxxx registry_type: ldap user_managed: false user_registry_managed: false external_group_mapping_enabled: true ... url: >- https://server.com/api/user-registries/3d58ce7e-16a8-493b-9684-xxxxxx/35e75bad-1d89-4a65-a70f-xxxxxx - 以下の LDAP グループ・マッピングの構成プロパティーを含むロール yaml ファイルを作成します。
ここで:external_group_mapping: user_registry_url: https://server.com/api/user-registries/3d58ce7e-16a8-493b-9684-xxxxxx/35e75bad-1d89-4a65-a70f-xxxxxx ldap_groups: - 'cn=apic-administrators,ou=ibmgroups,o=ibm.com' - 'cn=apic-developers,ou=ibmgroups,o=ibm.com' user_group_filter_prefix: (&(uniquemember= user_group_filter_suffix: )(objectClass=groupOfUniqueNames))user_registry_urlこれは、ステップ #task_apim_role_mapping__ldap_url で指定した、 LDAP ユーザーレジストリリソースの URL です。ldap_groupsは、ユーザー・ロールにマップする LDAP グループ名のリストです。user_group_filter_prefixは、LDAP ユーザー・グループの接頭部です。user_group_filter_suffixは、LDAP ユーザー・グループの接尾部です。
- 次のコマンドを実行して、
external_group_mapping構成プロパティーでユーザー・ロールを更新します。apic roles:update role_name --scope org --org organization_name --server mgmt_endpoint_url mapping_properties_fileここで:role_nameは、LDAP グループ・マッピングを追加するユーザー・ロールの名前です。--scopeは、更新を適用する組織レベルです。 有効な値は以下のとおりです。orgは、プロバイダー組織レベルでマッピングを適用する場合に指定します。catalogは、カタログ・レベルでマッピングを適用する場合に指定します。spaceは、スペース・レベルでマッピングを適用する場合に指定します。
organization_nameは、プロバイダー組織のnameプロパティーの値です。mgmt_endpoint_urlは、プラットフォーム API エンドポイント URL です。mapping_properties_fileは、ステップ #task_apim_role_mapping__role_fileで作成したマッピング・プロパティー・ファイルの名前です (例:role_mapping_file.yaml)。
-をmapping_properties_fileに置き換えて、情報を手動で入力し、その後にCTRL Dを押して入力を終了することができます。LDAP グループのマッピングを含むカスタムロールを作成したい場合は、ファイルに設定
external_group_mappingセクションを追加し、コマンドapic roles:createを使用してrole_file新しいロールを作成できます。
apic roles の詳細については、 ツールキットのCLIリファレンスドキュメントを参照してください。