読者です 読者をやめる 読者になる 読者になる

雑記+備忘録

OS中心の技術情報と趣味について(最近は主に将棋)。備忘録なのでここに書かれたことを試すのは自己責任でお願いします。

同一ユーザーで、ログインしたマシンによってフォルダアクセス権を変える(Kerberos複合認証)

備忘録(Windows)

まずは備忘録っぽく、設定の要点のみ

例:共有フォルダ「Kyoyu」について
 ユーザー「Taro」についてのアクセス権を
 コンピューター「Com01」にログインしてアクセスした場合は「変更」
 それ以外からアクセスした場合は「読み取りのみ」
 としたい

1.ドメコングループポリシー
Com01を専用のOUに格納し、専用のグループも作成してメンバーとする
(グループの方は必須ではない)
 例:OU01、Group01とする

ドメイングループポリシーの「Default Domain Controllers Policy」で、
以下の項目を有効にする

コンピューターの構成
 |_ポリシー
  |_管理用テンプレート
   |_システム
    |_KDC
 の
 ・KDCで信頼性情報、複合認証、およびKerberos防御をサポートする
  →有効 & サポート
 ・複合認証を要求する
  →有効

コンピューターの構成
 |_ポリシー
  |_管理用テンプレート
   |_システム
    |_Kerberos
 の
 ・Kerberosクライアントで信頼性情報、複合認証、およびKerberos防御をサポートする
  →有効 & サポート
 ・複合認証をサポートする
  →有効 & 常時

2.対象コンピューターグループポリシー
OU01にグループポリシーをリンクし(例:OU01GPとする)、
リンクしたグループポリシーで以下の項目を有効にする

コンピューターの構成
 |_ポリシー
  |_管理用テンプレート
   |_システム
    |_Kerberos
 の
 ・Kerberosクライアントで信頼性情報、複合認証、およびKerberos防御をサポートする
  →有効 & サポート
 ・複合認証をサポートする
  →有効 & 常時

3.gpupdate
ドメインコントローラーのコマンドプロンプトから「gpupdate /force」を実行する


Com01を再起動する、もしくは「gpupdate /force」を実行する


4.フォルダアクセス権

「Kyoyu」のアクセス権は以下の通り設定する

共有アクセス権 | Domain Users | 変更
NTFSアクセス権 | 上位からの継承を無効にする
        | SYSTEM | フルコントロール
        | Administrators | フルコントロール
        | CREATOR OWNER | フルコントロール
        | Domain Users | 読み取りと実行 ※A
        | Domain Users | 変更 ※B

 

※A:通常の手順で追加する
※B:「アクセス許可エントリ」画面下部の「条件の追加」から以下の条件を追加する
 デバイス グループ 次のそれぞれに所属する 値 <↓>
  「項目の追加」をクリックして「Group01」を追加して「1個のアイテムが選択...」の状態にする


5.有効なアクセス権確認
「有効なアクセス」タブをクリックして「ユーザーの選択」「デバイスの選択」それぞれに
「Taro」と「Com01」を入れて下の「有効なアクセス許可の表示」をクリックして確認する。
次に「デバイスの選択」でCom01以外を選択して、変化を確認する。


6.反映待ち(?)
Com01に何度かTaroでログインし、実機確認する。書き込み権限が反映されない場合は、
何度かログオフログオンを繰り返す。
それでも反映されない場合は15分ほど待つ。

→この反映されるタイミングが良く分からない。
 5分~15分待つ間に2~3度ログオフログオンを繰り返したら反映されたが、
 反映タイミングが時間なのかログオフログオンなのか。


手順は以上。

「同一ユーザーで、ログインしたマシンによってフォルダアクセス権を変える」方法について、
結構著名な技術系サイトに「ダイナミックアクセス制御でできる」と一文だけあり、やり方は書いていなかった。
その文脈の中で「こんなのニーズあるの?」と書かれていて、
実際自分もそう思っていたのだが、
とある日に、SIの現場でこんなシチュエーションの相談を受けた。
・全社員の使える執務スペース以外に機密性の高い情報を扱う専用ルームあり
・その専用ルームへの執務スペースからのファイルの持込は許すが、
 専用ルームからのデータ持ち出しは不可とする
・上の条件を満たすために、ファイルサーバー内に「持ち込み用フォルダ」を作成し、
 担当ユーザーに
  執務スペースのPCからアクセスしたときは書き込み
  専用ルームのPCからアクセスしたときは読み取りのみ
 のアクセス権を与える

専用ルーム用の別ユーザーを作れば解決な気もするが、
同一人物が2ユーザーを持つのは好ましくないとのこと。

で、方法を探し始めた次第。
最初はダイナミックアクセス制御(DAC)が必要かと思って調べたが、
いろいろ実機で試しているうちに、NTFSアクセス権の画面に
デバイスの条件を追加できるのを発見。
この機能について、が意外と情報がない。(検索の仕方が悪いのかもしれないが)
「アクセス許可エントリ」「条件の追加」とかで検索してもひっかかってこないし、
英語なら何かあるかと英語言語パックをインストールして設定の英訳を探し
「add a condition」「device」とやったらようやく糸口となりそうなQA掲示板を発見。
そのQA掲示板の情報を元にDACを使わない方向で、実機で試行錯誤してこの方法を確立。

ダイナミックアクセス制御(DAC)の実装に伴ってKerberos認証が拡張された結果実装された機能
とかどっかで見たような(うろ覚え)気がするが、
詳しい機能の説明は別途要調査だ。

本当にこの手順の設定が必要十分条件なのか、
またデバイスグループに新たにデバイスが追加された際の設定反映タイミングについても未確認なので、
時間ができたらどこかで確認したい。