はじめに
こんにちは、DXソリューション統括部の鈴木です。
今回は、Teamsのチーム(M365グループ)に対してゲストの追加を不可とする設定方法について最近理解したことを、備忘録も兼ねて纏めておこうと思います。
ゲスト追加を不可とする設定方法
Teamsのチーム(M365グループ)に対してゲストの追加を不可とする方法は以下の三つがあります。
①ゲストアクセスのマスタースイッチ
②秘密度ラベル
③Microsoft Graph PowerShell Module (旧Azure AD PowerShell Module)
それぞれの方法について、詳しくご説明します。
※なお、今回ご紹介するのは「チームへのゲスト追加を不可とする」方法であり、既存ゲストの削除は対象外となります。
方法①:「Teamsでゲストアクセスを許可する」をオフにする
Teamsにはゲストアクセス用のマスターのオン/オフスイッチがあり、それをオフにすることでゲストの追加を拒否する方法です。
マスターとしての設定になりますので、全てのチームに設定が適用されます。そのため「Teamsのチーム単位ではなく、全てのチームに対してゲストの追加を拒否したい!」といった場合には、この方法が便利かと思います。
設定方法としては、M365管理センターの「ユーザー\ゲストアクセス」へ移動すると、「Teamsへのゲストアクセスを許可する」が表示されます。ここで「オフ」を選択し、下部の「保存」をクリックすると設定完了です。
※設定の反映には時間がかかることがあります。
設定後、該当のTeamsにてチーム作成時にメンバーを追加したり、既存のチームにメンバーを追加しようとすると、ゲストの追加ができないことが分かります。
ちなみにゲストの追加が可能な場合は、以下のように「メールアドレスを入力することで~」の文面が加わります。
なお、チーム毎にゲスト追加の許可/不可の設定をしたい場合は、このマスタースイッチを「オン」としてください。
「オフ」の場合は強制的に全てのチームがゲストを追加できなくなるため、マスターは「オン」にしたうえで後述の方法を活用することで、一部のチームにだけゲストの追加を不可とすることができます。
【参考】
方法②:秘密度ラベルで設定する
Microsoft Purviewの機能で、組織データの機密性を識別・機密性に応じた保護設定の適用ができる「秘密度ラベル」ですが、Teamsのチームへのゲストアクセスを制御することもできます。
ゲストアクセスを許可しない設定でラベルを作成・発行すると、そのラベルで作成されたチームはゲスト追加ができなくなります。
秘密度ラベル自体の作成・発行については、Microsoft社の公式ドキュメントをご参照いただきたいのですが、秘密度ラベル作成時に以下の設定を行うことで、ゲスト追加を不可とするラベルとすることができます。
・「プライバシーと外部ユーザーアクセス設定」に☑
・「外部ユーザーアクセス」は□のまま
※ここを☑にすると、ゲストの追加が可能になります。
こうして作成・発行したラベルでチームを作成すると、メンバー追加の画面は以下のようになり、ゲストが追加できない設定になっていることが分かります。
この秘密度ラベルの設定状況は、Microsoft Teams管理センターの「チームの管理」にて一覧として確認が可能です。
PowerShellのサポートはないため、コマンドによる確認ができない点はご注意ください。
【参考】
方法③:Microsoft Graph PowerShell Moduleコマンドで設定する
先述の秘密度ラベルとは別に、PowerShellを使用してゲストがチームに追加されないようにすることができます。チーム作成時に適用する方法②と異なり、既に作成したチームに対する後付け処理のようなものです。
スクリプトの処理の一部としてゲスト追加不可の設定を行いたい場合は、この方法が適しているかと思います。
今回使用するモジュールは「Microsoft GraphPowershell Module」という、Azure AD PowerShell Moduleの後継になります。
Azure AD PowerShell ModuleはPowerShell7と互換性がなく、また今後廃止が予定されていることから、「Microsoft GraphPowershell Module」のコマンドレットをご紹介します。
#事前準備:Powershellを管理者権限で起動
Install-Module Microsoft.Graph
# 実行準備
Import-Module Microsoft.Graph.Groups
Import-Module Microsoft.Graph.Identity.DirectoryManagement
Select-MgProfile -Name “beta”
# グローバル管理者のアカウントを利用して、以下のコマンドよりサインインを行う。ブラウザーが起動。
# “<テナントID>” にはテナント ID を指定。
Connect-MgGraph -Scopes “Directory.ReadWrite.All” -TenantId “<テナントID>”
# “<チームID>” には検索を行う Teams の チームIDを想定。
$groupId = “<チームID>”
# グループの設定を変更。
$params = @{
TemplateId = “08d542b9-071f-4e16-94b0-74abb372e3d9”
Values = @(
@{
Name = “AllowToAddGuests”
Value = “false”
}
)
}
New-MgGroupSetting -GroupId $groupId -BodyParameter $params
↑内のTemplateIdは以下のコマンドから確認可能です。もし異なる場合は値を差し替えてください。
Select-MgProfile -Name “beta”
Get-MgDirectorySettingTemplate | where -Property DisplayName -Value “Group.Unified.Guest” -EQ
Microsoft Graphへの接続に伴う資格情報等の手入力を無くしたい場合は、アプリケーションの権限を用いることで実現が可能です。
※Microsoft Graph接続部分のコマンドは多少変更が発生します
【参考】
・アプリケーションの権限でMicrosoft Graphに接続する
補足:方法①~③の優先度・関係について
これまでチームにゲストの追加を不可とする方法を三つご紹介しましたが、それぞれが全く同じものかというと、そうではありません。以下に記載の通り、適用における優先度のようなものが存在するようです。
①マスター設定>②秘密度ラベル>③PowerShell
①マスター設定を「オフ」とすると全てのチームにゲスト追加ができなくなるため、後から②や③の方法を実行しても、あまり意味はありません。
また、②秘密度ラベルを適用したチームに対して③PowerShellの処理を行うと、以下のようなエラーが出ます。
元々秘密度ラベルでゲスト追加を拒否していれば特に問題はありませんが、ゲスト追加を許可するラベルの場合はPowerShellで拒否することはできませんのでご注意ください。
Assigned label does not allow the group guest setting operation.
おわりに
ここまで、Teamsのチームへのゲスト追加を不可とする設定方法についてご説明してきました。
ご覧いただいた方にとって、本件に関する理解を深める、或いはゲスト追加不可の設定方針を決める際の一助となれば幸いです。
最後までお付き合いいただきありがとうございました!