チーム単位でゲストアクセスの許可・禁止を設定する方法を解説いたします。
前提条件
チーム単位でゲストアクセスの許可・禁止を設定するにはAzure AD Premiumが必要です。
詳細は以下のページに記載されています。
以下のような注意書きがあり、Azure AD Premiumが必要なことが書かれています。
テンプレート設定の場所に以下のように記載されています。
ちなみに、実際に使用する際はAllowAddGuestsではなくAllowToAddGuestsが正しいです。
テナント全体の設定
Teams管理センターで「Teamsへのゲストアクセスの許可する」をオンにしておく必要があります。
テナント全体で許可し、チーム単位で禁止をする形式となります。
チーム単位でのゲストアクセスの禁止方法
禁止前の状態
ゲストアクセスが許可されている状態からスタートします。
現状の動作を確認します。
メンバー追加の画面です。
「メールアドレスを入力することで、組織外のユーザーを追加することもできます。」と書かれています。
これがゲストアクセスが許可されていることを示しています。
メールアドレスを入れると以下のようになり、追加できます。
PowerShellの準備
PowerShellの接続準備です。
PowerShellを管理者として実行します。
Office 365に接続する際のお約束コマンドですが、まだやってない場合は以下のコマンドを実行します。
Set-ExecutionPolicy RemoteSigned
最新になっていない場合は最新のAzureADのモジュールをインストールします。
Uninstall-Module AzureADPreview
Uninstall-Module AzureAD
Install-Module AzureADPreview
Azure ADに接続します。
Connect-AzureAD
特定のチームをゲストアクセス禁止にする
詳細は以下のページに書いてあります。
ここではこれを実行すればすぐできるというようにまとめました。YourGroupNameをチーム名に合わせて変更してください。
$Template1 = Get-AzureADDirectorySettingTemplate | ? {$_.displayname -eq "Group.Unified.Guest"}
$SettingCopy = $Template1.CreateDirectorySetting()
$SettingCopy["AllowToAddGuests"]=$False
$groupID= (Get-AzureADGroup -SearchString "YourGroupName").ObjectId
New-AzureADObjectSetting -TargetType Groups -TargetObjectId $groupID -DirectorySetting $SettingCopy
実行すると即座に該当のチームがゲストアクセス禁止になります。一瞬で変わります。
DocsのページではAllowAddGuestsと誤って記載されていますが、AllowToAddGuestsが正しいです。
Get-AzureADDirectorySettingTemplateでGroup.Unified.Guestのテンプレート設定の中身を見てみると以下のようになっています。
禁止後の状態
ゲストアクセスを禁止にしたチームのメンバーの追加画面です。
「メールアドレスを入力することで、組織外のユーザーを追加することもできます。」という記載がなくなっています。
当然メールアドレスを入力しても追加できません。
禁止の取り消し
以下のコマンドを実行すれば禁止したものが取り消されます。YourGroupNameをチーム名に合わせて変更してください。Docsには更新する手順が書いてありますが、削除する方が楽だしすっきりします。
$groupID= (Get-AzureADGroup -SearchString "YourGroupName").ObjectId
Remove-AzureADObjectSetting -TargetType Groups -TargetObjectId $groupID -ID (Get-AzureADObjectSetting -TargetObjectId $groupID -TargetType Groups).ID
おわりに
既定がゲストアクセス許可になるため、チームの作成をエンドユーザーに開放していると、チーム作成直後にゲストアクセスの招待をできてしまいます。
そのため、チームの作成をIT部門でコントロールする運用をしていないとチーム単位でゲストアクセスの許可・禁止を設定することはあまり意味がありませんのでご注意ください。