SharePoint Online 新規サイトで「Everyone except external users」が自動追加される原因と無効化方法(Set-SPOTenant)

Teams や SharePoint Online で新規サイトを作ると、Members などの SharePoint グループに「Everyone except external users(外部ユーザーを除く全員)」が自動追加され、意図せず社内の多くに編集権限が付くことがあります。原因と既定動作の止め方、既存サイトの是正手順をまとめます。

目次

よくある症状:新規サイト作成後に「全社」に編集権限が付いてしまう

Microsoft Teams からチームを作成したり、SharePoint Online から「チーム サイト(Microsoft 365 グループに接続)」を新規作成した直後に、サイトの権限(Owners / Members / Visitors)を確認すると、どこかのグループに Everyone except external users(外部ユーザーを除く全員) が入っていることがあります。

この状態は、サイトの用途によっては大きな問題になります。なぜなら、Teams のメンバーではないユーザーでも、SharePoint のサイトにアクセスできたり、場合によっては 編集(Edit) 権限でページやファイルを変更できてしまうからです。

入ってしまった場所起こりやすいこと代表的なリスク
Members(通常は編集)社内の多くのユーザーが編集・アップロード・ページ更新が可能誤編集、情報改ざん、意図しない共有の拡大
Visitors(通常は閲覧)社内の多くのユーザーが閲覧可能(ポータル用途では意図通りのことも)本来は部署限定の資料が社内に広く見える
リスト/ライブラリ固有の権限サイト全体は限定でも、特定ライブラリだけ全社に見える/編集できる棚卸し漏れによる部分的な情報漏えい

「Everyone except external users」とは何か(誤解しやすいポイント)

SharePoint Online には、通常のユーザーや Microsoft 365 グループとは別に、特別な対象を表す「クレーム(Claim)」が存在します。その代表例が Everyone と Everyone except external users です。

名前の通り「外部ユーザーを除く全員」なので、ゲスト(外部共有で招待したユーザー)が含まれない点は安心材料に見えます。しかし実務上の問題は、“社内の全員” に権限が付くこと自体です。部署・プロジェクト単位で閉じておきたいチームサイトで、全社の編集が可能になるのは、最小権限(Least Privilege)の観点から危険です。

項目Everyone except external usersMicrosoft 365 グループ(Teams メンバー)
対象基本的にテナント内の内部ユーザー全体そのチーム/グループに追加されたユーザーのみ
管理単位権限に入れたら即時に “全社” に効きやすいメンバー管理(追加/削除)でコントロールしやすい
意図しない拡大追加した瞬間に範囲が大きく、気づきにくい人数の増減は追いやすい(グループ管理に統合できる)

継承の問題ではない:既定動作は「テナント設定」側で制御できる

質問でよく出るのが「権限の継承を解除しないといけないのか?」という点ですが、このケースの本質は サイト単位の継承ではありません。多くの場合、原因は次のどちらか(または両方)です。

  • テナント設定として、「Everyone except external users」クレームを People Picker(ユーザー/グループ選択)で表示・利用できる状態になっている
  • サイト作成フローやプロビジョニング(テンプレート/自動作成スクリプト)が、既定でこのクレームをグループに追加している

つまり、継承解除を頑張るより先に、“そもそも選べる/追加できる状態” を減らすことが重要です。

最優先の対策:テナントで「Everyone except external users」を使えない(見えない)状態にする

基本方針は、SharePoint Online のテナント設定で Everyone except external users クレームの表示/利用を無効化し、新規サイトで「いつの間にか入る」状態を抑止することです。代表的には SharePoint Online 管理 PowerShell の Set-SPOTenant を使います。

やりたいこと設定(例)期待できる効果注意点
People Picker で「Everyone except external users」を選べなくするSet-SPOTenant -ShowEveryoneExceptExternalUsersClaim $false誤付与の防止、UI 経由の追加を抑制既存サイトの権限は自動で直らない
PnP PowerShell でも同等の制御をしたいSet-PnPTenant -ShowEveryoneExceptExternalUsersClaim $false運用スクリプトに組み込みやすい管理者権限・接続方式の整備が必要
全社向け閲覧が必要なサイトがあるVisitors(閲覧)に限定して追加“全社閲覧” を保ちつつ編集を防げるサイト設計(情報区分)を明確にする

実行手順:SharePoint Online 管理 PowerShell での設定変更

ここでは、最も基本となる SharePoint Online 管理 PowerShell での手順を紹介します。実行はテナント管理者(SharePoint 管理者など)のアカウントで行います。

