SharePoint Online PowerShell を使用してデータ アクセス ガバナンス レポートを管理する

データ アクセス ガバナンスは SharePoint 管理センターで使用できます。一部の組織では、PowerShell を使用して、スクリプトと自動化を通じて大規模な設定を管理することを好みます。 この記事では、SharePoint Online PowerShell モジュールを使用してデータ アクセス ガバナンス レポートを管理する方法について説明します。

開始する前に

organizationが SharePoint Online PowerShell モジュールの要件など、SharePoint 高度な管理 の前提条件を満たしていることを確認します。

データ アクセス ガバナンスに対する PowerShell サポートは、モジュール Microsoft.Online.SharePoint.PowerShell およびバージョン 16.0.25409 以降から入手できます。

SharePoint に接続するときは、Credential パラメーターを指定せずにConnect-SPOService コマンドを実行します。 セキュリティのベスト プラクティスに従って、資格情報パラメーターを使用したサインインはサポートされていません。

PowerShell を使用してレポートを作成する

一般的な PowerShell 構文、パラメーター、および例については、「 Start-SPODataAccessGovernanceInsight」を参照してください。

特定のレポートの例については、この記事の次のセクションを参照してください。

サイトのアクセス許可状態レポートを生成する

ユーザーとコンテンツのアクセス許可を尊重するため、特に Copilot の導入後に、organizationでのアクセス許可の設定を理解する必要があります。 Copilot のデータ公開リスクは、アクセス許可またはアクセス権を持つユーザーの数に伴って増加します。 サイトのアクセス許可状態レポートは、organization内のすべての SharePoint および OneDrive サイトに対するアクセス許可を持つユーザーの一意の数に基づいて、潜在的な公開に関する詳細な分析情報を提供します。

最初にこのレポートを実行して、organizationのアクセス許可の概要を確認します。 このレポートは、スナップショット レポートです。 レポート生成日時点のorganization全体の最新のスナップショットまたは状態が表示されます。

すべての SharePoint サイトのレポートを生成するには、次のコマンドを実行します。

Start-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers -ReportType Snapshot -Workload SharePoint -CountOfUsersMoreThan 0  -Name "OrgWidePermissionedUsersReportSharePoint"

すべての OneDrive for Business アカウントのレポートを生成するには、次のコマンドを実行します。

Start-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers -ReportType Snapshot -Workload OneDriveForBusiness -CountOfUsersMoreThan 0  -Name "OrgWidePermissionedUsersReportODB"

レポートに関する次の重要な点に留意してください。

  • これらのレポートは包括的であり、テナント内のすべてのデータをカバーする可能性が高いため、最大 2 つのレポートを作成できます。 ワークロードごとに 1 つのレポートを作成できます。
  • 最初のレポートは、organizationのサイズに関係なく、完了するまでに常に最大 5 日かかります。 後続のレポートは 24 時間以内に完了します。
  • これらのレポートは、レポート生成の最大 48 時間前にデータをキャプチャします。
  • 生成されると、30 日に 1 回、これらのレポートを再実行できます。

これらのコマンドは、少なくとも 1 人のユーザーがサイト内の任意のコンテンツにアクセスできるすべてのサイトの一覧を生成します。 レポートを解釈する方法の詳細については、「organization レポートのサイトのアクセス許可を表示する方法」を参照してください。

テナントでのオーバーシェアリングの程度を理解したら、過去 28 日間のアクティブ サイトからのさらに逸脱を追跡できます。 過去 28 日間に "リンクの共有" や "外部ユーザーを除くすべてのユーザー" と共有されたコンテンツなど、潜在的な過剰共有の主な要因としてアクティブなサイトに関するレポートを生成できます。

ユーザーアクセス許可状態レポートを生成する

organization全体のサイトアクセス許可レポートは、テナント全体のアクセス許可の現在の状態を理解するのに役立ちますが、特定のユーザーがアクセスできるサイトを検出する必要があるシナリオもあります。 詳細については、「スナップショット レポートを使用してorganizationのサイトのアクセス許可ベースラインを取得する」を参照してください。 次のセクションでは、データ アクセス ガバナンスが PowerShell を使用してこのようなレポートを生成する方法について説明します。

まず、 Get-MgUser コマンドを使用して、レポートを生成するユーザーの UPN またはユーザー プリンシパル名を取得します。 次に、次の PowerShell コマンドを実行します。これにより、それらのユーザーがアクセスできる SharePoint サイトを一覧表示するレポートがトリガーされます。

