Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Microsoft Entra ID 外部連携モジュール

UCIDM では Microsoft Entra ID に対して ID 連携できます。

Microsoft Entra ID 外部連携設定手順

事前準備

外部連携先の Microsoft Entra ID をご用意下さい。また、UCIDM 稼働サーバーから外部連携先 Microsoft Entra ID への以下の接続情報をご準備ください。

  • Microsoft Entra ID の Client ID
  • Microsoft Entra ID の Client Secret
  • Microsoft Entra ID の Tenant ID

コンテナの設定

Microsoft Entra ID 外部連携モジュールはコンテナとして稼働させます。次のように compose.yml に設定します。entrypoint では次の設定ができます。

  • -verbose: デバッグログを出力
  • -jsonl: JSON 形式でログを出力
  consumer-meid:
    depends_on:
      rabbitmq:
        condition: service_healthy
    container_name: consumer-meid
    image: docker.io/osstech/ucidm-consumer:latest
    logging: *default-logging
    ports:
      - 7099:7099
    volumes:
      - type: bind
        source: ./server-data
        target: /ucidm
        bind:
          create_host_path: false
    entrypoint:
      - ./bin/app-main
      - -jsonl
    environment:
      TZ: "${TZ}"
      DESTINATION_ID: "meid-001"
      MONGO_USER: "${MONGO_USER}"
      MONGO_PASSWORD: "${MONGO_PASSWORD}"
      MONGO_DATABASE: "${MONGO_DATABASE}"
      MONGO_HOSTS: "${MONGO_HOSTS}"
      MONGO_REPLICA_SET: "${MONGO_REPLICA_SET}"
      RABBITMQ_USER: "${RABBITMQ_USER}"
      RABBITMQ_PASSWORD: "${RABBITMQ_PASSWORD}"
      RABBITMQ_HOST: "${RABBITMQ_HOST}"
      MEID_CLIENT_ID: "${MEID_CLIENT_ID}"
      MEID_CLIENT_SECRET: "${MEID_CLIENT_SECRET}"
      MEID_TENANT_ID: "${MEID_TENANT_ID}"
    restart: "always"

ここで参照する環境変数は ucidm.env に設定します。

環境変数の設定

環境変数既定値説明
TZ任意タイムゾーン情報
DESTINATION_ID任意外部連携先 ID 管理画面で作成した外部連携先 ID を指定
MONGO_USER任意接続する MongoDB のユーザ名
MONGO_PASSWORD任意接続する MongoDB のパスワード
MONGO_DATABASE任意ucidm接続する MongoDB のデータベース
MONGO_HOSTS任意接続する MongoDB のホスト
MONGO_REPLICA_SET任意接続する MongoDB のレプリカセットの名前
RABBITMQ_USER任意接続する RabbitMQ のユーザ名
RABBITMQ_PASSWORD任意接続する RabbitMQ のパスワード
RABBITMQ_HOST任意接続する RabbitMQ のホスト
MEID_CLIENT_ID任意Microsoft Entra ID の Client ID
MEID_CLIENT_SECRET任意Microsoft Entra ID の Client Secret
MEID_TENANT_ID任意Microsoft Entra ID の Tenant ID
ENABLE_SCRIPT_PASSWORDtrue または falsefalseユーザーパスワード更新時に外部連携の
前処理/後処理スクリプトにパスワードの値を連携するかどうか

Microsoft Entra ID 外部連携設定

管理画面にて Microsoft Entra ID の外部連携設定が行えます。ホーム画面の「外部連携設定」を選択し、外部連携設定一覧画面に遷移します。外部連携設定一覧画面で、登録ボタンを押下することで新規外部連携設定画面が表示されます。

この新規外部連携設定画面の各タブで詳細内容を設定します。設定が完了したら「登録」ボタンを押下することで外部連携設定が作成されます。

外部連携設定作成後は、ルーティング設定 にてこの外部連携設定を適用するユーザーおよびグループを指定して下さい。

外部連携主要情報

Microsoft Entra ID 外部連携の主要情報を指定します。

  • 連携 ID
    • 一意の連携 ID を指定します
  • 外部連携先 ID
    • 上記コンテナの DESTINATION_ID 環境変数で設定した値を指定します
  • 外部連携先 タイプ
    • Microsoft Entra ID

動作設定

管理画面にて Microsoft Entra ID の動作設定をすることができます。

