for e's laboratory
パソコン実習室
共有とアクセス権 - windowsのアクセス制御
  next ≫

T.ユーザ アカウントとアクセス権

 通常、私たちが windows を使う (ログオンする) 時は、ユーザ名を選んで(入力して)パスワードを入力します。  この行為を windows 側から見ると、「何処かの誰かが特定のユーザ アカウント(ユーザ名)を使って windows へのログオン許可を求めている」 ことになります。

 windows は、ログオン申請者名がユーザ リスト (windows が維持管理している) に登録されているユーザ アカウントであり、 且つ入力パスワードが正しいことを確認してログオンを許可します。

 ログオンを許可されたユーザは、自分に与えられている権限の範囲内で、windows の様々なリソース (ファイルやプログラム) へのアクセスが可能になります。

 この章では、ユーザが windows のリソースへアクセスした時に windows 内部ではどのような処理が行われているのか、また他のユーザとの共有はどのように行われるのかを探って行きます。

▼ 以降の話は windows XP Professional マシンで、「簡易ファイルの共有」を使用しない状態を基準にしています。
   ( Home Edition ではアクセス権の全体像が見えないため )
   vista もほぼ同じと考えて差し支えないでしょう。 vista の共有については「vista 覚書」の「共有」も参照して下さい。



T.1.ユーザ アカウント

 windows リソースへのアクセスを無制限に許可すると、システムが不安定になったり破壊される恐れがあります。  システム保護と情報管理のためには、リソースへのアクセスを適切に制限(制御)することが重要です。

 こうした観点から windows を利用しようとする各個人は、適切に用意(作成)されたユーザ アカウントを使ってログオンすることが求められます。
▼ ユーザ アカウントの管理 (作成・削除・変更) は、Administrator 権限を持つユーザ (管理者) が実施します。
 そして windows のアクセス制御は、ユーザ アカウント毎に割り当てられたアクセス権限に基づいて行われます。
 ユーザ アカウントは管理者用と一般用を分けることが望ましく、当然管理者用の方が大きな権限を持っています。
※ windows には予めシステムに組み込まれている、ビルド イン アカウントがあります (下記はその一例)。
・Administrator
・Guest
※ Administrator はすべての権限を有するオールマイティなアカウントで、windows の初期セットアップなどはその
   ほとんどが Administrator の権限で行われます。
   オールマイティなので、間違った操作や不正使用などがあると取り返しのつかないことになります。
   Administrator アカウントを日常的に使うことは避けた方が賢明です。



T.2.グループ

 複数のユーザ アカウントを、まとめて1つのグループとすれば管理し易くなります。 windows には予め設定されているグループがいくつかあり、下記はその一例です。
グループ名説明
Administrators管理者。 システムに完全なアクセス権を持つ。
Usersシステムに関わるファイルへのアクセスは制限されるが、ほとんどのアプリケーションを実行可能。
Power Users制限付きで管理者の権限を持つ。
Guests制限付きで Users と同じ権限を持つ。 このアカウントは不特定者が一時的に使用するたものもの。
  • Administrator も一般ユーザが使用するアカウントも、通常どれかのグループに属している。
  • グループは任意に作成可能。
  • グループには他のグループを含む事が出来る。

T.3.SID

 windows はユーザ アカウントやグループを SID ( Security IDentifier : セキュリティ識別子 ) と呼ぶ特殊な番号で管理しています。  SID はユーザやグループなどのアカウントを作成した時に、一意の番号として割り振られます。

 ログオン後のユーザが何らかの操作 (アクセス) をしたとき、windows 内部で行われるアクセス制御では、ユーザ アカウントではなく SID が参照されます。
※ フォルダやファイルのアクセス権も、実際にはアカウントではなく SID に対して設定されています。

同じ SID は割り振らない

 SID は "S-1-5-21-76100338-22963・・・・" のような数列で構成され、同じ値は2度と使いません。  そのため、あるユーザを削除した後で再び同じユーザ名を作成しても、全く新しい SID が振られることになります。
 これら新旧2つのユーザは windows 上では別のユーザとして認識されるため、 以前に使用していたリソースがあってもアクセス権を引き継ぐことはできず、  新ユーザのアクセス権は再度設定しなければなりません。



