データ アクセス ガバナンスは SharePoint 管理センター ポータルで使用できます。大規模な組織は通常、スクリプトと自動化を使用してスケールを管理するために PowerShell のサポートを探します。 この記事では、SharePoint Online PowerShell モジュールを使用してデータ アクセス ガバナンス レポートを管理する方法について説明します。
重要
- データ アクセス ガバナンスに対する PowerShell サポートは、モジュール
Microsoft.Online.SharePoint.PowerShellおよびバージョン16.0.25409以降から入手できます。 -
Credential パラメーターを指定せずに、
Connect-SPOServiceコマンドを実行します。 セキュリティのベスト プラクティスに従って、Credential パラメーターを使用したサインインはサポートされていません。
データ アクセス ガバナンス レポートを作成するには何が必要ですか?
ライセンス要件とは
この記事で説明する機能を使用するには、organizationが適切なライセンスを持ち、特定の管理アクセス許可またはロールを満たしている必要があります。
まず、organizationには次のいずれかの基本ライセンスが必要です。
- Office 365 E3、E5、または A5
- Microsoft 365 E1、E3、E5、または A5
さらに、次のライセンスのうち少なくとも 1 つが必要です。
- Microsoft 365 Copilot ライセンス: organization内の少なくとも 1 人のユーザーに Copilot ライセンスを割り当てる必要があります (このユーザーは SharePoint 管理者である必要はありません)。
- Microsoft SharePoint 高度な管理ライセンス: 単体で購入できます。
管理者の要件
SharePoint 管理者であるか、同等のアクセス許可を持っている必要があります。
追加情報
組織に Copilot ライセンスがあり、組織の少なくとも 1 人に Copilot ライセンスが割り当てられている場合、SharePoint 管理者は Copilot の展開に必要なSharePoint 高度な管理機能に自動的にアクセスできます。
Copilot ライセンスをお持ちでない組織は、スタンドアロンの SharePoint 高度な管理ライセンスを購入することで、SharePoint 高度な管理機能をご利用になれます。
開始する前に必要なものは何ですか?
PowerShell 管理者スクリプトを実行するには、 SharePoint 管理者 であるか、Microsoft 365 で同等のアクセス許可を持っている必要があります。
この記事の PowerShell スクリプトを使用する前に、次の手順を実行する必要があります。
まだダウンロードしていない場合は、最新のSharePoint Online 管理シェルをダウンロードしてください。
注:
以前のバージョンのSharePoint Online 管理シェルをインストールした場合は、[プログラムの追加と削除] に移動し、SharePoint Online 管理シェルをアンインストールします。
PowerShell コンソールで、SharePoint に接続します。 方法の詳細については、「SharePoint Online 管理シェルの使用を開始する」を参照してください。
PowerShell を使用してすべてのレポートを作成操作方法。
Start-SPODataAccessGovernanceInsight コマンドを使用して、適切なフィルターとパラメーターを使用してすべてのレポートを生成します。
PowerShell を使用してサイトのアクセス許可状態レポートを生成操作方法
ユーザーとコンテンツのアクセス許可を尊重しているため、特に 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 日間の "リンクの共有" や "外部ユーザーを除くすべてのユーザー" と共有されたコンテンツなど、潜在的な過共有の主な要因としてアクティブなサイトに関するレポートを生成できます。
PowerShell を使用してユーザーアクセス許可の状態レポートを生成操作方法。
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 アカウントのレポートはサポートされていません。
PowerShell を使用して共有リンク アクティビティ レポートを生成操作方法。
リンク アクティビティ レポートの共有を使用して、コラボレーションでアクティブであり、潜在的な過剰共有リスクを軽減するためにより迅速な介入が必要なサイトを特定できます。 これらの最近のアクティビティ ベースのレポートは、過去 28 日間で最も多くの共有リンクを生成しているサイトを識別します。
次の共有リンク アクティビティ レポートを生成できます。
- 過去 28 日間に "すべてのユーザー" 共有リンクを作成したサイト
- 過去 28 日間に [organizationのPeople] 共有リンクを作成したサイト
- 過去 28 日間に "特定のユーザー" (ゲスト) 共有リンクを作成したサイト
重要
Microsoft SharePoint Advanced Management ライセンスをお持ちでない場合は、関連する監査データを収集してレポートを作成できるように、最近のアクティビティ ベースのレポートのデータ収集を有効にする必要があります。 有効にすると、データが収集され、28 日間保存されます。 レポートは 24 時間後に生成でき、コレクションポイントのデータが含まれます。 3 か月に 1 回もレポートを生成しない場合、データ収集は一時停止され、再度有効にする必要があります。 これらのレポートのデータ収集を有効にするには、「最近のアクティビティ ベースのレポートのデータ収集操作方法管理する」を参照してください。
[過去 28 日間に作成されたリンクを PowerShell で共有するすべてのユーザー] に関するレポートを操作方法しますか?
Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Anyone -Workload SharePoint -ReportType RecentActivity
すべての OneDrive アカウントを同じ条件で取得するには、ワークロード値を OneDriveForBusiness として指定します。
過去 28 日間に作成された PeopleInYourOrg 共有リンクに関するレポートを操作方法しますか?
Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_PeopleInYourOrg -Workload SharePoint -ReportType RecentActivity
すべての OneDrive アカウントを同じ条件で取得するには、ワークロード値を OneDriveForBusiness として指定します。
操作方法過去 28 日間に作成された特定のユーザー (ゲスト) 共有リンクに関するレポートですか?
Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Guests -Workload SharePoint -ReportType RecentActivity
すべての OneDrive アカウントを同じ条件で取得するには、ワークロード値を OneDriveForBusiness として指定します。
操作方法、過去 28 日間に外部ユーザーを除くすべてのユーザーと共有されているコンテンツを PowerShell で特定しますか?
共有リンクは潜在的なオーバーシェアの 1 つのコントリビューターですが、もう 1 つの重要な共同作成者は "外部ユーザーを除くすべてのユーザー" (EEEU) です。 EEEU は、コンテンツを公開 (organization全体に表示) し、他のユーザーがコンテンツを簡単に検出してアクセスできるようにします。 これらのレポートは、過去 28 日間のさまざまなスコープで EEEU を積極的に使用したサイトを特定します。
次の EEEU アクティビティ レポートを生成できます。
- 過去 28 日間に外部ユーザーを除くすべてのユーザーと共有されたサイト
- 過去 28 日間に外部ユーザーを除くすべてのユーザーと共有されたアイテム
重要
現在、OneDrive for Businessの EEEU レポートでは、アイテム レベルのみがサポートされています。 サイト レベルでのOneDrive for Businessの EEEU レポートはサポートされていません。 Microsoft SharePoint Advanced Management ライセンスをお持ちでない場合は、関連する監査データを収集してレポートを作成できるように、最近のアクティビティ ベースのレポートのデータ収集を有効にする必要があります。 有効にすると、データが収集され、28 日間保存されます。 レポートは 24 時間後に生成でき、コレクションポイントのデータが含まれます。 3 か月に 1 回もレポートを生成しない場合、データ収集は一時停止され、再度有効にする必要があります。 これらのレポートのデータ収集を有効にするには、「最近のアクティビティ ベースのレポートのデータ収集操作方法管理する」を参照してください。
操作方法、過去 28 日間に外部ユーザーを除くすべてのユーザーと共有されているサイトを PowerShell で特定しますか?
サイト メンバーシップ (所有者、メンバー、または訪問者) に EEEU を追加すると、サイトのコンテンツ全体がパブリックになり、共有が過剰になりやすくなります。 次の PowerShell コマンドを実行して、SharePoint サイトの過去 28 日間にこのようなサイトをキャプチャするようにレポートをトリガーします。
Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersAtSite -Workload SharePoint -ReportType RecentActivity -Name "PublicSiteViaEEEU"
操作方法、過去 28 日間に外部ユーザーを除くすべてのユーザーと共有されているアイテムを PowerShell で特定しますか?
次の PowerShell コマンドを実行して、SharePoint サイトの過去 28 日間に EEEU と共有された特定のアイテム (ファイル/フォルダー/リスト) をキャプチャするレポートをトリガーします。
Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersAtSite -Workload SharePoint -ReportType RecentActivity -Name "PublicSiteViaEEEU"
注:
ワークロードの値を "OneDriveForBusiness" に置き換えて、すべての OneDrive アカウントの外部ユーザーを除くすべてのユーザーと同じ条件でアイテムを共有します。
最近のアクティビティ ベースのレポートのデータ収集を管理操作方法?
重要
Microsoft SharePoint Advanced Management ライセンスをお持ちでない場合は、関連する監査データを収集してレポートを作成できるように、最近のアクティビティ ベースのレポートのデータ収集を有効にする必要があります。 有効にすると、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 を使用します。 コマンドは現在のデータ収集状態を返します。これは、 NotInitiated、 InProgress、または 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
ReportStartTimeとReportEndTimeは、レポートを生成するデータの期間を示します。 レポート生成が完了すると、状態は 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
このコマンドは、「サイト アクセス レビューを開始する方法」の説明に従って、サイト所有者に電子メールを生成します。
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