機密ラベルを同期して SharePoint オンライン サイトを更新する

機密ラベルを同期して SharePoint オンライン サイトを更新する [ad_1]

ラベルなしの SharePoint サイトの調査

Microsoft は、管理者が操作する可能性のあるインサイトを含むカードを管理コンソールに装備するのが好きです。

SharePoint オンライン管理センターによって報告されたラベルのないサイト
図 1: SharePoint オンライン管理センターによって報告されたラベルのないサイト

Microsoft 365 では、秘密度ラベルを使用して “コンテナー" (チーム、グループ、およびサイト) に設定を適用します。 SharePoint オンライン サイトの外部共有機能の制御 このアプローチの力の良い例です。既定では、新しい Microsoft 365 グループとチームを作成するときに、機密ラベルを割り当てるので、非常に多くのサイトのラベルなしの状態を発見して驚きました。

ラベルなしサイトの説明

を使用して、 ラベルのないサイトを管理する リンク、私はサイトを調べました。グループやチームに使用するサイトには機密ラベルを使用しているため、テナント内の一部のサイトにラベルが表示されていないものがあります。これには、次のようなものがあります。

  • ハブ サイト。
  • 通信サイト。
  • システム サイト (Viva トピックの管理に使用されるサイトなど)。

テンプレートを使用して作成されたチームは、2021 年 10 月に Microsoft が問題を修正するまで、チームの所有者に機密ラベルの割り当てを依頼しなかったことを知っています (MC281936 マイクロソフト 365 ロードマップ項目 84232)、他のラベルのないサイトを説明することができました。しかし、SharePointが指摘した126からすべての説明可能なサイトを取り除くことは、過去のある時点で、感度ラベルの同期がSharePoint Onlineと他のワークロードの間でうまく機能しなかったと結論付ける以外は説明できないままでした。これは、SharePoint Online がサイトに割り当てられた秘密度ラベルを認識していない場合、そのラベルで定義されている管理コントロールを適用できないため、修正する必要があります。

レコードの場合、新しいグループの機密ラベルの同期がうまく機能します。これは長い間解決された問題の痕跡かもしれません。

サイトの機密ラベルの修正

この問題に対処するために、私はいくつかのPowerShellを書くことにしました。最初の段階では、チーム用に作成されたすべてのサイトと、ラベルのない Microsoft 365 グループを検索します。これを行うには、コード:

  • を実行します。 ゲット・スポサイト コマンドレットを使用して、チーム サイト テンプレートを使用して作成されたすべてのサイトを検索します。
  • 走る ゲット・スポサイト 各サイトに対して、機密ラベルのないサイトを検索します。ラベルを持っているかどうかを見つけるために、各サイトにアクセスする必要があります。 ゲット・スポサイト では、複数のサイトに対して実行する場合、このプロパティは返されません。
  • ラベルのないサイトをリストに保存します。

私が使用したコードは次のとおりです。

[array]$Sites = Get-SPOSite -Limit All -Template Group#0
If (!($Sites)) { Write-Error "No sites for Microsoft 365 Groups found... exiting!" ; break}
   Else { Write-Host ("Processing {0} sites" -f $Sites.Count) }

$SitesNoLabels = [System.Collections.Generic.List[Object]]::new()
ForEach ($Site in $Sites) { #Check each site to see if it has a sensitivity label
        $SiteData = Get-SPOSite -Identity $Site.Url
        If ([string]::IsNullOrWhiteSpace(($SiteData.SensitivityLabel)) -eq $True) {
           Write-Host ("Site {0} has no label" -f $SiteData.Url) 
           $SiteInfo = [PSCustomObject][Ordered]@{  
              URL    = $SiteData.Url
              Title   = $SiteData.Title   }
           $SitesNoLabels.Add($SiteInfo) }
} #End ForEach Sites

Microsoft 365 グループのプロパティには、秘密度ラベルの GUID (グループ/チームに割り当てられている場合) が格納されます。次の手順では、すべてのグループの秘密度ラベル情報を取得します。グループプロパティにはサイト URL が含まれているため、グループをサイトと一致させることも可能です。私はしたがって:

  • 使用済み 取得統一グループ コマンドレットを使用して、すべての Microsoft 365 グループを検索します。これは大規模なテナントでは高速な操作ではありませんが、これは 1 回限りの操作であるため、許容されます。最大のテナントでは、 取得統一グループ グループ グラフ API を使用したコマンドレット (テナント内のすべての Microsoft 365 グループを取得する呼び出しを参照してください。 この記事で説明します。).
  • プロパティに SharePoint サイト URL がないグループを削除しました (プロビジョニング プロセスでエラーが発生すると、このプロパティが空白になる場合があります)。最終的にサイト URL を SharePoint オンラインから Exchange オンラインに同期します)。
  • サイトの URL と秘密度ラベルの GUID をハッシュ テーブルに格納します。リストもそうしますが、ハッシュテーブルに対してルックアップする方がはるかに速いです。

このセグメントのコードは次のとおりです。

Write-Host "Retrieving sensitivity label information for Microsoft 365 Groups"
[array]$Groups = Get-UnifiedGroup -ResultSize Unlimited 
$Groups = $Groups | ? {$_.SharePointSiteUrl -ne $Null}
$GroupsTable = @{}
$Groups.ForEach( {
       $GroupsTable.Add([String]$_.SharePointSiteUrl, $_.SensitivityLabel) } )

ラベルのないサイトのリストと、基になるグループに割り当てられたラベルを含むテーブルが作成されました。次の手順では、各サイトをグループ テーブルと照合して、サイトに必要なラベルを見つけることができるかどうかを確認します。一致するものが見つかると、サイトを更新できます。次のコード セグメントは、次の処理を行います。

  • ループして、ラベルのない各サイトをチェックします。
  • サイト URL をグループ テーブルに対するルックアップとして使用します。
  • サイトの URL が一致する場合は、ラベル GUID を使用してサイトを更新します。 セットスポサイト コマンドレット。

このコードは、Microsoft 365 グループの情報を使用して、サイトに秘密度ラベルを適用します。

[int]$Updates = 0; [int]$NoUpdates = 0
ForEach ($Site in $SitesNoLabels) {
    $Label = $Null
    $Label = $GroupsTable.Item($Site.Url)
    If ($Label) { # Update the site with the label we find
       Write-Host ("Updating site {0} with label {1}" -f $Site.Url, $Label.Guid) 
       Set-SPOSite -Identity $Site.Url -SensitivityLabel $Label.Guid 
       $Updates++ }
    Else {
       Write-Host ("Can't find sensitivity label for site {0} - group might be deleted" -f $Site.Url)
       $NoUpdates++ }
} #End ForEach Sites

完全なスクリプトは GitHub から入手できます。.

より良いカード

SharePoint Online によって報告された 126 のラベルなしサイトのうち、116 サイトがチーム サイトでした。上述の技術は、103のサイトに感度ラベルを適用するために管理しました。残りの 13 は、保持ポリシー (関連付けられている Microsoft 365 グループがなくなった) のために SharePoint Online によって保持されている削除されたサイトです。SharePoint オンライン管理センターに表示されるカードの外観が良く、サイトに適切なラベルが付いています。すべてが順調です。


このような洞察は簡単には得られない。あなたは技術を知り、舞台裏を見る方法を理解する必要があります。の知識と経験から利益を得る IT 担当者向け Office 365 Office 365 およびより広範な Microsoft 365 エコシステムをカバーする最高の電子ブックをサブスクライブすることでチームを編成します。

[ad_2]

未分類

Posted by admin