本当は怪しくない(?)Windows 10の“不明なアカウント”の正体は……その知識、ホントに正しい? Windowsにまつわる都市伝説(99)

ファイルやディレクトリのアクセス許可設定で「不明なアカウント(S-1-……)」を見つけた場合、これを削除してよいのか、よくないのか、悩むことはありませんか。「不明なアカウント=存在しないアカウント」ではないこともあります。前回も登場しましたが、今回もストアアプリとケーパビリティの話です。

» 2017年12月19日 05時00分 公開
[山市良テクニカルライター]
「Windowsにまつわる都市伝説」のインデックス

Windowsにまつわる都市伝説

本当に不明な“不明なアカウント”は……

 Windowsに少々詳しい人であれば、Windowsにおけるセキュリティの基本は、ユーザーやグループといったセキュリティ対象に、セキュリティ設定が可能なリソースへのアクセス許可設定であることはご存じのはずです。

 ユーザーやグループはユーザーフレンドリーな名前を持ちますが、実際には「セキュリティ識別子(Security Identifier:SID)」で識別されます。そして、リソースの「アクセス制御エントリ(Access Control Entry:ACE)」や「アクセス制御リスト(Access Control List:ACL)」(つまり、ACEのセット)には、SIDに対する「フルコントロール」「読み取り」「書き込み」の許可/拒否アクセス権が設定されます。

 そのセキュリティの設定画面(ファイルのプロパティにある「セキュリティ」タブなど)で、「不明なアカウント(S-1-……)」というのを見掛けることがあると思います。以下の画面1はその一例です。

画面1 画面1 これは本当に「不明なアカウント」。このエントリは削除しても構わない

 コンピュータがドメインに参加していないのであれば、この「不明なアカウント」のエントリ(ACE)なら、おそらく削除しても問題はありません。括弧内の「S-1-5-21-……-1015」がこのユーザーまたはグループのSIDですが、既にこのコンピュータ上には存在しないものです。このSIDからは、このコンピュータ上で16番目に作成された、以前は存在したユーザーまたはグループであることが分かるからです。ローカルのユーザーまたはグループのSIDは、次のような形式になります。

S-1-5-21-<マシンSID>-<相対識別子(RID)>


 「マシンSID」は、コンピュータのセットアップ時に自動生成されます。ビルトインのAdministratorのRID(Relative Identifier:相対識別子)は「500」、GuestのRIDは「501」で固定です。そして、ユーザーやグループのRIDは「1000」から順番に使用されます。ですから、前出の画面1の例にある「1015」は、16番目ということになります。家庭用のコンピュータであれば、セットアップ時に使用したユーザーのRIDは、おそらく1000または1001の場合がほとんどでしょう。

 Windows Sysinternalsの「PsGetSid」ユーティリティーを使用すると、これらのSIDを簡単に確認することができます(画面2)。

画面2 画面2 「PsGetSid」ユーティリティーを使用したSIDの調査(名前からSIDを取得することも可能)

ストアアプリ(AppContainer)に関係するSID

 前回(第98回『売り子さんは知らない? “Windows 10のストア”の世界』)では、ストア(Microsoft Store)の表示問題に関連して、サンドボックス環境「AppContainer」で動くストアアプリとそのケーパビリティ(Capability)について説明しました。

 実は、このAppContainerには、非常に多くのSIDが関係しています。以下の画面3はその一例です。これは、「タスクマネージャー」から「Microsoft Solitaire Collection」アプリの実行ファイルのセキュリティ設定を参照したものです。ここにも「不明なアカウント」が出てきました。