Start-SPODataAccessGovernanceInsight -ReportEntity PermissionsReport -ReportType Snapshot -Workload SharePoint -Name "UserSharePointReport" -UserEmailList "a@contoso.com","b@contoso.com"

重要

パラメーターの名前は UserEmailListですが、レポートにはユーザー プリンシパル名が必要です。 1 つの要求に最大 100 人のユーザーを含めることができます。

特定のユーザーがアクセスできる OneDrive アカウントを一覧表示するには、ワークロードを OneDriveForBusinessとして指定します。

Start-SPODataAccessGovernanceInsight -ReportEntity PermissionsReport -ReportType Snapshot -Workload OneDriveForBusiness -Name "UserOneDriveReport" -UserEmailList "a@contoso.com","b@contoso.com"

PowerShell を使用してファイル レポートに秘密度ラベルを生成する

この PowerShell コマンドを実行して、レポート生成日の時点で、特定のアイテムが特定のラベルでラベル付けされたサイトを一覧表示するようにレポートをトリガーします。

まず、 Security & Compliance PowerShell モジュールを使用して、ラベル名またはラベル GUID を取得します。

Get-Label | Format-Table -Property DisplayName, Name, GUID, ContentType

次に、名前と GUID を使用して、指定されたラベル名または GUID でラベル付けされたファイルを含むサイトを取得します。

Start-SPODataAccessGovernanceInsight -ReportEntity SensitivityLabelForFiles -Workload SharePoint -ReportType Snapshot -FileSensitivityLabelGUID "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1" -FileSensitivityLabelName Secret

注:

現在、ラベル付けされたファイルを含む OneDriveForBusiness アカウントのレポートはサポートされていません。

リンク アクティビティ レポートの共有を使用して、コラボレーションでアクティブであり、潜在的な過剰共有リスクを軽減するためにより迅速な介入が必要なサイトを特定します。 これらの最近のアクティビティ ベースのレポートは、過去 28 日間に最も多くの共有リンクを生成するサイトを識別します。

次の共有リンク アクティビティ レポートを生成します。

  • 過去 28 日間に [ すべての 共有] リンクを作成したサイト
  • 過去 28 日間にorganization共有リンクにPeopleを作成したサイト
  • 過去 28 日間に 特定のユーザー (ゲスト) 共有リンクを作成したサイト
Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Anyone -Workload SharePoint -ReportType RecentActivity

すべての OneDrive アカウントを同じ条件で取得するには、ワークロード値を OneDriveForBusiness として指定します。

Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_PeopleInYourOrg -Workload SharePoint -ReportType RecentActivity

すべての OneDrive アカウントを同じ条件で取得するには、ワークロード値を OneDriveForBusiness として指定します。

Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Guests -Workload SharePoint -ReportType RecentActivity

すべての OneDrive アカウントを同じ条件で取得するには、ワークロード値を OneDriveForBusiness として指定します。

過去 28 日間に "外部ユーザーを除くすべてのユーザー" と共有されているコンテンツを特定する

リンクを共有すると、潜在的なオーバーシェアリングに貢献できますが、もう 1 つの重要な共同作成者は"外部ユーザーを除くすべてのユーザー" (EEEU) です。 EEEU は、コンテンツを公開 (organization全体に表示) し、他のユーザーがコンテンツを簡単に検出してアクセスできるようにします。 これらのレポートは、過去 28 日間のさまざまなスコープで EEEU を積極的に使用したサイトを特定します。

次の EEEU アクティビティ レポートを生成できます。

  • 過去 28 日間に外部ユーザーを除くすべてのユーザーと共有されたサイト
  • 過去 28 日間に外部ユーザーを除くすべてのユーザーと共有されたアイテム

重要

現在、OneDrive for Businessの EEEU レポートでは、アイテム レベルのみがサポートされています。 サイト レベルでのOneDrive for Businessの EEEU レポートはサポートされていません。 Microsoft SharePoint 高度な管理 ライセンスをお持ちでない場合は、関連する監査データを収集してレポートを作成できるように、最近のアクティビティ ベースのレポートのデータ収集を有効にする必要があります。 有効にすると、データが収集され、28 日間保存されます。 レポートは 24 時間後に生成でき、コレクションポイントのデータが含まれます。 3 か月に 1 回もレポートを生成しない場合、データ収集は一時停止され、再度有効にする必要があります。 これらのレポートのデータ収集を有効にするには、「最近の アクティビティ ベースのレポートのデータ収集を管理する」セクションを参照してください。

