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

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

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

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

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

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

▼ 以降の話はwindows XPのProfessional Editionに於いて、[簡易ファイルの共有]を使用しない状態を基準に
   しています(Home Editionはアクセス権の設定を簡略化しているため)。
   windows XP以降のバージョンもほぼ同じと考えて差し支えないでしょう。
   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.アクセス権

 リソース(ファイルやプログラム)に対して行われるアクセス(操作)には、読み取り、書き込み、変更、実行等の種類があり、アクセスの許可(拒否)はこうしたアクセス種類ごとに細かに設定することができます。
 さらにアクセスが何処(ローカル 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(icacls)コマンドでも、参照や変更が可能なようです。

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

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




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