T.4.アクセス権

 windows のリソースに対して行われる操作(アクセス)には、読み取り、書き込み、変更、実行等の種類があり、アクセスの許可 (拒否) はこうしたアクセス種類ごとに細かに設定することができます。
 また、アクセス ユーザが何処に (ローカル or ネットワーク経由) いるかの違いで、アクセス許可 (拒否) の設定を行うこともできます。

 具体的なアクセス許可は、ローカルな設定 (セキュリティ) とネットワーク経由に対する設定 (共有のアクセス許可) の 2 種類があり、 windows はこれらのアクセス権設定を参照してアクセス制御を行います。


T.4.1.ローカルとリモート

 アクセス権を考える場合、ユーザがアクセスしてくる位置を意識することは重要です。
アクセスされる windows (及びそれに属するファイル) からユーザ種類やアクセス形態を考えた場合、それらを次のように呼びます。

区分ユーザの位置
当該 windows にログオンネットワーク経由
ユーザ種類ローカル ユーザリモート ユーザ or ネットワーク ユーザ
アクセス形態ローカル アクセスリモート アクセス or ネットワーク アクセス



T.4.2.セキュリティ - ローカルのアクセス権

セキュリティのアクセス許可  フォルダやファイルには、ユーザ名やグループ名 (実態は SID) に対してアクセスの許可/拒否 (アクセス権) を設定する機能があり、windows はこの設定に基づいてアクセスを制御しています。
 ローカルのアクセス権はフォルダ (ファイル) のプロパティにある「セキュリティ」(右図) で設定します。

 すべてのユーザの (次項のネットワーク経由も含む) アクセス要求は、「セキュリティ」で設定したアクセス権の制約を受けます。

※ 「セキュリティ」 は、 [ フォルダ(ファイル)を右クリック ] -
   [ プロパティを選択 ] - [ 「セキュリティ」タブを選択 ] で開く。




T.4.3.共有 - ネットワーク経由のアクセス権

 フォルダのプロパティには「セキュリティ」の外に「共有」タブもあって、ここでも「セキュリティ」と同じようにユーザやグループ (実態はSID) のアクセス権を設定できます。
※ ここで言う 「共有」 とはネットワークを介した共有であって、ローカル ユーザ同士の共有ではありません。

「共有」のアクセス許可は次の手順で設定します。
  1. 「共有」タブの [このフォルダを共有する] を選択する。
    [アクセス許可] のグレーアウトが解除される。 (左下図)
  2. [アクセス許可] をクリックする。
    表示される「共有アクセス許可」(右下図)に、ユーザやグループ (実態はSID) のアクセス権を設定する。
フォルダ共有 共有アクセス許可

 ここで設定した「アクセス許可」は、ネットワークを介してアクセスしてくるユーザに対して適用されます。
 つまりネットワーク越しのアクセス要求は、「共有のアクセス許可」および「セキュリティ」両方のアクセス制御をパスしなければならないことを意味します。


T.4.4.セキュリティ ディスクリプタ

 「セキュリティのアクセス許可」や「共有のアクセス許可」に設定したデータ (アクセス権) は、どこに記録されるのでしょう。

 フォルダやファイルは 「セキュリティ ディスクリプタ」 と呼ばれるエリアを備えていて、アクセス 許可/拒否 の設定は、この 「セキュリティ ディスクリプタ」 に記録されます。

 「セキュリティ ディスクリプタ」はユーザには見えない不可視領域になっていて、フォルダ (ファイル) のプロパティから開くことができます。
※ cacls コマンドでも、参照や変更が可能なようです。


T.4.5.複数グループ所属

 1 つのユーザは、アクセス権設定の異なる複数のグループに所属することが可能です。
そうした場合のアクセス権は次のように解釈されます。
  • 何れかのグループで許可されている項目 (変更・読み取り・書き込み等) について、アクセスが可能となります。
  • 何れかで拒否が明示的に設定されている場合は、他の所属グループで許可されていても拒否が優先して適用されます。




  [[ 共有とアクセス権 ]] next ≫