本記事は、OneLoginのライセンスが Starter, Enterprise または SSO, Advanced(新料金体系)のいずれかをご契約で、Microsoft 365のWS-Federation(WS-Fed)フェデレーションの設定を完了されたお客様が対象です。
OneLogin のユーザープロビジョニング機能が含まれる Unlimited または Professional(新料金体系)のいずれかのライセンスをお持ちでない場合、OneLoginとMicrosoft 365のWS-Fed フェデレーション設定において、OneLoginとMicrosoft 365の両方で、ユーザーごとに Immutable ID を手動で登録する必要があります。
本記事の作業により、OneLoginからMicrosoft 365へのへのWS-Fed シングルサインオン(SSO)が可能となります。
目次
1. Immutable ID がEmailなどOneLoginに登録されているデータの場合
2. Immutable IDがOneLoginに登録されていない不規則なデータの場合
Microsoft Graphのインストールとグローバル管理者でのログイン
前提条件
- OneLoginのライセンスが Starter, Enterprise または SSO, Advanced(新料金体系)のいずれかであること
- OneLoginの Super User または Account Owner 権限を持つアカウントを所有していること
- Microsoft PowerShell 5.1 以降をお使いであること
- Windows端末に .NET Framework 4.7.2 以降がインストール済みであること
- そのほか、Microsoft Graphを使用するための前提条件を満たしていること
OneLoginでImmutable IDを設定する方法
1. Immutable ID がEmailなどOneLoginに登録されているデータの場合
- OneLoginに管理者でログインし、[管理]をクリックします
-
Applications メニューから[Applications]を選択します
-
Microsoft 365 コネクタを選択します
- Parametersタブの ImmutableID を選択します
-
Email など、ユーザーを特定できるOneLoginの属性を選択し、[Save]をクリックします
- [Save]をクリックします
-
Usersタブ から、対象のユーザーを確認します
-
ImmutableID の設定値を確認し、OneLoginの属性値になっていることを確認します
2. Immutable IDがOneLoginに登録されていない不規則なデータの場合
この場合、残念ながらOneLoginに参考となるデータがないため、カスタムユーザーフィールドなどを作成しOneLoginのデータベースに Immutable ID を保存する必要があります。
- OneLoginの管理画面にログインし、Users > Custom User Fields を選択します
- [New User Field]をクリックします
-
Name とShortname を入力し、[Save]をクリックします
Name: カスタムユーザーフィールド名
Shortname: OneLogin APIなどで使用されるカスタムユーザーフィールド名
- Users > Users を選択します
- ユーザーの一覧から対象のユーザーを検索し、選択します
- 追加したカスタムユーザーフィールドに、Immutable ID を入力します
- [Save User]をクリックします
-
Applications メニューから[Applications]を選択します
-
Microsoft 365 コネクタを選択します
- Parametersタブの ImmutableID を選択します
- 新しく作成したカスタムユーザーフィールドを選択し、[Save]をクリックします
- [Save]をクリックします
-
Usersタブ から、対象のユーザーを確認します
-
ImmutableID の設定値を確認し、カスタムユーザーフィールドの設定値になっていることを確認します
OneLogin側の設定は以上です。
Microsoft Graph インストールとグローバル管理者でのログイン
- 下記記事の「Microsoft Graphモジュールのインストール」をご覧いただき、お使いの Windows PowerShell へMicrosoft Graphモジュールのインストールを行います
Windows PowerShellからMicrosoft 365のWS-Federation認証を手動設定する方法
- Microsoft Graphモジュールのインストールができましたら、
Connect-MgGraph -Scopes "Directory.ReadWrite.All", "User.ReadWrite.All"を実行してグローバル管理者権限をもつアカウントでMicrosoft 365にログインします
既存ユーザーに任意のImmutable IDを設定する方法
下記の手順でMicrosoft 365に存在するユーザーのImmutable IDを設定することが可能です。すでにお使いのドメインがフェデレーションドメインである場合は、こちらの方法はご利用いただけないことをご注意ください。
-
Microsoft Graph へのログイン後、
Update-MgUser -UserId "{MicrosoftアカウントのUPN}" -OnPremisesImmutableId "{設定したいImmutable ID}"を実行し、Microsoft 365上に存在する任意のユーザーに任意のImmutable IDを設定することができます
*Immutable IDには英数字記号が利用できますが、UPNやEmailと一致させることを推奨します。例) Update-MgUser -UserId "t.tanaka@onelogin.jp" -OnPremisesImmutableId "t.tanaka@onelogin.jp" -
設定後、
Get-MgUser -UserId "{MicrosoftアカウントのUPN}" -property OnPremisesImmutableId | select OnPremisesImmutableIdを実行し、Immutable IDに設定した値が表示されることを確認します
新規ユーザー作成時にImmutable IDを設定する方法
- ユーザー作成時に初期パスワードの設定が必要な場合は、
$passwordProfile = @{ Password = "{ユーザーに設定したい初期パスワード}" }を実行し、ユーザーに設定するパスワードを作成します
-
Microsoft 365への新規ユーザー作成時に任意のImmutable IDを設定します
-
初期パスワードが必要な場合:
New-MgUser -AccountEnabled -DisplayName "{ユーザーの表示名}" -UserPrincipalName "{ユーザーのUPN}" -GivenName "{ユーザーの名前}" -Surname "{ユーザーの名字}" -UsageLocation JP -OnPremisesImmutableId "{ユーザーのImmutable ID}" -MailNickName "{UPNの@より前の部分}" -PasswordProfile $passwordProfileを実行します例) New-MgUser -AccountEnabled -DisplayName "Taro Tanaka" -UserPrincipalName "t.tanaka@onelogin.jp" -GivenName "Taro" -Surname "Tanaka" -UsageLocation JP -OnPremisesImmutableId "t.tanaka@onelogin.jp" -MailNickName "t.tanaka" -PasswordProfile $passwordProfile -
初期パスワードが不要な場合:
New-MgUser -AccountEnabled -DisplayName "{ユーザーの表示名}" -UserPrincipalName "{ユーザーのUPN}" -GivenName "{ユーザーの名前}" -Surname "{ユーザーの名字}" -UsageLocation JP -OnPremisesImmutableId "{ユーザーのImmutable ID}" -MailNickName "{UPNの@より前の部分}"を実行します例) New-MgUser -AccountEnabled -DisplayName "Taro Tanaka" -UserPrincipalName "t.tanaka@onelogin.jp" -GivenName "Taro" -Surname "Tanaka" -UsageLocation JP -OnPremisesImmutableId "t.tanaka@onelogin.jp" -MailNickName "t.tanaka"
-
-
ユーザー作成後、
Get-MgUser -UserId "{MicrosoftアカウントのUPN}" -property OnPremisesImmutableId | select OnPremisesImmutableIdを実行して作成したユーザーに正しくImmutable IDが登録されていることを確認します
- Microsoft Entra ID上でも作成したユーザーのプロパティを確認し、オンプレミスの不変IDがImmutable IDと同じ値であることをご確認ください
既存ユーザーのImmutable IDを変更する方法
下記の手順でMicrosoft 365に存在するユーザーのImmutable IDを変更することが可能です。
-
Get-MgUser -UserId "{MicrosoftアカウントのUPN}" -property OnPremisesImmutableId | select OnPremisesImmutableIdを実行し、対象ユーザーの現在のImmutable IDを確認します例) Get-MgUser -UserId "t.tanaka@onelogin.jp" -property OnPremisesImmutableId | select OnPremisesImmutableId -
Update-MgUser -UserId "{MicrosoftアカウントのUPN}" -UserPrincipalName "{onmicrosoft.com などのドメインである一時的なUPN}"を実行し、対象ユーザーのUPNを、一時的にフェデレーションされていないドメインに変更します例) Update-MgUser -UserId "t.tanaka@onelogin.jp" -UserPrincipalName "t.tanaka@oneloginjp.onmicrosoft.com" -
Update-MgUser -UserId "{onmicrosoft.com などのドメインである一時的なUPN}" -OnPremisesImmutableId "{新しいImmutable ID}"を実行し、対象ユーザーのImmutable IDを変更します例) Update-MgUser -UserId "t.tanaka@oneloginjp.onmicrosoft.com" -OnPremisesImmutableId "OLPRTXXXXXXXXX7XXXXXX2" -
Update-MgUser -UserId "{onmicrosoft.com などのドメインである一時的なUPN}" -UserPrincipalName "{元のユーザーのUPN}"を実行し、対象ユーザーのUPNをもとに戻します例) Update-MgUser -UserId "t.tanaka@oneloginjp.onmicrosoft.com" -UserPrincipalName "t.tanaka@onelogin.jp" -
Get-MgUser -UserId "{元のユーザーのUPN}" -property OnPremisesImmutableId | select OnPremisesImmutableIdを実行し、対象ユーザーのImmutable IDが変更されたことを確認します例) Get-MgUser -UserId "t.tanaka@onelogin.jp" -property OnPremisesImmutableId | select OnPremisesImmutableId
本記事でご紹介したコマンドは一例です。