事前準備のチェック

  • 実行端末に SharePoint Online 管理 PowerShell(または対応モジュール)が用意されている
  • 接続先の管理 URL(https://<Tenant>-admin.sharepoint.com)が分かっている
  • 変更の影響(後述)を関係者に周知できる

現在の設定を確認する(推奨)

Connect-SPOService -Url https://<Tenant>-admin.sharepoint.com
Get-SPOTenant | Select ShowEveryoneExceptExternalUsersClaim

設定を無効化する

Connect-SPOService -Url https://<Tenant>-admin.sharepoint.com
Set-SPOTenant -ShowEveryoneExceptExternalUsersClaim $false

切り戻し(必要な場合)

Set-SPOTenant -ShowEveryoneExceptExternalUsersClaim $true

設定変更後は、People Picker で「Everyone except external users」が候補に出なくなる(または選択しづらくなる)ため、“うっかり全社に権限を付ける” を減らすことができます。もし自動プロビジョニングがこのクレームを前提にしている場合は、別途スクリプトの修正が必要です。

PnP PowerShell での同様の制御(運用スクリプトに組み込みたい場合)

現場では、サイト棚卸しや一括是正を PnP PowerShell で行っていることも多いため、同じ方針を PnP でも実現しておくと運用が統一しやすくなります。

# 例:管理センターに接続(環境に合わせて認証方式を選択)
Connect-PnPOnline -Url https://<Tenant>-admin.sharepoint.com -Interactive

# 現在値の確認

Get-PnPTenant | Select ShowEveryoneExceptExternalUsersClaim

# 無効化

Set-PnPTenant -ShowEveryoneExceptExternalUsersClaim $false

ポイントは「便利だから常にオン」ではなく、全社向け権限を付与する必要があるケースを限定し、既定は最小権限に寄せることです。

影響範囲の要点:既存サイトは自動で直らない

ここが最重要です。ShowEveryoneExceptExternalUsersClaim の変更は、主に「今後の新規作成サイト」や「UI からの追加しやすさ」に効く設定であり、既存サイトから自動的に “外部ユーザーを除く全員” が消えるわけではありません。

対象設定変更の影響追加で必要になる作業
これから作成するサイト誤付与が起こりにくくなる(候補に出ない/選びにくい)サイト設計(公開範囲、既定グループ)を標準化すると効果が大きい
既存サイト(すでに約50サイトなど)基本的に権限はそのまま残る棚卸しして削除(手作業 or スクリプト)

なぜ「Teams はプライベートなのに SharePoint は見えてしまう」のか

Teams の「プライベート/パブリック」は、主に Teams(Microsoft 365 グループ)への参加可否の話です。一方、SharePoint サイトは、SharePoint 側のグループに誰を入れたかでアクセスが決まります。

つまり、Teams がプライベートでも、SharePoint の Members/Visitors に「Everyone except external users」が入っていれば、Teams のメンバーではないユーザーでも SharePoint にはアクセスできる可能性があります。現場で混乱しやすいので、Teams と SharePoint の“権限の入口” が別であることを押さえておくと切り分けが早くなります。

運用でハマりやすいデメリットと、先回りの周知ポイント

このクレームを無効化すると、短期的には問い合わせが増えることがあります。代表例は次の通りです。

  • 「今まで見えていたはずのサイトが見えない」:実は “全社付与” に依存した運用だった
  • 「全社共有を素早くやりたい」:Visitors への追加や別グループでの運用設計が必要になる
  • 自動作成・テンプレートが前提にしていた:プロビジョニング修正が必要

このため、設定変更の前後で次のような周知をセットにすると、現場が混乱しにくくなります。

周知すべき相手伝える内容の例合わせて用意すると良いもの
サイトオーナー/チームオーナー全社付与が既定ではなくなる、必要なら申請/手順に沿って設定する公開範囲の判断基準(社外秘/社内限定/全社公開)
ヘルプデスクアクセス不可は仕様変更の可能性、まず権限(Visitors/Members)を確認問い合わせテンプレ(サイトURL、ユーザー、必要権限)
自動化/開発担当プロビジョニングで Everyone claim を使っていないか確認テンプレート改修のチェックリスト

既存サイトの是正:まずは棚卸し(どこに入っているか)

設定変更だけでは既存サイトが直らないため、すでに作成済みのサイトは別途是正が必要です。効率良く進めるコツは「どのサイトの、どのグループ(またはどのライブラリ)に入っているか」を先に可視化することです。

棚卸しで確認したいチェック項目

チェック項目見る場所(例)判断のポイント
サイトの Owners/Members/Visitors に入っていないかサイト設定 > サイトのアクセス許可Members に入っていたら優先度高(編集権限の可能性)
特定のライブラリ/リストで固有権限になっていないか対象ライブラリ > 設定 > 権限サイトは安全でも、ライブラリだけ全社公開のことがある
共有リンクで「組織内のユーザー」向けになっていないか共有設定/リンク管理(サイト/ファイル)リンク運用が広いと、権限が狭くても実質公開になるケースがある

既存サイトの是正:手作業での削除(少数サイト・緊急対応向け)

サイト数が少ない、または今すぐ止血したいサイトがある場合は、まず手作業での削除が確実です。

  • 対象サイトを開く
  • 歯車アイコン(設定)から「サイトのアクセス許可」を開く
  • Owners / Members / Visitors を順に確認し、「Everyone except external users」を見つけたら削除する
  • 念のため、重要なドキュメント ライブラリでも「権限の継承が切れていないか」を確認する

このときのポイントは「削除したら誰が困るか」を事前に把握することです。もし全社閲覧が必要だったサイトなら、削除ではなく Visitors(閲覧)にのみ残す、あるいは社内ポータルとして明確に位置付ける、といった運用設計に寄せた方が後戻りが少なくなります。

既存サイトの是正:PnP PowerShell による削除例(サイト単位)

サイトが多い場合はスクリプトでの是正が現実的です。以下は「関連付けられた Owners/Members/Visitors グループから、表示名が Everyone except external users のメンバーを削除する」例です。環境により認証方式やグループ構成が異なるため、まずは検証サイトで動作確認してから本番に適用してください。

# 例:サイト単位での是正(PnP.PowerShell)
$siteUrl = "https://<Tenant>.sharepoint.com/sites/<SiteName>"
Connect-PnPOnline -Url $siteUrl -Interactive

# 関連付けグループを取得
$ownerGroup   = Get-PnPGroup -AssociatedOwnerGroup
$memberGroup  = Get-PnPGroup -AssociatedMemberGroup
$visitorGroup = Get-PnPGroup -AssociatedVisitorGroup

$groups = @($ownerGroup, $memberGroup, $visitorGroup)

foreach ($g in $groups) {
    if ($null -eq $g) { continue }

    $members = Get-PnPGroupMembers -Identity $g
    $targets = $members | Where-Object { $_.Title -eq "Everyone except external users" }

    foreach ($t in $targets) {
        Write-Host ("Remove from group: {0} / {1}" -f $g.Title, $t.LoginName)
        Remove-PnPUserFromGroup -Identity $g -LoginName $t.LoginName
    }
}

「Everyone except external users」が、関連付けグループではなく、カスタムグループやライブラリ固有権限に入っている場合は、別の探索ロジックが必要です。棚卸しで “どこに入っているか” を押さえておくと、スクリプトの分岐が書きやすくなります。

既存サイトを横断して是正する考え方(テナント全体)

約50サイト以上ある場合は、次の流れにすると進めやすくなります。

  • まず サイト一覧 を取得し、サイトオーナー情報と合わせて台帳化する
  • 次に、全サイトへ一律適用するのではなく、機密度の高いサイトから優先的に是正する
  • 最後に、例外(全社閲覧が必要なポータル等)は “Visitors にのみ付与” などの形で整理する
優先度対象の例是正の方針
高人事・経理・法務、個人情報を含むサイトMembers/Visitors から削除、共有リンク運用も見直す
中部署内の業務サイト、プロジェクトサイト原則削除(必要なら M365 グループでメンバー管理)
低社内ポータル、全社周知サイトVisitors(閲覧)への付与は許容、編集権限は限定

「全社向け共有」を安全に実現する設計パターン

“全社に見せたい” ニーズ自体は珍しくありません。問題は、全社に 編集まで付けてしまうことです。以下は実務で破綻しにくいパターンです。

パターン:閲覧は全社、編集は限定

  • サイトの Visitors(閲覧)に「Everyone except external users」を付与
  • Members(編集)には部署メンバーや編集担当のみを入れる
  • ニュース投稿やページ編集を担当する “編集者グループ” を明確にする

パターン:部署・プロジェクトは原則クローズ

  • Teams/グループはプライベートを基本にする
  • SharePoint 側でも Everyone 系のクレームを使わず、M365 グループのメンバーで制御する
  • 共有が必要な資料は、専用の「社内共有」サイト(閲覧中心)へ移す

よくある質問(現場での切り分け)

質問回答
継承解除は必要ですか?この問題の主因は継承ではなく、グループに Everyone except external users が入ることです。まずはテナント設定とグループメンバーを見直してください。
設定を変えれば、既存サイトから自動で消えますか?消えません。既存サイトは棚卸しして、該当箇所から削除が必要です。
“全社共有” を使いたい部署から反発が出そうです全社閲覧が必要なサイトは Visitors で実現し、編集は限定する設計に切り替えると、利便性とセキュリティのバランスが取りやすいです。

まとめ:新規作成の抑止と、既存サイト是正をセットで進める

「Everyone except external users」が新規サイトで自動付与されてしまう問題は、放置すると “社内の誰でも編集できるサイト” が増えていきます。対策は大きく二段構えです。

  • テナント設定(PowerShell)で、Everyone except external users クレームを表示・利用しにくい状態にして 新規サイトの誤付与を抑止
  • 既存サイトは棚卸しして、Owners/Members/Visitors やライブラリ固有権限から 手作業またはスクリプトで削除

併せて「全社閲覧は Visitors で」「編集は必要最小限で」という設計を標準化すると、今後のサイト増加にも耐えられる運用になります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次