設定項目と内容は次になります。

  • ドメイン名
    • Microsoft Entra ID のドメイン名を指定します
  • Immutable ID を自動生成
    • Immutable ID を自動生成するかどうかを指定します
    • true の場合、onPremisesImmutableId に UCIDM で発行された値がセットされます
  • ドライランモード
    • 接続の取得やエントリの検索は行いますが、実際にエントリの追加/変更/削除は行わないモードとなります
    • 主にテスト時の動作確認等に使うことを想定しています
実施しない操作の設定
  • ユーザー追加/更新を行わない
    • Microsoft Entra ID に対してユーザー追加/更新を行わない場合は、この項目をオン(true)にしてください
  • ユーザー削除を行わない
    • Microsoft Entra ID に対してユーザー削除を行わない場合は、この項目をオン(true)にしてください
  • ユーザーパスワード更新を行わない
    • Microsoft Entra ID に対してユーザーパスワード更新を行わない場合は、この項目をオン(true)にしてください
  • グループ追加/更新を行わない
    • Microsoft Entra ID に対してグループ追加/更新を行わない場合は、この項目をオン(true)にしてください
  • グループ削除を行わない
    • Microsoft Entra ID に対してグループ削除を行わない場合は、この項目をオン(true)にしてください
  • グループメンバー追加を行わない
    • Microsoft Entra ID に対してグループメンバー追加を行わない場合は、この項目をオン(true)にしてください
  • グループメンバー削除を行わない
    • Microsoft Entra ID に対してグループメンバー削除を行わない場合は、この項目をオン(true)にしてください

マッピング

Microsoft Entra ID 外部連携の以下マッピング設定を行います。

  • 属性マッピング

次でマッピング設定について説明します。

属性マッピング

次の 属性マッピング設定 を参考にしてください。

Microsoft Entra ID では階層構造を持つ属性があります。 例えば、passwordProfile 内の forceChangePasswordNextSignIn に対して属性値をマッピングする場合は、「passwordProfile.forceChangePasswordNextSignIn」に対してマッピングをする必要があります。

以下は Microsoft Entra ID 外部連携のユーザーマッピング設定の一例です。

連携先の属性名連携元の属性名ビルトイン関数名テンプレート文字列固定値
surnamesn
displayName%{sn} %{givenName}
usageLocationJP
givenNamegivenName
accountEnabledtrue
mailNicknameuid
assignedLicensesSTREAM
passwordPoliciesDisablePasswordExpiration, DisableStrongPassword
passwordProfile.forceChangePasswordNextSignIntrue

以下は Microsoft Entra ID 外部連携のグループマッピング設定の一例です。

連携先の属性名連携元の属性名ビルトイン関数名テンプレート文字列固定値
displayNamecn
descriptiondescription
mailEnabledfalse
mailNicknamecn
securityEnabledtrue

また、以下の属性は Microsoft Entra ID 外部連携モジュール独自のマッピングになるため、合わせてご参照ください。

ユーザ・グループ共通の属性

assignedLicenses 属性
  • Microsoft Entra ID では、ひとつのライセンスに複数のプランが紐付いています - 例えば STREAM と TEAMS_EXPLORATORY のライセンスを利用し、TEAMS_EXPLORATORY ライセンスにて MCO_TEAMS_IW と YAMMER_ENTERPRISE のプランを利用しない場合は、assignedLicenses 属性へのマッ ピングが次になるように設定します。(一部のプランを無効にする場合は、<ライセンス名>/<プラン名>:<プラン名>:... の形で指定します。) - ['STREAM', 'TEAMS_EXPLORATORY/MCO_TEAMS_IW:YAMMER_ENTERPRISE']

ユーザ属性

userPrincipalName 属性

本属性については、連携されてきた primaryID の値を使用し、${primaryID}@${ドメイン} の値が自動でセットされるので、マッピング設定は必要ありません。

accountEnabled 属性

ユーザの有効化/無効化を制御するための属性となります。この属性に対して、true/false が設定されるようマッピングを行うことで、ユーザの有効化/無効化のステータスを 制御することができます。(有効化の場合は true、無効化の場合は false が割り当てられる必要があります)

グループ属性

displayName 属性

本属性については、連携されてきた primaryID の値が自動でセットされるので、マッピング設定は必要ありません。

前処理・後処理スクリプト設定

UCIDM では、外部連携処理の前後で任意のシェルスクリプトを実行することができます。

次の 外部連携の前処理/後処理で実行するスクリプトの配置 を参考に、スクリプトファイルを配置後、外部連携の前処理/後処理で実行するスクリプトの設定 を参考に、実行したいスクリプトファイルを指定してください。

Last updated on 2026-03-17 09:59 +0900 (main@0b63750)