過去 28 日間に "外部ユーザーを除くすべてのユーザー" と共有されているサイトを特定する

サイト メンバーシップ (所有者、メンバー、または訪問者) に EEEU を追加すると、サイトのコンテンツ全体がパブリックになり、共有が過剰になりやすくなります。 次の PowerShell コマンドを実行して、SharePoint サイトの過去 28 日間にこのようなサイトをキャプチャするようにレポートをトリガーします。

Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersAtSite -Workload SharePoint -ReportType RecentActivity -Name "PublicSiteViaEEEU"

過去 28 日間に "外部ユーザーを除くすべてのユーザー" と共有されているアイテムを特定する

次の PowerShell コマンドを実行して、SharePoint サイトの過去 28 日間に EEEU と共有した特定のアイテム (ファイル、フォルダー、またはリスト) をキャプチャするレポートをトリガーします。

Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersAtSite -Workload SharePoint -ReportType RecentActivity -Name "PublicSiteViaEEEU"

注:

ワークロードの値を OneDriveForBusiness に置き換えて、すべての OneDrive アカウントの "外部ユーザーを除くすべてのユーザー" と共有されるアイテムを同じ条件で取得します。

最近のアクティビティ ベースのレポートのデータ収集を管理する

重要

Microsoft SharePoint 高度な管理 ライセンスをお持ちでない場合は、関連する監査データを収集してレポートを作成できるように、最近のアクティビティ ベースのレポートのデータ収集を有効にする必要があります。 有効にすると、24 時間後にレポートを生成でき、コレクションポイントのデータが含まれます。 データは 28 日間保存されます。 3 か月に 1 回もレポートを生成しない場合、データ収集は一時停止され、再度有効にする必要があります。

最近のアクティビティ ベースのレポートのデータ収集を有効にする

この PowerShell コマンドは、過去 28 日間のアクティビティに関するレポートの監査データの収集を開始します。

Start-SPOAuditDataCollectionForActivityInsights -ReportEntity SharingLinks_Anyone

ReportEntity パラメーターに適用できる値は、SharingLinksAnyone、SharingLinksPeopleInYourOrg、SharingLinksGuests、EveryoneExceptExternalUsersAtSite、EveryoneExceptExternalUsersForItems、CopilotAppInsights です。

最近のアクティビティ ベースのレポートのデータ収集を無効にする

この PowerShell コマンドは、過去 28 日間のアクティビティに関するレポートの監査データの収集を停止します。

Stop-SPOAuditDataCollectionForActivityInsights -ReportEntity SharingLinks_Anyone

最近のアクティビティ ベースのレポートのデータ収集の状態を確認する

データ収集が有効になると、24 時間後にレポートを生成できます。 レポートを生成できるかどうかをチェックするには、PowerShell コマンド Get-SPOAuditDataCollectionStatusForActivityInsights を使用します。 コマンドは現在のデータ収集状態を返します。これは、 NotInitiatedInProgress、または Pausedできます。 レポートは、状態が InProgressされたときに生成できます。

Get-SPOAuditDataCollectionStatusForActivityInsights -ReportEntity SharingLinks_Anyone

PowerShell を使用してレポートを追跡する

重要

レポートを作成するたびに、レポートの状態を追跡するために使用できる GUID が返されます。

Start-SPODataAccessGovernanceInsight -ReportEntity SensitivityLabelForFiles -Workload SharePoint -ReportType Snapshot -FileSensitivityLabelGUID "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1" -FileSensitivityLabelName Secret
ReportId                             Status
--------                             ------
a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 NotStarted

Get-SPODataAccessGovernanceInsight コマンドを使用して、レポート ID を使用して特定のデータ アクセス ガバナンス レポートの現在の状態を取得します。

Get-SPODataAccessGovernanceInsight -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportId          : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportEntity      : SharingLinks_Anyone
Status            : InQueue
Workload          : SharePoint
TriggeredDateTime : 11/13/2024 19:32:34
CreatedDateTime   : 11/13/2024 20:09:23
ReportStartTime   : 10/17/2024 19:32:33
ReportEndTime     : 11/13/2024 19:32:33
ReportType        : RecentActivity
SitesFound        : 120

ReportStartTimeReportEndTimeには、レポートのデータ期間が表示されます。 レポートの生成が完了すると、状態が Completed に変わります。

また、ID ではなくフィルター ReportEntity を使用して、DAG レポートの現在の状態を表示することもできます。 reportIDが出力に表示され、後で特定のレポートをダウンロードするために必要になります。