画面3 画面3 ストアアプリの実行ファイルのセキュリティ設定に「不明なアカウント」が見つかる。でもこれは実在するSID

 この「不明なアカウント」は実際には不明ではなく、実在するものです。そのため、安易に削除してはいけません。通常、設定済みのセキュリティ設定では、簡単にはエントリを削除できません。しかし、何らかの方法で削除すると、アプリの実行に影響が出る可能性があります。

 AppContainerに関連するSIDとしては、名前が付いたものとして、次の2つのグループがあります。SIDは固定です。これらのグループに対するアクセス権の設定は、Windows 8以降の標準インストールのあちこちで見つかります(後者は確かWindows 10 Anniversary Update以降から)。

  • ALL APPLICATION PACKAGES:S-1-15-2-1
  • 制限された全てのアプリケーションパッケージ:S-1-15-2-2

 次に、AppContainer自身のSIDである「AppContainer SID」があります。これは、「Package SID」と呼ばれることもあります。SIDの形式は以下のようになります。SIDに対応する名前はありません。というか、「パッケージのRID」の部分は、パッケージのフルネームからある規則で生成されたもので、それ自体、パッケージの名前を示しているといえるかもしれません。

  • S-1-15-2-<パッケージのRID>

 アプリが使用するケーパビリティは、ケーパビリティごとに「S-1-15-3-」から始まる「ケーパビリティSID」を持ちます。その1つに、上記と同じRIDを持つケーパビリティSIDがあります。これは、AppContainerを簡単に識別できるように利用されているSIDのようです。

  • S-1-15-3-<パッケージのRID>

 次に、既知の(Well-Known)ケーパビリティSIDがあります。これは、Windows 8でAppContainerが導入されたときからあるもので、固定のSIDを持つ10個のケーパビリティが存在し、それぞれ名前を持っています(PsGetSidユーティリティーで調べることができます)。

  • インターネット接続:S-1-15-3-1
  • インターネット接続(インターネットからの着信接続など):S-1-15-3-2
  • ホームネットワークまたは社内ネットワーク:S-1-15-3-3
  • ピクチャライブラリ:S-1-15-3-4
  • ビデオライブラリ:S-1-15-3-5
  • ミュージックライブラリ:S-1-15-3-6
  • ドキュメントライブラリ:S-1-15-3-7
  • Windows資格情報:S-1-15-3-8
  • ソフトウェアやハードウェアの証明書またはスマートカード:S-1-15-3-9
  • リムーバブル記憶域:S-1-15-3-10

 ケーパビリティは上記以外にもたくさん存在します。例えば、カメラ、マイク、位置情報、無線(Wi-Fi)、電話機能など、Windows 10のプライバシー設定にある機能やデバイス関連のものがまだ出てきていません。これらのケーパビリティSIDは、次のような形式になります。

  • S-1-15-3-<ケーパビリティのRID>
  • S-1-15-3-<デバイスのRID>

 SIDはありますが、これらは名前を持ちません。ケーパビリティの機能やデバイスは今後も増えるでしょうから、既知の(Well-Known)ケーパビリティから先は名前を付けなくなったということだと思います。上はケーパビリティの文字列から、下はデバイスのGUID(Globally Unique Identifier)から生成されます。

 前回説明したように、アプリが使用するケーパビリティは、アプリのパッケージの「マニフェスト(AppxManifest.xml)」で宣言されています。画面4は、Windows 10 Fall Creators Updateの「Microsoft Edge」のマニフェストです。これらは全て、最終的にはケーパビリティSIDで識別されます。人が読める形式なのは、このうち「<Capability>」と「<uap:Capability>」にある5つだけです。

画面4 画面4 Windows 10 Fall Creators UpdateのMicrosoft Edgeのマニフェスト

Windows 7にあった"不明なアカウント(S-1-15-3-4096)"の正体は?

 以前、Windows Vista/7で「不明なアカウント」がちょっとした騒ぎになったことがあるようです。当時は気にも留めませんでしたが、本稿を執筆するに当たって目にすることになりました。そのときの「不明なアカウント」騒ぎとは、「Internet Explorer(IE)」でWebページをファイルに保存すると、「不明なアカウント(S-1-15-3-4096)」に対するアクセス許可が設定されるというものでした(画面5)。

画面5 画面5 Windows 7のIE 11の保護モードで保存したWebページ(左)と保護モードオフで保存したWebページ(右)のセキュリティ設定

 「S-1-15-3ー」から始まるSIDは、現在はAppContainerのケーパビリティSIDということになっていますが、Windows 8が登場する以前から利用されていたようです。そして「S-1-15-3-4096」のSIDを内部で利用していたのが、IEの「保護モード」だったのです。

 IEの保護モードは、機能や権限が制限されたサンドボックス環境でWebサイトを開くという、現在のAppContainerと似た機能を提供します。AppContainerの前身といってもよいかもしれません。実際、「IE AppContainer」と呼ぶこともあったようで、IE AppContainerへのアクセスを付与するためにこのSIDが出てきます。

 Windows 7以前のIE環境では、保護モードでWebページを保存した場合に、このSIDを含むアクセス権の設定が残ってしまう問題があったようです。Windows 10のIEで同じことをしても、このような結果にはなりませんでした。もちろん、これは単にNTFSボリューム上のファイルに対するACEなので、このACEは削除しても何の問題もありません。

「電卓」にインターネット接続が必要なのか?

 最後に、もう1つトリビアを。今回、幾つかのアプリのケーパビリティを調べて気が付いたのですが、Windows 10になってストアアプリ化された(されてしまった)「電卓」アプリは、Windows 10 Anniversary Updateまではケーパビリティを1つも要求しませんでした。

 しかし、Windows 10 Creators Updateになって「インターネット接続(internetClient、S-1-15-3-1)」を使用するように変更されていました(画面6)。これは、インターネット接続がないと電卓が動かないということではありません(位置情報を許可しなくても、「マップ」を使えるのと同じ理屈)。でも、電卓でどんな機能にインターネット接続を使うのでしょうか……。

 新たに追加された「通貨」コンバーターが最新の為替レートを取得するために使用しているようです(読者からのご指摘、どうもありがとうございました)。

画面6 画面6 「電卓」アプリのマニフェスト。左はFall Creators Updateのもの(Creators Updateも同様)、右はAnniversary Updateのもの

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門-完全版』(日経BP社)。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

Server & Storage 險倅コ九Λ繝ウ繧ュ繝ウ繧ー

譛ャ譌・譛磯俣

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。