API Managerのユーザーロールにおける LDAP グループのマッピングの設定

API Manager の管理者として、 開発者ツールキットのCLIを使用して、プロバイダー組織内の API Connect ロールに対する LDAP グループのマッピングを設定できます。

開始前に

API Manager には、設定 external_group_mapping_enabled が に設定された「 trueLDAP 」ユーザーレジストリリソースが存在する必要があります。 詳細については、「CLI を使用して組織固有の LDAP ユーザーレジストリを作成する」 を参照してください。

ロールを編集するには、以下のいずれかのロールが必要です。

  • 管理者
  • 所有者
  • 次の役割を持つカスタム役割:Settings: manage権限
注: プロバイダー組織の役割は、 API Manager ユーザーにのみ適用されます。 LDAP のグループマッピングをCloud Manager ユーザーに適用する場合は、 Cloud Manager ユーザーロールでの LDAP グループマッピングの設定」 を参照してください。 LDAP グループマッピングは、Consumer Catalog ユーザーには適用できません。

このタスクについて

ビジネス上のニーズに合わせて、外部の 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 のグループマッピングを設定します。

手順

  1. 適切な権限を持つユーザーとして API Manager にログインします。
  2. 設定 > 「役割」 > 新規役割の追加または既存の役割の編集 をクリックします。
  3. 以下の設定を選択します。
    • 外部グループ・マッピングを使用可能にする -この役割の外部グループ・マッピングを使用可能にする場合に選択します。
    • LDAP ユーザーレジストリ - LDAP 外部グループのマッピングが有効になっているユーザーレジストリの一覧。 ユーザーはこのリストから、 LDAP のユーザーレジストリを1つ選択する必要があります。
    • LDAP グループ名 - ユーザーロールに割り当てる「 LDAP 」グループ名を1つ以上指定します。
    • ユーザーグループのプレフィックス - 「 LDAP 」ユーザーグループのプレフィックスを追加します。
    • ユーザーグループのサフィックス - 「 LDAP 」ユーザーグループのサフィックスを追加します。
  4. 変更内容を保存します。

結果

LDAP グループ・マッピング情報でロールが更新されます。 これで、ユーザーは API Managerにログオンできるようになり、役割に応じた適切なアクセス許可が自動的に割り当てられます。

CLI を使用して「 LDAP 」グループのマッピングを設定する

ツールキットのCLIを使用して、 LDAP のグループマッピングを設定します。

このタスクについて

CLI の使用方法について詳しくは、 ツールキットのインストール、および コマンド・ライン・ツールの概要を参照してください。

手順

外部の LDAP グループを API Managerのユーザーロールにマッピングするには、以下の手順を実行してください。
  1. 管理サーバー CLI へログインします。
    役割構成を更新する前に、 デベロッパーズ・ツールキット CLI からプロバイダー組織のメンバーとして管理サーバーにログインする必要があります。 以下のコマンドを使用します。
    apic login --server mgmt_endpoint_url --username user_id --password password --realm provider/identity_provider
    ここで、mgmt_endpoint_url は、プラットフォーム API エンドポイント URL です。
    次のコマンドを入力して、使用可能なすべての ID プロバイダーのリストを表示することで、--realm パラメーターで使用する ID プロバイダーを判別できます (このコマンドを使用するためにログインする必要はありません)。
    apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm
    例:
    apic 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-ldap
    title 値により、使用する ID プロバイダーを判別できます。その後に、表示された realm 値から対応する --realm パラメーターを直接コピーできます。 インストール API Connect 後に管理者が作成したIDプロバイダーについては、その名前は作成時に決定されます。 プロバイダー組織のメンバーとしてログインするためのデフォルトの API Manager ローカル・ユーザー・レジストリーは default-idp-2 です。

    ログイン・コマンドについて詳しくは、 管理サーバーへのログインを参照してください。

  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 です。
    このコマンドを実行すると、LDAP ユーザー・レジストリーの構成の詳細が出力され、リストの末尾に 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
  3. 以下の 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 ユーザー・グループの接尾部です。
  4. 次のコマンドを実行して、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リファレンスドキュメントを参照してください。

結果

LDAP グループ・マッピング情報でロールが更新されます。 これで、ユーザーは API Managerにログオンできるようになり、役割に応じた適切なアクセス許可が自動的に割り当てられます。