Get-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers
ReportId             : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportName           : PermissionReportFor1AsOfSept
ReportEntity         : PermissionedUsers
Status               : Completed
Workload             : SharePoint
TriggeredDateTime    : 09/18/2024 11:06:16
CreatedDateTime      : 09/22/2024 12:12:48
ReportType           : Snapshot
CountOfUsersMoreThan : 1
CountOfSitesInReport : 7
CountOfSitesInTenant : 22
Privacy              : All
Sensitivity          : {All}
Templates            : {All}

ReportId             : b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2
ReportName           : PermissionReportFor1AsOfOct
ReportEntity         : PermissionedUsers
Status               : Completed
Workload             : SharePoint
TriggeredDateTime    : 10/09/2024 14:15:40
CreatedDateTime      : 10/09/2024 15:18:23
ReportType           : Snapshot
CountOfUsersMoreThan : 100
CountOfSitesInReport : 0
CountOfSitesInTenant : 26
Privacy              : All
Sensitivity          : {All}
Templates            : {All}

PowerShell を使用してレポートを表示およびダウンロードする

特定のレポートをダウンロードするには、reportID が必要です。 Get-SPODataAccessGovernanceInsight コマンドを使用して reportID を取得します。 次に、 Export-SPODataAccessGovernanceInsight コマンドを使用して、指定したパスにレポートをダウンロードします。

Export-SPODataAccessGovernanceInsight -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 -DownloadPath "C:\Users\TestUser\Documents\DAGReports"

このコマンドは、指定したパスに CSV ファイルをダウンロードします。 CSV の詳細と各レポートの表示については、「 SharePoint 管理センターのデータ アクセス ガバナンス レポートにアクセスする方法」を参照してください。

注:

既定のダウンロード パスは、 ダウンロード フォルダーです。

PowerShell を使用して修復アクションを実行する

データ アクセス ガバナンス レポートを生成した後、「 データ アクセス ガバナンス レポートからのアクションの修復」で説明されているように、修復アクションを実行できます。

次のセクションでは、修復アクションとしてサイト アクセス レビューを開始および追跡するための PowerShell コマンドについて説明します。

PowerShell を使用してサイト アクセス レビューを開始する

Start-SPOSiteReview コマンドを使用して、データ アクセス ガバナンス レポートの下に一覧表示されている特定のサイトのサイト アクセス レビューを開始します。 データ アクセス ガバナンス レポートには、レビューを開始するコンテキストが用意されています。 CSV ファイルからレポート ID とサイト ID を取得し、レビューの目的についてサイト所有者に明確にするためのコメントを提供します。

Start-SPOSiteReview -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 -SiteID c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3 -Comment "Check for org wide access"
ReviewId                : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId                  : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 13-11-2024 20:55:41
ReportEntity            : PermissionedUsers
Status                  : Pending
AdminComment            : Check for org wide access
SiteName                : All Company

このコマンドは、「サイト アクセス レビューを開始する方法」の説明に従って、サイト所有者に電子メールを生成します。

重要

organization レポート全体のサイトのアクセス許可から、1 か月あたり最大 1,000 個のサイト アクセス レビューを開始できます。 この制限は、新しい月の開始時にリセットされます。

PowerShell を使用してサイト アクセス レビューを追跡する

Start-SPOSiteReview コマンドを使用して、サイト アクセス レビューの状態を追跡します。 特定のレビューについては、出力に示すように ReviewID 値を使用します。 レポート モジュールに関連するすべてのレビューを取得するには、 ReportEntity パラメーターを使用します。

Get-SPOSiteReview -ReportEntity PermissionedUsers
ReviewId                : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId                  : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 13-11-2024 20:55:41
ReviewCompletedDateTime :
ReportCreatedDateTime   : 13-11-2024 23:25:41
ReportEndDateTime       : 13-11-2024 23:25:41
ReportEntity            : PermissionedUsers
Status                  : Pending
AdminComment            : Check for org wide access
SiteName                : All Company
ReviewerEmail           :
ReviewerComment         :

ReviewId                : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId                  : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 24-10-2024 11:07:39
ReviewCompletedDateTime : 15-11-2024 11:07:39
ReportCreatedDateTime   : 15-10-2024 09:24:47
ReportEndDateTime       : 15-10-2024 11:39:52
ReportEntity            : PermissionedUsers
Status                  : Completed
AdminComment            : Check for org wide access
SiteName                : All Company
ReviewerEmail           : Jon@contosofinance.com
ReviewerComment         : Removed EEEU for sensitive documents