厳選した関連コンテンツ:
グループを使ってユーザー権限を管理しましょう。
あらゆる IT リソースへのアクセスを付与する際のベストプラクティスは、管理者がユーザーに直接権限を割り当てるのではなく、権限をグループに割り当て、各ユーザーを適切なグループのメンバーとして追加することです。この方法により、プロビジョニング、再プロビジョニング、デプロビジョニングがより簡単になり、権限レベルが最小権限の原則に沿っていることを確認しやすくなります。SharePoint の場合、SharePoint サイト グループ、またはActive Directory のセキュリティ グループに権限を割り当てることができます。
避けるべきグループの1つが、悪名高い “Everyone” グループです。これは、ゲストや別ドメインのユーザーを含む、現在のネットワーク上のすべてのユーザーを含み、メンバーシップは変更できません。
使用している SharePoint プラットフォームによっては、多数のユーザーを含むため避けるべき追加のグループがあります:
SharePoint Server:
- NT AUTHORITY\Authenticated Users — すべての AD ユーザー アカウントを、フォレスト内のすべてのドメインから含むため、ドメイン レベルでは管理できません。
- DOMAIN\Domain Users — ドメイン内のすべてのユーザー アカウントを含みます。
SharePoint Online:
- 外部ユーザー以外のすべてのユーザー — 組織内のすべての内部ユーザー アカウントが含まれます。
厳選された関連コンテンツ:
項目レベルの権限の使用を最小限にします。
同様に、特定のファイルやその他の個別アイテムに権限を割り当てるのではなく、ライブラリやフォルダーなどのより上位のコンテナーに権限を割り当てることを優先してください。項目レベルの権限は、継承が破綻する原因になりやすく、権限のレビューで見落とされる可能性があるため、SharePoint のセキュリティを危険にさらします。さらに、項目レベルの権限は検索エンジンの速度を低下させ、ユーザー エクスペリエンスに影響を与えることがあります。Information Rights Management (IRM) などの Microsoft 365 機能を利用すると、項目レベルの権限の必要性を減らせます。
外部共有には別のサイト コレクションを使用します。
ユーザーがうっかり機密性の高いコンテンツを社外ユーザーと共有してしまうのを防ぐには、外部共有を許可するすべてのサイトを 1 つのサイト コレクションに分離するのが効果的です。そうすることで、外部に共有できるもの/できないものをより簡単に制御でき、さらに外部共有のアクティビティも追跡できるため、何が共有されたのか、またどの外部関係者にアクセス権が付与されたのかを正確に把握できます。
匿名共有を制御します。
可能であれば匿名共有を無効にします。
コンテンツを 匿名リンク (Anyone リンク とも呼びます)経由で共有することも禁止しておくとよいでしょう。これらのリンクでは、リンクを持っている誰でも、認証なしでコンテンツを閲覧し、さらには編集することができます。
匿名共有を許可する場合は、リスクを下げましょう。
匿名リンクの使用を完全にやめないことにした場合でも、リンクを慎重に管理することで、ユーザーが意図せずに使用してしまうリスクを下げることができます。
まず、デフォルトのリンク設定を Anyone から、組織内のユーザーに対してのみ機能するリンクに変更します。これにより、認証されていない相手とコンテンツを共有したい場合でも、Anyone オプションを明示的に選択する必要があります。
さらに、リンク経由で許可されるアクセスの種類を制御し、期限日を指定する設定を適用することもできます。これらの設定を指定するには、SharePoint Admin center を開き、[Policies] セクションで Sharing:
SharePoint に保存するデータを分類します。
ほとんどの組織は、社内のセキュリティ ポリシーや業界/政府の要件に従って、機密性の高いコンテンツや機密情報の利用を管理するためにデータを分類する必要があることを理解しています。 Data loss prevention(DLP)テクノロジーは、機密データを特定し、その後ポリシーに従ってアクセスをブロックするか許可します。DLP はすべての Microsoft 365 サービスに統合されています。特に SharePoint では、下図のようにデータのコンテンツ、メタデータ、および場所を検査し、保護するために作成したセキュリティ ポリシーを適用できます。オンプレミスの SharePoint で機密性の高いコンテンツを特定して保護するには、サードパーティの data classification solution が必要です。
SharePoint の変更内容とアクセス イベントを監視します。
SharePoint は非常に動的な環境です。そのため、設定して終わりにして忘れてしまうだけでは不十分です。代わりに、サービス、サーバー ハードウェア、仮想ハードウェア、セキュリティ設定への変更を含め、SharePoint での活動を監査することが重要です。これにより、侵害や業務の停止につながり得る問題を素早く見つけられます。最適な脅威検知、調査、対応を実現するために、内蔵機能に加えて、信頼できるサードパーティの SharePoint monitoring tool。
アクセス権を定期的に見直します。
MS SharePoint のセキュリティを維持するうえで、もう一つ重要なステップは、コンテンツへのアクセス権を定期的に見直すことです。特に、先ほど詳しく説明した大規模グループに付与されている権限に注目してください。
SharePoint Server を使用している場合は、以下のようにグループに付与されている権限レベルを手動で確認できます。
ただし、これではそのグループがどの IT リソースにアクセスできるのかはわかりません。確認するには、ライブラリ、一覧、ファイルをそれぞれ個別にチェックする必要があります。これは面倒で手作業によるミスが起きやすく、忙しい IT チームが実行する時間もほとんどありません。
このプロセスを自動化するには、http://sharepointchips.com のようなサイトの PowerShell スクリプトを利用できます。たとえば、以下に示すスクリプトは、指定したサイト コレクションに対するすべてのユーザーとグループの完全な一覧を出力します:
$sites = Get-SPWebApplication http://WebApplicationURL | Get-SPSite -limit all
"Site Collection`t Group`t User Name`t User Login" | out-file groupmembersreport.csv
foreach($site in $sites)
{
foreach($sitegroup in $site.RootWeb.SiteGroups)
{
foreach($user in $sitegroup.Users)
{
"$($site.url) `t $($sitegroup.Name) `t $($user.displayname) `t $($user) " | out-file groupmembersreport.csv -append
}
}
$site.Dispose()
}
出力は、コマンドを実行したディレクトリにある CSV ファイルとしてエクスポートされます。以下のサンプル レポートでは、サイト コレクションにアクセスできていることが判明する可能性のある、いくつかの公開アクセス グループが強調表示されています:
SharePoint Online 用の PowerShell スクリプトも実行できます。たとえば、http://www.sharepointdiary.com からの以下のスクリプトなどです。
#Admin Center & Site collection URL, replace admin-URL and path to a location where the CSV report can be written to.
$AdminCenterURL = "https://HOSTNAME-admin.sharepoint.com"
$CSVPath = "C:\Users\UserName\Documents\GroupReport.csv"
#Connect to SharePoint Online
Connect-SPOService -url $AdminCenterURL -Credential (Get-Credential)
$GroupsData = @()
#Get all Site collections
Get-SPOSite -Limit ALL | ForEach-Object {
Write-Host -f Yellow "Processing Site Collection:"$_.URL
#Get all Site Groups
$SiteGroups = Get-SPOSiteGroup -Site $_.URL
Write-host "Total Number of Groups Found:"$SiteGroups.Count
ForEach($Group in $SiteGroups)
{
$GroupsData += New-Object PSObject -Property @{
'Site URL' = $_.URL
'Group Name' = $Group.Title
'Permissions' = $Group.Roles -join ","
'Users' = $Group.Users -join ","
}
}
}
#Export the data to CSV
$GroupsData | Export-Csv $CSVPath -NoTypeInformation
Write-host -f Green "Groups Report Generated Successfully!"
Netwrix はどのように支援できるか
Netwrix StealthAUDIT for SharePoint データ漏えいを防ぐために必要な強力な SharePoint セキュリティ機能を提供します。データ漏えいを防止ビジネスの中断を回避し、最新のコンプライアンス要件を満たします。さらに、 SharePoint の権限 をあらゆるレベルで、オンプレミスの SharePoint と SharePoint Online の両方で、完全な可視性として提供します。
共有する
もっと詳しく
著者について
Farrah Gamboa
プロダクトマネジメント シニアディレクター
Netwrixにおけるプロダクトマネジメントのシニアディレクター。Farrahは、Data SecurityおよびAudit & Complianceに関連するNetwrix製品とソリューションのロードマップを構築し、実現することを担当しています。Farrahは、エンタープライズ規模のデータセキュリティソリューションに携わる経験が10年以上あり、Stealthbits TechnologiesからNetwrixに入社しました。Stealthbits Technologiesでは、テクニカルプロダクトマネージャーおよびQCマネージャーを務めていました。FarrahはRutgers Universityで産業工学の学士(BS)を取得しています。