ファイルやディレクトリのアクセス許可設定で「不明なアカウント(S-1-……)」を見つけた場合、これを削除してよいのか、よくないのか、悩むことはありませんか。「不明なアカウント=存在しないアカウント」ではないこともあります。前回も登場しましたが、今回もストアアプリとケーパビリティの話です。
Windowsに少々詳しい人であれば、Windowsにおけるセキュリティの基本は、ユーザーやグループといったセキュリティ対象に、セキュリティ設定が可能なリソースへのアクセス許可設定であることはご存じのはずです。
ユーザーやグループはユーザーフレンドリーな名前を持ちますが、実際には「セキュリティ識別子(Security Identifier:SID)」で識別されます。そして、リソースの「アクセス制御エントリ(Access Control Entry:ACE)」や「アクセス制御リスト(Access Control List:ACL)」(つまり、ACEのセット)には、SIDに対する「フルコントロール」「読み取り」「書き込み」の許可/拒否アクセス権が設定されます。
そのセキュリティの設定画面(ファイルのプロパティにある「セキュリティ」タブなど)で、「不明なアカウント(S-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)。
前回(第98回『売り子さんは知らない? “Windows 10のストア”の世界』)では、ストア(Microsoft Store)の表示問題に関連して、サンドボックス環境「AppContainer」で動くストアアプリとそのケーパビリティ(Capability)について説明しました。
実は、このAppContainerには、非常に多くのSIDが関係しています。以下の画面3はその一例です。これは、「タスクマネージャー」から「Microsoft Solitaire Collection」アプリの実行ファイルのセキュリティ設定を参照したものです。ここにも「不明なアカウント」が出てきました。
この「不明なアカウント」は実際には不明ではなく、実在するものです。そのため、安易に削除してはいけません。通常、設定済みのセキュリティ設定では、簡単にはエントリを削除できません。しかし、何らかの方法で削除すると、アプリの実行に影響が出る可能性があります。
AppContainerに関連するSIDとしては、名前が付いたものとして、次の2つのグループがあります。SIDは固定です。これらのグループに対するアクセス権の設定は、Windows 8以降の標準インストールのあちこちで見つかります(後者は確かWindows 10 Anniversary Update以降から)。
次に、AppContainer自身のSIDである「AppContainer SID」があります。これは、「Package SID」と呼ばれることもあります。SIDの形式は以下のようになります。SIDに対応する名前はありません。というか、「パッケージのRID」の部分は、パッケージのフルネームからある規則で生成されたもので、それ自体、パッケージの名前を示しているといえるかもしれません。
アプリが使用するケーパビリティは、ケーパビリティごとに「S-1-15-3-」から始まる「ケーパビリティSID」を持ちます。その1つに、上記と同じRIDを持つケーパビリティSIDがあります。これは、AppContainerを簡単に識別できるように利用されているSIDのようです。
次に、既知の(Well-Known)ケーパビリティSIDがあります。これは、Windows 8でAppContainerが導入されたときからあるもので、固定のSIDを持つ10個のケーパビリティが存在し、それぞれ名前を持っています(PsGetSidユーティリティーで調べることができます)。
ケーパビリティは上記以外にもたくさん存在します。例えば、カメラ、マイク、位置情報、無線(Wi-Fi)、電話機能など、Windows 10のプライバシー設定にある機能やデバイス関連のものがまだ出てきていません。これらのケーパビリティSIDは、次のような形式になります。
SIDはありますが、これらは名前を持ちません。ケーパビリティの機能やデバイスは今後も増えるでしょうから、既知の(Well-Known)ケーパビリティから先は名前を付けなくなったということだと思います。上はケーパビリティの文字列から、下はデバイスのGUID(Globally Unique Identifier)から生成されます。
前回説明したように、アプリが使用するケーパビリティは、アプリのパッケージの「マニフェスト(AppxManifest.xml)」で宣言されています。画面4は、Windows 10 Fall Creators Updateの「Microsoft Edge」のマニフェストです。これらは全て、最終的にはケーパビリティSIDで識別されます。人が読める形式なのは、このうち「<Capability>」と「<uap:Capability>」にある5つだけです。
以前、Windows Vista/7で「不明なアカウント」がちょっとした騒ぎになったことがあるようです。当時は気にも留めませんでしたが、本稿を執筆するに当たって目にすることになりました。そのときの「不明なアカウント」騒ぎとは、「Internet Explorer(IE)」でWebページをファイルに保存すると、「不明なアカウント(S-1-15-3-4096)」に対するアクセス許可が設定されるというものでした(画面5)。
「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)。これは、インターネット接続がないと電卓が動かないということではありません(位置情報を許可しなくても、「マップ」を使えるのと同じ理屈)。でも、電卓でどんな機能にインターネット接続を使うのでしょうか……。
新たに追加された「通貨」コンバーターが最新の為替レートを取得するために使用しているようです(読者からのご指摘、どうもありがとうございました)。
岩手県花巻市在住。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.
Server & Storage 險倅コ九Λ繝ウ繧ュ繝ウ繧ー