Microsoft 365(M365)連携 - PowerShellを利用
設定を始める前に、一般的な考慮事項をお読みください。
M365を新規導入する場合
事前作業のM365のカスタムドメイン設定から始めてください。
M365をすでに運用中の場合
設定作業を始める前に、以下の全ての項目に該当することを確認してください。該当しない場合には、シングルサインオンおよびプロビジョニングを行うことができません。全てに該当している場合には、シングルサインオンおよびプロビジョニング設定から始めてください。
- シングルサインオンするUPN(ユーザプリンシパル名)のドメインをカスタムドメインとして追加済みであること
- シングルサインオンするカスタムドメインは、既定のドメインに設定されていないこと
- シングルサインオンするカスタムドメインに、フェデレーション(SAML)の設定がされていないこと
- SingleIDユーザのメールアドレスとM365ユーザのUPNが一致すること
- M365のグローバル管理者はxxxxx.onmicrosoft.comドメインにいること
事前作業
M365のカスタムドメイン設定
SingleIDのユーザの組織のメールアドレスのメールドメインをM365のカスタムドメインとして追加します。M365の契約時に提供されるxxxxx.onmicrosoft.comドメインは既定のドメインとして設定し、シングルサインオンの対象となるドメインとして利用できません。
カスタムドメインの追加方法
- Microsoft 365 の管理センターにグローバル管理者でログインします。
- 設定>ドメイン画面へ移動します。
- ドメインの追加ボタンをクリックします。
- 追加するドメインの名前を入力し、このドメインを使用するボタンをクリックします。
- ドメインの所有を確認する方法を選択します。
- Microsoftがドメインを使用するために必要なDNS変更を行います。
- 完了ボタンをクリックします。
詳細は、Microsoft 365 のヘルプ記事を参照してください。
xxxxx.onmicrosoft.comドメインを既定のドメインにする方法
- Microsoft 365 の管理センターにグローバル管理者でログインします。
- 設定>ドメイン画面へ移動します。
- ドメイン画面で、xxxxx.onmicrosoft.comドメインを選択します。
- 既定に設定ボタンをクリックします。
詳細は、Microsoft 365 のヘルプ記事を参照してください。
Info
Exchange Onlineが生成する組織外向けの配信不能通知(NDR)の送信元メールアドレスは、postmaster@組織の既定のドメインです。そのため、NDRの送信元は、postmaster@xxxxx.onmicrosoft.comとなります。組織外向けのNDRの送信元メールアドレスを変更したい場合には、Windows PowerShell Set-TransportConfig
コマンドを使用します。詳細は、Exchange Onlineの記事を参照してください。
緊急アクセス用アカウントの作成
グローバル管理者が、シングルサインオンするカスタムドメインにしかいない場合、フェデレーション(SAML)による認証ができない状況に陥ると、グローバル管理者としてM365にログインすることができなくなってしまいます。そのため、必ず、緊急アクセス用アカウントとして、xxxxx.onmicrosoft.comドメインにグローバル管理者のロールを割当てたユーザを作成しておきます。
Info
緊急アクセス用アカウントには、様々な要件があります。詳しくは、Azure AD で緊急アクセス用管理者アカウントを管理するを参照してください。
シングルサインオンおよびプロビジョニング設定
M365のアプリ登録
- Azureポータルへグローバル管理者でログインします。
-
Azure Active Directory管理画面に移動します。(画面上部の検索ボックスにActiveと入力し、表示されたAzure Active Directoryをクリックします。)
-
サイドメニューからアプリの登録をクリックします。
-
新規登録ボタンをクリックします。
-
以下の内容で設定し、登録ボタンをクリックします。
設定項目 設定内容 名前 任意です。(例:SingleID) サポートされているアカウントの種類 この組織ディレクトリのみに含まれるアカウント (シングル テナント) -
アプリケーション (クライアント) ID、ディレクトリ (テナント) IDは、SingleIDのアプリ登録のプロビジョニング設定で必要となります。値をコピーして、保存しておきます。
-
サイドメニューから証明書とシークレットをクリックします。
-
クライアント シークレットタブへ移動し、新しいクライアント シークレットボタンをクリックします。
-
以下の内容で設定し、追加ボタンをクリックします。
設定項目 設定内容 説明 任意です。(例:SingleID連携) 有効期限 24か月 -
作成されたクライアント シークレットは、SingleIDのアプリ登録のプロビジョニング設定で必要となります。値をコピーして、保存しておきます。
Warning
クライアント シークレットの値は、画面を遷移すると参照できなくなります。値をコピーし忘れた場合には、作成したクライアント シークレットを削除し、再作成してください。
-
サイドメニューからAPI のアクセス許可をクリックします。
-
アクセス許可の追加ボタンをクリックします。
-
Microsoft APIのMicrosoft Graphを選択します。
-
アプリケーションの許可を選択します。
-
以下のアクセス許可を全て追加します。全て選択したらアクセス許可の追加ボタンをクリックします。
- Directory.ReadWrite.All
- Group.ReadWrite.All
- GroupMember.ReadWrite.All
- Organization.ReadWrite.All
- User.ReadWrite.All
-
追加したアクセス許可が一覧に表示されたことを確認し、管理者の同意を与えますボタンをクリックします。
-
はいをクリックします。
SingleIDのアプリ連携設定
- SingleID 管理者ポータル>アプリ連携>アプリ一覧画面へ移動します。
-
カタログ表示ボタンをクリックします。
-
アプリカタログが表示されるので、Microsoft 365の登録ボタンをクリックします。
-
アプリ登録画面がポップアップします。情報タブの名前に、アプリを識別できるような名前を、半角小文字の英数字、-(ハイフン)、_(アンダースコア)で設定します。
-
シングルサインオンタブに移動します。
-
SSO 有効/無効を有効に設定します。
- IdP エンドポイントメタデータのダウンロードボタンをクリックし、メタデータを取得します。このメタデータは、M365の設定を行うときに必要となります。
-
プロビジョニングタブに移動します。
-
プロビジョニング 有効/無効を有効に設定します。
-
ユーザ削除時の同期の動作 無効/削除を設定します。無効を推奨します。
- 無効の場合、SingleIDのM365アプリからユーザを削除した際、M365ではユーザはライセンスが適用されたまま無効化されます。必要に応じて、M365管理センターから、ユーザのライセンス解除またはユーザ削除を手動で行ってください。
-
削除の場合、SingleIDのM365アプリからユーザを削除した際、M365のユーザも削除(M365の削除済みユーザとして表示)されます。
Danger
M365のユーザが削除されるとユーザに関連付くデータも削除されます。元従業員を削除し、データをセキュリティで保護するを参照し、適切にデータを保護してください。
-
以下の内容で設定し、登録ボタンをクリックします。
設定項目 設定内容 ディレクトリ (テナント) ID M365のアプリ登録の手順6参照 アプリケーション (クライアント) ID M365のアプリ登録の手順6参照 クライアント シークレット M365のアプリ登録の手順10参照 ライセンスの自動割当 有効(詳細は、自動割当可能なライセンスを参照)
SingleIDのアプリにユーザ追加
- SingleID 管理者ポータル>アプリ連携>アプリ一覧画面へ移動します。
- 登録したアプリの列にあるチェックボックスを選択します。
-
ユーザ追加ボタンをクリックします。
-
ユーザ追加画面がポップアップします。アプリへ追加したいユーザ名を選択し、登録ボタンをクリックして、アプリへユーザを追加します。
動作確認(ユーザ/グループ同期)
- Microsoft 365 の管理センターにグローバル管理者でログインします。
-
ユーザー>アクティブなユーザー画面およびチームとグループ>アクティブなチームとグループ画面へ移動し、以下のことを確認します。
- アプリに追加したユーザが作成されていること
- グループが作成され、メンバーが追加されていること
-
ユーザに適切なライセンスが割当てられていること
Info
ライセンスの自動割当によりライセンスが割当てられていない場合には、手動で、ユーザにライセンスを割当てるか、M365ライセンスの自動割当の代替案を検討してください。
M365のフェデレーション(SAML)設定
-
PowerShellで、グローバル管理者としてAzure ADにログインします。
PowerShellConnect-MsolService
-
シングルサインオンするカスタムドメインにフェデレーション(SAML)設定を行います。PowerShellのサンプルスクリプトの変数を環境に合わせて値を変更してから、実行します。
PowerShellの変数 変数の値 $domain シングルサインオンするカスタムドメイン $IdpIssuer SingleIDのIdPエンドポイントメタデータのファイルを開きます。 <md:EntityDescriptor entityID=
から始まる行のURLを入力します。
(例:https://auth-02-0001.poc.singleid.jp/auth/realms/90000013
)$IdpSigningCert SingleIDのIdPエンドポイントメタデータのファイルを開きます。 <ds:X509Certificate>
タグ内のMIIで始まる文字列(例:MIICnzCCAYcCBgF/zubcKTANBgkqhkiG9w0BAQsFADATMREwDw……..
)をコピーして、入力します。PowerShellのサンプルスクリプト$domain = "xxxxx.singleid.jp" $IdpIssuer = "https://auth-02-0001.dev.singleid.jp/auth/realms/90000013" $IdpSigningCert = "MIICnzCCAYcCBgF/zubcKTANBgkqhkiG9w0BAQsFADATMREwDw…….." $BrandName = "SingleID" $IdpEndpoint = $IdpIssuer + "/protocol/saml" $LogOffUrl = $IdpIssuer + "/protocol/openid-connect/logout" $Protocol = "SAMLP" Set-MsolDomainAuthentication ` -DomainName $domain ` -FederationBrandName $BrandName ` -Authentication Federated ` -PassiveLogOnUri $IdpEndpoint ` -ActiveLogOnUri $IdpEndpoint ` -SigningCertificate $IdpSigningCert ` -IssuerUri $IdpIssuer ` -LogOffUri $LogOffUrl ` -PreferredAuthenticationProtocol $Protocol
-
フェデレーション(SAML)設定が行えたことを確認します。シングルサインオンするカスタムドメインVerified Federatedとなっていればフェデレーション(SAML)設定がされています。
PowerShellGet-MsolDomain
レスポンスName Status Authentication ---- ------ -------------- xxxxx.onmicrosoft.com Verified Managed xxxxx.singleid.jp Verified Federated
動作確認(シングルサインオン)
M365のログイン画面で、パスワードの入力を要求された場合
Microsoftのドキュメントによると、フェデレーション(SAML)設定が有効となるまで、2時間ほどかかる場合があります。しばらくたってからお試しください。
M365のログイン画面で、アカウント保護にご協力くださいの画面が表示された場合
セキュリティの既定値が有効化されています。以下の手順に従い、無効化します。
- Azureポータルへグローバル管理者でログインします。
-
Azure Active Directory管理画面に移動します。(画面上部の検索ボックスにActiveと入力し、表示されたAzure Active Directoryをクリックします。)
-
サイドメニューからプロパティをクリックします。
- セキュリティの既定値の管理をクリックします。
-
セキュリティの既定値の有効化をいいえを選択し、保存ボタンをクリックします。
M365のログイン画面で、詳細情報が必要の画面が表示された場合
M365のパスワード リセットのセルフサービスが有効となっています。SingleIDで認証するユーザに対して、M365のセルフパスワードリセットを無効化します。
- Azureポータルへグローバル管理者でログインします。
-
Azure Active Directory管理画面に移動します。(画面上部の検索ボックスにActiveと入力し、表示されたAzure Active Directoryをクリックします。)
-
サイドメニューからユーザをクリックします。
- サイドメニューからパスワードリセットをクリックします。
-
パスワード リセットのセルフサービスが有効をすべてから選択済み(シングルサインオンを実施しないユーザを選択)またはなしに変更し、保存ボタンをクリックします。