- - PR -
ActiveDirectoryAccessRule の ObjectType プロパティについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-05-11 13:08
初めまして、VS2005唸習者と申します。別所では「VS2005初心者」
でした。1年経ちまして「唸習者」ぐらいにするべきかとは思われました次第です。 お世話をお掛け致しますが、何卒よろしくお願いします。 今回は ActiveDirectoryAccessRule の ObjectType プロパティ についてご指導いただけましたらありがたく存じます。 本件はこちらのフォーラムにてお聞きしておりました、 http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=3200151&SiteID=7 においてなんとなく安心していたということはありましたものの この中の後半の点を含めてすっきりと解決させておくべきと思われ ました。よろしければこちらのフォーラムにてもご指導を賜れば 誠に幸いに存じます。 (1) ActiveDirectoryAccessRule クラス の ObjectType プロパティ あちらのフォーラムで教えて頂きましたこちらのリンク: Active Directoryオブジェクトの識別名(DN)とは http://www.atmarkit.co.jp/fwin2k/win2ktips/829addn/addn.html から、以下の情報を得ることができました。 ----- ■オブジェクトGUID これは表には現れないが、Active Directoryではすべての オブジェクトに対して、このGUIDによる一意なID(128bitのランダムな数値) を付け、内部的に管理している。Active Directoryのツリー構造や 名前の変更に伴い、識別名やActive Directory正規名は変わるが、 GUIDは変わらない。 ----- からしますと、この ActiveDirectoryAccessRule クラスの ObjectType プロパティというものは、おそらくサーバーの 固体が変わってもOSの固体が変わっても、 ActiveDirectory サービスであれば、 どこでも同じオブジェクト([組織単位OU]や[グループ]など) であれば、同じGUIDが使われる ということで受け取ってよいのではないか、とは思われましたが、 このことの確認の件が一つと、もう一点は、 (2) オブジェクトの種類を示すはずのこの ObjectType プロパティ にその値が必ずしも反映されない場合があること についてでした。ADSIエディタでのセキュリティ設定では適用先の オブジェクトをいろいろに変えることができるのですが、 プログラム上から見ますと、その変えたオブジェクトの種類を示す はずのこの ObjectType プロパティには、その値が必ずしも反映され ない場合があることがわかりました。 とくにそのオブジェクトに「フルコントロール」の権限でアクセス できるようにした場合に ObjectType が 00000000-0000-0000-0000-000000000000 となり、ここからではオブジェクトの種類を識別する情報を取る ことができないように思われました。しかし、ADSIエディタでの セキュリティ設定では識別して表示されていますので、どこかに その情報があるのだろうとは思われるのですが、それがどこに どのように存在しているのかまだわかりません。 よろしければこれらの点についてご指導を頂ければ有難く、何か ご存知の方がいらっしゃいましたら何とぞご教示のほどお願い 致します。 |
|
投稿日時: 2008-05-11 16:21
ActiveDirectoryAccessRule property はおそらく IADsAccessControlEntry interface の wrapper ですね。
IADsAccessControlEntry interface はその名が示すように ACE を扱う class ですね。単純に ACE といっても内部ではいろいろ種類があります。こちらに関しては下記を参照してください。 Access Control Entries ACE Data Type ObjectAccessRule.ObjectType property が利用できるのは Object-specific ACEs と呼ばれるものですね。Link先で説明されていますけど、これは AD の Attributes を個々に制御するため用意されているものだと思います。ADSI Edit では [アクセス許可エントリ] window に [プロパティ] tab が存在すると思います。ちゃんと検証していないけどおそらくこれだと思いますね。 ということで ObjectAccessRule.ObjectType propety が示すのは ActiveDirectory schema の attributes を表す GUID でしょう。 |
|
投稿日時: 2008-05-11 16:26
追伸。ここら辺を扱う .NET Framework の class は、Windows native API の wraaper であることが多いのです。情報が足りないと思ったら Win32 and COM Development の方を参照するべきですね。
|
|
投稿日時: 2008-05-12 00:43
ちゃっぴ様、大変お世話になります。
ご指導に感謝します! >Link先で説明されていますけど、これは AD の Attributes を >個々に制御するため用意されているものだと思います。 >ADSI Edit では [アクセス許可エントリ] window に >[プロパティ] tab が存在すると思います。 >ということで ObjectAccessRule.ObjectType propety が示すのは >ActiveDirectory schema の attributes を表す GUID でしょう。 この辺は調査すべき内容が多岐にわたっていて、当方にとって 難解な部分があるところでした。ヒント、参照先を多数上げて 頂きましたので、落ち着いてこれらを調べてみます。 調べてわかったことから対策して結果が出たところで報告させて 頂きます! さっそくのご指導、ありがとうございました。 まずはお礼まで! |
1