Microsoft Entra ID 向け Agent
UCIDM はクラウドの Microsoft Entra ID から ID 情報を取得して UCIDM API に連携します。
Microsoft Entra ID 向け Agent はコンテナとして稼働させます。次のように compose.yml
に設定します。
agent-meid:
depends_on:
- api
container_name: agent-meid
image: docker.io/osstech/ucidm-agent:latest
logging: *default-logging
volumes:
- type: bind
source: ./agent-data/meid
target: ${AGENT_PAGE_KEY_PATH}
bind:
create_host_path: true
entrypoint:
- ./bin/agent
- -verbose
- -jsonl
environment:
LDAP_HOSTS: "dummy"
MEID_TENANT_ID: "${AGENT_MEID_TENANT_ID}"
MEID_CLIENT_ID: "${AGENT_MEID_CLIENT_ID}"
MEID_CLIENT_SECRET: "${AGENT_MEID_CLIENT_SECRET}"
MEID_SCOPES: "${AGENT_MEID_SCOPES}"
MEID_USER_PROPERTIES: "${AGENT_MEID_USER_PROPERTIES}"
MEID_GROUP_PROPERTIES: "${AGENT_MEID_GROUP_PROPERTIES}"
PROTOCOL: "${AGENT_MEID_PROTOCOL}"
EXCLUDE_ATTRIBUTES: "${AGENT_MEID_EXCLUDE_ATTRIBUTES}"
POLLING_TIME: "${AGENT_POLLING_TIME}"
PAGE_KEY_PATH: "${AGENT_PAGE_KEY_PATH}"
API_HOST: "${API_HOST}"
API_PORT: "${API_PORT}"
API_ACCOUNT_AUTH_USER: "${AGENT_API_ACCOUNT_AUTH_USER}"
API_ACCOUNT_AUTH_PASSWORD: "${AGENT_API_ACCOUNT_AUTH_PASSWORD}"
restart: "always"
前提条件
Microsoft Graph の デルタクエリを使用して変更を追跡 します。Agent モジュールからこれらの機能を使うための Microsoft Graph アプリケーションを登録する必要があります。登録した Microsoft Graph アプリケーションに適切な API のアクセス許可を設定してください。
- アクセス許可の種類
- 「アプリケーションの許可」
- Microsoft Graph API の権限
- CrossTenantInformation.ReadBasic.All
- User.Read.All
- Group.Read.All
Microsoft Graph アプリケーションの登録については Microsoft ID プラットフォームにアプリケーションを登録する などのドキュメントを参照してください。
Agent の永続化ディレクトリ
永続化が必要なファイルなどは volumes/agent-data/meid 配下に配置されます。
$ ls volumes/agent-data/meid
ここで参照する環境変数は .env
に設定します。
環境変数の設定
接続する UCIDM API サーバーの設定をします。
環境変数 | 値 | 規定値 | 説明 |
---|---|---|---|
API_SCHEME | https | http | UCIDM API サーバーの プロトコル |
API_HOST | 任意 | localhost | UCIDM API サーバー名 |
API_PORT | 任意 | 18080 | UCIDM API サーバーの ポート番号 |
API_BASIC_AUTH_USER | 任意 | unico | 接続する UCIDM API の Basic 認証ユーザー |
API_BASIC_AUTH_PASSWORD | 任意 | – | 接続する UCIDM API の Basic 認証パスワード |
API_ACCOUNT_AUTH_USER | 任意 | – | 接続する UCIDM API の アカウント認証ユーザー |
API_ACCOUNT_AUTH_PASSWORD | 任意 | – | 接続する UCIDM API の アカウント認証パスワード |
- 認証はベーシック認証またはアカウント認証はどちらか一方を設定します
- 両方設定するとベーシック認証を使います
UCIDM API サーバーへのリクエストに失敗 (ステータスコードが 500 以上を返す) したときのリトライの設定をします。
UCIDM API サーバーへのリクエストに失敗 (ステータスコードが 500 以上を返す) したときのリトライの設定をします。
環境変数 | 値 | 規定値 | 説明 |
---|---|---|---|
CLIENT_RETRY_WAIT_MIN | 任意 | 1s | 1回目のリトライの待ち時間 |
CLIENT_RETRY_WAIT_MAX | 任意 | 30s | リトライの最大の待ち時間 |
CLIENT_RETRY_MAX | 任意 | 4 | リトライの最大回数 |
接続する Microsoft Graph アプリケーションの設定をします。
環境変数 | 値 | 規定値 | 説明 |
---|---|---|---|
LDAP_HOSTS | dummy | – | 使用しないが、必須属性なので値をセットする |
MEID_TENANT_ID | 任意 | – | ディレクトリ (テナント) ID |
MEID_CLIENT_ID | 任意 | – | アプリケーション (クライアント) ID |
MEID_CLIENT_SECRET | 任意 | – | クライアントシークレット |
MEID_SCOPES | 任意 | https://graph.microsoft.com/ .default | トークンに与えるリソースのアクセス範囲 |
MEID_USER_ PROPERTIES | 任意 | – | ユーザーの連携対象プロパティ カンマ(,)区切りで複数指定 |
MEID_GROUP_ PROPERTIES | 任意 | – | グループの連携対象プロパティ カンマ(,)区切りで複数指定 |
PROTOCOL | msgraph | – | Microsoft Graph |
EXCLUDE_ ATTRIBUTES | 任意 | – | 連携除外属性 カンマ(,)区切りで複数指定 |
POLLING_TIME | – | 1h | 更新を定期的に 問い合わせる間隔 |
PAGE_KEY_PATH | 任意 | – | 同期状況の 保存先ディレクトリ |
- MEID_SCOPES は
.default
を設定し、Microsoft Graph アプリケーションにあらかじめ必要なアクセス権限を設定する - MEID_USER_PROPERTIES や MEID_GROUPPROPERTIES で指定したプロパティ以外の値の変更は ID 連携されません
- Microsoft Entra ID から正常にエントリを取得して UCIDM API サーバーへの連携に失敗 (リトライしても失敗) したときは自動で復旧しません
- 別途ツールで運用対応する 必要があります