企業内でファイル共有をする際のアクセス制御を考える仕事で使うNAS 第3回(1/4 ページ)

» 2015年03月31日 12時00分 公開
[瓜生聖ITmedia]

 複数のユーザーで1台のNASを共用する場合であっても、家庭内の利用であればシンプルなアクセス制御で十分だ。フォルダやファイルの所有者が誰かということと、所有者だけがアクセスできるのか、それとも誰でもアクセスできるのか、ということを共有フォルダ単位で設定すればこと足りる。

 だが、ビジネス用途で利用する場合は、業務のニーズに合わせて複雑なアクセス制御を行う必要があることも少なくない。基本はグループ・組織単位の制御になるものの、いろいろと例外が発生してしまうことが多々ある。今回はWindowsファイル共有で利用される柔軟なアクセス制御の仕組み、Windows ACLの設定について説明する。

ファイルのアクセス制御

 ファイルのアクセス制御といえば読み出し専用、隠しファイルというようなものがまず頭に浮かぶかもしれない。これらはアクセスするユーザーに依存しない、ファイルやフォルダの「属性」によるもの――つまり、アクセス制御とは異なるものだ。

 ユーザーという概念のなかったMS-DOS時代からのものなので、適切な権限を持ったユーザーにのみアクセスを許可する、という本来のアクセス制御ではなく、誤操作を防ぐという意味合いが強い。

 その後、マルチユーザーをサポートしたファイルシステムであるNTFSが導入され、グループ/ユーザー単位でのきめ細かいアクセス制御が可能になった。これはWindows ACLと呼ばれるもので、単なる読み出し/書き込みだけではない、細かな権限設定を実現している。

 以前はLinuxベースのNASでWindows ACLに対応していないものが多く、そこがWindowsサーバからの移行の障壁となっていた。しかし、ASシリーズをはじめ、最近のNASキットではWindows ACLに対応したものも増えてきている。

Windows ACLを有効にしたフォルダには「セキュリティ」のタブが表示される

Windows ACLとは

 Windows ACLの“ACL”はAccess Control Listの略で、ユーザー/グループに対してどのような操作を許可/禁止するのか、といったアクセスコントロールエントリ(ACE)のリストを意味する。Windows ACLでは全部で13種類のパーミッション(アクセス権)について設定することができる。

 Windows ACLのパーミッションには、フォルダに対しての操作とファイルに対しての操作を1つにまとめたものもある。例えば、ファイルに対して「データを書き込む」という操作はあるものの、フォルダに対しては「データを書き込む」という操作はない。強いて言えば「ファイルを作成する」という操作になる。

 逆にファイルに対しては「ファイルを生成する」という操作はない。そこで「ファイルの作成/データの書き込み」という1つのパーミッションでその両方を示し、対象がファイルかフォルダかによって内容を読み替える。

 以下にWindows ACLで利用される全13種類のパーミッションを紹介する。フォルダとファイルで内容が異なる場合は【フォルダの場合】【ファイルの場合】と併記した。なお、ASシリーズのOSである「ADM」の表記はWindowsエクスプローラー等での表記と若干異なるものがある。その場合はカッコ内にADMでの表記を記載した。

1、フォルダーのスキャン/ファイルの実行(フォルダの横断/ファイルの実行)

【フォルダの場合:フォルダのスキャン(フォルダの横断)】

 フォルダのスキャン(フォルダの横断)はちょっと説明が必要かもしれない。

 通常、階層構造でのアクセス制御は上位階層から継承し、特定の下層階層で継承内容に追加設定する、という設定が一般的だ。つまり、「\\AS\Documents」には全社員がアクセスできる、ただしその共有フォルダの下にある「\\AS\Documents\Lv3」には役員しかアクセスできない、というように下層にいくにつれてアクセスできるアカウントを限定する。

 ところが、組織での実利用においてはこれだけでは単純には実現できないこともある。例として、プロジェクト制をとっている会社を想定してみよう。ここは機密レベルを3段階に分け、Lv1を全員がアクセスできる情報、Lv2を正社員のみがアクセスできる情報、Lv3を役員のみがアクセスできる情報の保存先としている。

 プロジェクトが始まると正社員、派遣社員・契約社員混成のプロジェクトチームが発足する。そのため、プロジェクトごとに共有フォルダを作成し、そこで情報を共有するようにしたい。プロジェクトごとの共有フォルダは契約形態に関わらず、すべてのプロジェクトメンバーからアクセスできるようにしたいが、基本的には社外秘の情報なので、フォルダ自体は正社員のみがアクセスできるLv2に置きたい。

 そこで、正社員のみがアクセスできる「\\AS\Documents\Lv2」以下にプロジェクトごとの共有フォルダ「ProjectA」を作り、その上でプロジェクトメンバーのアクセス権限を個別に設定することが考えられる。

 だが、これだけではうまくいかない。「\\AS\Documents\Lv2\ProjectA」にアクセスするためには正社員しかアクセスできないフォルダ「\\AS\Documents\Lv2」を経由しなければ到達できないため、そこで派遣社員からのアクセスがブロックされてしまうからだ。

 そのような場合に、途中のフォルダに「フォルダのスキャン/ファイルの実行(フォルダの横断/ファイルの実行)」を設定する。それによってパスの途中のフォルダへのアクセスを禁止したまま、最終的な目的のフォルダに到達するために「フォルダを横断」することができるようになる。

