Microsoft 365
Microsoft 365 連携でユーザー同期を行う場合は以下のフローで設定を行います。
事前設定で取得できる情報
事前設定を行うことで、OneGateの「Microsoft 365連携設定」に必要な以下の情報を取得できます。
参照
アプリを登録する
Microsoft Entra管理センターにサインインし、新規にアプリを登録します。
-
-
Microsoft Entra管理センター(https://entra.microsoft.com/)にドメイン管理者としてサインインする
-
-
-
メニューから「アプリケーション」>「アプリの登録」を順に選択し、[新規登録]をクリックする
-
-
-
必要な項目を設定し、[登録]をクリックする
-
-
-
アプリケーション概要の内容を確認し、「アプリケーション(クライアント)ID」をメモ帳などにコピーして控える
-
ポイント
「アプリケーション(クライアント)ID」は、OneGateの「Microsoft 365連携設定」でMicrosoft 365連携設定を行う際に使用します。
-
APIのアクセス許可を追加する
登録したアプリに対し、APIのアクセス許可を設定します。
-
-
Microsoft Entra管理センターの「アプリケーション概要」画面で、「APIのアクセス許可」を選択し、[アクセス許可の追加]をクリックする
-
-
-
「APIアクセス許可の要求」の[Microsoft Graph]をクリックする
-
-
-
[アプリケーションの許可]をクリックする
-
-
-
「アクセス許可を選択する」で以下の3項目をクリックし、[アクセス許可の追加]をクリックする
-
-
-
[○○に管理者の同意を与えます]をクリックする
-
-
-
[はい]をクリックする
-
-
-
「状態」が「付与されていません」から「付与されました」に変わっていることを確認する
-
クライアントシークレットを作成する
「APIアクセス許可」画面から続けて、Microsoft Entra ID連携に必要なクライアントシークレットを取得します。
注意
クライアントシークレットは必ず有効期限内に再設定してください。
ポイント
「クライアントシークレット」は、OneGateの「Microsoft 365連携設定」でMicrosoft 365連携設定を行う際に使用します。
-
-
「APIアクセス許可」画面で「証明書とシークレット」を選択し、[新しいクライアントシークレット]をクリックする
-
-
-
以下の項目を設定し、[追加]をクリックする
-
説明
任意の説明(例:OneGate連携用)を入力します。
有効期限
任意の期限を選択します。
シークレットの有効期間には、最長の「24か月(730日)」を選択して[追加]をクリックします。
注意
クライアントシークレットの有効期限は最長2年です
-
定期的な運用として、有効期限内の再設定が必要です。
-
OneGate側でも有効期限内に差し替えが必要になります。
-
クライアントシークレットの有効期限が切れると、OneGateからMicrosoft 365にユーザー同期できなくなります。そのため、2年ごとに新たなシークレットを作成し、OneGate側の「アプリケーションキー」に上書き設定する必要があります。(シークレットの有効期限が切れてもシングルサインオンには影響ありません。)
「アプリケーション○○の資格情報が正常に更新されました」のメッセージが表示されたら、クライアントシークレットの取得は完了です。
-
-
-
-
作成したクライアントシークレットの値をメモ帳などにコピーして控える
-
Microsoft Graph PowerShell SDK をインストールする
Microsoft 365連携に必要なMicrosoft Graph PowerShell SDK を64ビット版のWindowsにインストールします。
インストールを実行する前にPowerShellおよび.NET Frameworkのバージョンが条件を満たしていることを確認し、バージョンが古い場合はバージョンアップを行ってからインストールを実行します。
参照
PowerShellおよび.NET Frameworkのバージョン確認・バージョンアップ、Microsoft Graph PowerShell SDK のインストール方法
以下をご覧ください。
Microsoft Graphへ接続する
PowerShellにコマンドを入力し、Microsoft Graphに接続します。
-
-
管理者権限でPowerShellを起動し、以下のコマンドを実行する
-
Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory","Application.Read.All"
注意
以下のエラーメッセージが表示されたときは
‘Connect-MgGraph’ コマンドはモジュール ‘Microsoft.Graph.Authentication’ で見つかりましたが、このモジュールを読み込むことができませんでした。詳細については、‘Import-Module Microsoft.Graph.Authentication’ を実行してください。
以下のコマンドを実行し、再度Connect-MgGraphコマンドが成功するかを確認してください。
Import-Module Microsoft.Graph.Authentication
-
-
-
全体管理者のアカウントでログインする
-
-
-
管理者権限でPowerShellを起動し、以下のコマンドを実行してPowerShellスクリプトの実行ポリシーをRemoteSignedに設定する
-
Set-ExecutionPolicy RemoteSigned
-
-
-
実行ポリシーを変更しますか?のメッセージが表示されたら、「Y」を入力し、[Enter]キーを押す
-
-
アプリケーションに管理権限を設定する
Microsoft Graphに接続した状態で、「アプリを登録する」で作成したアプリケーションに対してユーザー管理者のロールを割り当てます。
-
-
以下のコマンドを実行し、ロールのオブジェクトIDを取得する
-
$directoryRoleId = (Get-MgDirectoryRole -Filter "DisplayName eq 'User Administrator'").id
-
-
-
以下のコマンドを実行し、変数に文字列が入っていることを確認する
-
echo $directoryRoleId
-
-
-
以下のコマンドを実行し、アプリケーションのオブジェクトIDを取得する
-
"DisplayName eq 'Soliton OneGate'"の 'Soliton OneGate'には、登録した際の名前を指定します。(以下の例では「Soliton OneGate」)
$servicePrincipalId = (Get-MgServicePrincipal -Filter "DisplayName eq 'Soliton OneGate'").id
-
-
-
以下のコマンドを実行し、変数に文字列が入っていることを確認する
-
echo $servicePrincipalId
-
-
-
以下のコマンドを続けて実行し、アプリケーションへのロール割り当てを行う
-
$params = @{"@odata.id" = "https://graph.microsoft.com/v1.0/directoryObjects/$servicePrincipalId"}
New-MgDirectoryRoleMemberByRef -DirectoryRoleId $directoryRoleId -BodyParameter $params
-
-
-
以下のコマンドを実行し、ロールが割り当て済みのアプリケーションの一覧を確認する
-
-
-
以下のコマンドを実行し、PowerShellスクリプトの実行ポリシーを「Restricted」に設定する
-
Set-ExecutionPolicy Restricted
-
-
-
最後に、以下のコマンドを実行し、Microsoft Graphとの接続を終了する
-
Disconnect-MgGraph
以上でOneGate-Microsoft 365連携の事前準備は完了です。
ポイント
その他のコマンド
ロールが割り当て済みで設定できない場合は、一旦ロール割り当てを解除して、再度ロール割り当てを試してください。
Remove-MgDirectoryRoleMemberByRef -DirectoryRoleId $directoryRoleId -DirectoryObjectId $servicePrincipalId
以下のコマンドを実行してPowerShellスクリプトの実行ポリシーを「Restricted」に設定します。
Set-ExecutionPolicy Restricted
-
















