No2.外部の認証基盤からの移行(Directory Sync利用あり)
外部の認証基盤を利用している状態から、IIJ IDサービスに認証基盤を移行します。
また、Directory Syncを利用してActive DirectoryからIIJ IDにアカウントを同期します。
【参考】
ここに記載された内容は参考です。
実際の作業は、お客様の環境に合わせて実施してください。
連携のイメージ
Directory SyncによりActive DirectoryからIIJ IDにユーザを同期します。
また、IIJ IDからAzure ADにユーザをプロビジョニングし、プロビジョニングされたユーザとのフェデレーションを行います。
Azure AD上には旧認証基盤で作成された既存のAzure ADユーザが存在するため、既存のAzure ADユーザとの連携も考慮します。
既存のAzure ADユーザのimmutableIdの値は認証基盤の仕様に依存するため、事前に確認します。
そのimmutableIdの値をActive Directoryユーザの「任意のAD属性」に設定し、Directory SyncにてIIJ IDユーザの外部IDに設定されるようにします。
新規に作成するActive Directoryユーザは、前述の「任意のAD属性」には値を設定せず、Directory Syncにて別のActive Directory属性(objectGUIDなど)をIIJ IDのアプリケーション連携IDに設定するようにします。
セットアップフロー例
1. 事前準備 | ||
---|---|---|
1.1 Microsoft 365でのドメインの登録 | ||
1.2 Windows PowerShellのセットアップ | ||
1.3 Microsoft 365アプリケーションの追加 | ||
2. Directory Syncのセットアップ | ||
2.1 Directory Syncのセットアップ | ||
3. 連携設定 | ||
3.1 アプリケーションの基本設定の変更 | ||
3.2 Graph APIの設定 | ||
3.3 プロビジョニングの設定 | ||
3.4 利用者の設定 | ||
3.5 フェデレーションの設定 |
Directory Syncの設定例
以下のように同期させます。
【参考】
この例では、既存のAzure ADユーザのimmutableIdがActive Directoryユーザの anyADAttribute(任意のAD属性)かmS-DS-ConsistencyGuidに設定されている必要があります。
Active Directory | IIJ ID | Azure AD | 備考 | ||
---|---|---|---|---|---|
anyADAttribute | -> | アプリケーション連携ID(downstreamId) | -> | immutalbeId | anyADAttributeの値が空の場合にms-DS-ConsistencyGuidの値が反映されます。更に、ms-DS-ConsistencyGuidの値が空の場合はobjectGUIDの値が反映されます |
userPrincipalName | -> | ID(userName) | -> | userPrincipalName |
config.ymlサンプル
log: loglevel: info ad: ldap: server: addresses: - 127.0.0.1 user: 'CN=administrator,CN=Users,DC=example,DC=jp' base_dn: 'DC=example,DC=jp' filter: user: 'memberOf:1.2.840.113556.1.4.1941:=CN=IID_IDaaS利用者グループ,OU=IID_Groups,DC=example,DC=jp' group: 'memberOf:1.2.840.113556.1.4.1941:=CN=IID_IDaaS利用者グループ,OU=IID_Groups,DC=example,DC=jp' iid: scim: attribute: user: default: emails: - primary: true ad_bind: externalId: userPrincipalName downstreamId: - mS-DS-ConsistencyGuid - objectGUID userName: userPrincipalName emails: - value: mail group: ad_bind: externalId: objectGUID displayName: name