【ファイルの場合:ファイルの実行】

 プログラムの実行権限。

共有フォルダDocumentsに「フォルダーの横断/ファイルの実行」のみを付けておく

\\AS-202TE-4040\Documentsにはアクセスできない

それより下にある\\AS-202TE-4040\Documents\Lv2\ProjectAにはアクセスできる

2、フォルダの一覧/データの読み取り(フォルダの一覧表示/データの読み取り)

【フォルダの場合:フォルダーの一覧(フォルダーの一覧表示)】

 そのフォルダにあるサブフォルダやファイルの一覧を表示する。

【ファイルの場合:データの読み取り】

 ファイルを読み込む。

3、属性の読み取り(属性を読み取る)

 ファイル/フォルダの属性(読み取り専用、隠し属性、圧縮、暗号化)を読み取る。

4、拡張属性の読み取り(拡張属性を読み取る)

 ファイル/フォルダの拡張属性を読み取る。現在、拡張属性はあまり使用されていない。

5、ファイルの作成/データの書き込み

【フォルダの場合:ファイルの作成】

 フォルダの下にファイルを作成する。

【ファイルの場合:データの書き込み】

 ファイルの更新。

6、フォルダの作成/データの追加

【フォルダの場合:フォルダーの作成】

 フォルダの下にサブフォルダを作成する。

【ファイルの場合:データの追加】

 ファイルへのデータ追加(変更、削除、更新はできない)。ログなど追記のみの書き込みに使用する。

7、属性の書き込み(属性を書き込む)

 ファイル/フォルダの属性(読み取り専用、隠し属性、圧縮、暗号化)を書き込む。

8、拡張属性の書き込み(拡張属性を書き込む)

 ファイル/フォルダの拡張属性を書き込む。

9、サブフォルダとファイルの削除(サブフォルダとファイルを削除する)

【フォルダの場合:サブフォルダーの削除】

 サブフォルダを削除する。サブフォルダそのものに削除権限がなくても、このパーミッションが親フォルダに設定されていれば削除することができる。矛盾するように感じるかもしれないが、管理権限をどの階層で委譲するかという問題に対応するには必要なパーミッションになる。フォルダ以下の権限を委譲した結果、親フォルダの管理者がそのフォルダ(親から見れば自分のサブフォルダ)を削除できなくなってしまうことが起こりうるからだ。

【ファイルの場合:該当なし】

10、削除

 ファイル/フォルダを削除する。削除権限がないと名前の変更もできない。特にWindowsエクスプローラーのコンテキストメニューなどから「新規作成」した場合、「新しいフォルダ」のような一時的な名前から変更できなくなるので注意しよう。

削除ができないと新規作成したファイルやフォルダの名前変更も失敗する

11、アクセス許可の読み取り(読み取り権限)

 ファイル/フォルダのアクセス許可(パーミッション)の読み取り。

12、アクセス許可の変更(変更権限)

 ファイル/フォルダのアクセス許可(パーミッション)の変更。

13、所有権の取得(所有権を得る)

 ファイル/フォルダの所有権の取得。ファイル/フォルダの所有者はそれまでのファイル/フォルダを保護するパーミッションに関係なく、常にパーミッションを変更することができるため、所有権を取得することでパーミッションを自由に変更することが可能になる。

 なお、この13種類のパーミッションを都度個別に指定するのは手間がかかるため、よく利用する設定内容のセットがあらかじめ定義されている。ただし、WindowsのエクスプローラーとADMのファイルマネージャではセットの内容が異なる。

WindowsエクスプローラーとADMのパーミッションセットの違い

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

最新トピックスPR

過去記事カレンダー