(57)【特許請求の範囲】
【請求項１】
アクセスの対象であるアクセス対象リソースと、該アクセス対象リソースにアクセスするアクセス主体ユーザと、前記アクセス対象リソースへの前記アクセス主体ユーザのアクセスの許可又は禁止を規定したアクセス権と、を組としたアクセス制御ルールを１以上有するアクセス制御リストが供給され、前記アクセス制御リストに記載されたアクセス制御ルールを読み込む読込部と、
読み込まれたアクセス制御ルールが、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを許可する許可ルールであるか、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを禁止する禁止ルールであるかを判定する第１ルール判定部と、
前記第１ルール判定部により許可ルールと判定されたアクセス制御ルールを記憶する記憶部と、
前記禁止ルールと判定されたアクセス制御ルールのアクセス主体ユーザが、前記記憶部に記憶されたアクセス制御ルールのアクセス主体ユーザと同一で、かつ前記禁止ルールと判定された前記アクセス制御ルールのアクセス対象リソースが、前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを包含しているか否かを判定する第２ルール判定部と、
前記アクセス対象リソースの最新の全情報を、その上位概念から下位概念まで体系的に記録したリソース情報を蓄積するデータベースと、
前記記憶部に記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定部で判定されたアクセス制御ルールのアクセス対象リソースから、前記リソース情報を参照して、前記記憶部に記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除くリソース展開部と、
を備えることを特徴とするアクセス制御リスト変換システム。
【請求項２】
前記リソース展開部は、前記記憶部に記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定部で判定されたアクセス制御ルールのアクセス対象リソースを、前記リソース情報を参照して、前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースと同水準の下位概念にまで展開し、該同水準の下位概念にまで展開されたアクセス対象リソースから前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを除くことを特徴とする請求項１に記載のアクセス制御リスト変換システム。
【請求項３】
前記記憶部は、
前記第１ルール判定部により許可ルールと判定されたアクセス制御ルールを記憶する許可ルール記憶部と、
前記第１ルール判定部で禁止ルールと判定されたアクセス制御ルール、前記第２ルール判定部で前記記憶部に記憶されたアクセス制御ルールとアクセス主体ユーザが異なるか、前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを包含していないと判定されたアクセス制御ルール及び前記リソース展開部で前記記憶部に記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除いたアクセス制御ルールを記憶する禁止ルール記憶部と、
を更に備え、
前記禁止ルール記憶部が記憶したアクセス制御ルールを最終出力とする請求項１又は２に記載のアクセス制御リスト変換システム。
【請求項４】
前記読込部は、前記記憶部を参照し、読み込んだアクセス制御ルールが前記記憶部に記憶されたアクセス制御ルールに包含される場合、前記アクセス制御リストから新たなアクセス制御ルールを読み込むことを特徴とする請求項１乃至３のいずれか１項に記載のアクセス制御変換リストシステム。
【請求項５】
アクセスの対象であるアクセス対象リソースと、該アクセス対象リソースにアクセスするアクセス主体ユーザと、前記アクセス対象リソースへの前記アクセス主体ユーザのアクセスの許可又は禁止を規定したアクセス権と、を組としたアクセス制御ルールを１以上有するアクセス制御リストが供給され、前記アクセス制御リストに記載されたアクセス制御ルールを読み込む読込部と、
読み込まれたアクセス制御ルールが、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを許可する許可ルールであるか、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを禁止する禁止ルールであるかを判定する第１ルール判定部と、
前記第１ルール判定部により禁止ルールと判定されたアクセス制御ルールを記憶する記憶部と、
前記許可ルールと判定されたアクセス制御ルールのアクセス主体ユーザが、前記記憶部に記憶されたアクセス制御ルールのアクセス主体ユーザと同一で、かつ前記許可ルールと判定された前記アクセス制御ルールのアクセス対象リソースが、前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを包含しているか否かを判定する第２ルール判定部と、
前記アクセス対象リソースの最新の全情報を、その上位概念から下位概念まで体系的に記録したリソース情報を蓄積するデータベースと、
前記記憶部に記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定部で判定されたアクセス制御ルールのアクセス対象リソースから、前記リソース情報を参照して、前記記憶部に記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除くリソース展開部と、
を備えることを特徴とするアクセス制御リスト変換システム。
【請求項６】
前記リソース展開部は、前記記憶部に記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定部で判定されたアクセス制御ルールのアクセス対象リソースを、前記リソース情報を参照して、前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースと同水準の下位概念にまで展開し、該同水準の下位概念にまで展開されたアクセス対象リソースから前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを除くことを特徴とする請求項５に記載のアクセス制御リスト変換システム。
【請求項７】
前記記憶部は、
前記第１ルール判定部により禁止ルールと判定されたアクセス制御ルールを記憶する禁止ルール記憶部と、
前記第１ルール判定部で許可ルールと判定されたアクセス制御ルール、前記第２ルール判定部で前記記憶部に記憶されたアクセス制御ルールとアクセス主体ユーザが異なるか、前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを包含していないと判定されたアクセス制御ルール及び前記リソース展開部で前記記憶部に記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除いたアクセス制御ルールを記憶する許可ルール記憶部と、
を更に備え、
前記許可ルール記憶部が記憶したアクセス制御ルールを最終出力とする請求項５又は６に記載のアクセス制御リスト変換システム。
【請求項８】
前記読込部は、前記記憶部を参照し、読み込んだアクセス制御ルールが前記記憶部に記憶されたアクセス制御ルールに包含される場合、前記アクセス制御リストから新たなアクセス制御ルールを読み込むことを特徴とする請求項５乃至７のいずれか１項に記載のアクセス制御リスト変換システム。
【請求項９】
読込部は、アクセスの対象であるアクセス対象リソースと、該アクセス対象リソースにアクセスするアクセス主体ユーザと、前記アクセス対象リソースへの前記アクセス主体ユーザのアクセスの許可又は禁止を規定したアクセス権と、を組としたアクセス制御ルールを１以上有するアクセス制御リストが供給され、前記アクセス制御リストに記載されたアクセス制御ルールを読み込む読込手順をし、
第１ルール判定部は、読み込まれたアクセス制御ルールが、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを許可する許可ルールであるか、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを禁止する禁止ルールであるかを判定する第１ルール判定手順をし、
記憶部は、前記第１ルール判定手順により許可ルールと判定されたアクセス制御ルールを記憶する記憶手順をし、
第２ルール判定部は、前記禁止ルールと判定されたアクセス制御ルールのアクセス主体ユーザが、前記記憶手順で記憶されたアクセス制御ルールのアクセス主体ユーザと同一で、かつ前記禁止ルールと判定された前記アクセス制御ルールのアクセス対象リソースが、前記記憶手順で記憶されたアクセス制御ルールのアクセス対象リソースを包含しているか否かを判定する第２ルール判定手順をし、
データベースは、前記アクセス対象リソースの最新の全情報を、その上位概念から下位概念まで体系的に記録したリソース情報を蓄積し、
リソース展開部は、前記記憶手順で記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶手順に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定手順で判定されたアクセス制御ルールのアクセス対象リソースから、前記リソース情報を参照して、前記記憶手順で記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除くリソース展開手順をすることを特徴とするアクセス制御リスト変換方法。
【請求項１０】
前記リソース展開手順は、前記記憶手順で記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶手順に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定手順で判定されたアクセス制御ルールのアクセス対象リソースを、前記リソース情報を参照して、前記記憶手順に記憶されたアクセス制御ルールのアクセス対象リソースと同水準の下位概念にまで展開し、該同水準の下位概念にまで展開されたアクセス対象リソースから前記記憶手順で記憶されたアクセス制御ルールのアクセス対象リソースを除くことを特徴とする請求項９に記載のアクセス制御リスト変換方法。
【請求項１１】
前記記憶手順は、
前記第１ルール判定手順で許可ルールと判定されたアクセス制御ルールを記憶する許可ルール記憶手順をし、
前記第１ルール判定手順で禁止ルールと判定されたアクセス制御ルール、前記第２ルール判定手順で前記記憶手順に記憶されたアクセス制御ルールとアクセス主体ユーザが異なるか、前記記憶手順に記憶されたアクセス制御ルールのアクセス対象リソースを包含していないと判定されたアクセス制御ルール及び前記リソース展開手順で前記記憶手順に記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除いたアクセス制御ルールを記憶する禁止ルール記憶手順をし、
前記禁止ルール記憶手順で記憶したアクセス制御ルールを最終出力とする請求項９又は１０に記載のアクセス制御リスト変換方法。
【請求項１２】
前記読込手順は、前記記憶手順で記録されたアクセス制御ルールを参照し、読み込んだアクセス制御ルールが前記記憶手順で記憶されたアクセス制御ルールに包含される場合、前記アクセス制御リストから新たなアクセス制御ルールを読み込むことを特徴とする請求項９乃至１１のいずれか１項に記載のアクセス制御リスト変換方法。
【請求項１３】
読込部は、アクセスの対象であるアクセス対象リソースと、該アクセス対象リソースにアクセスするアクセス主体ユーザと、前記アクセス対象リソースへの前記アクセス主体ユーザのアクセスの許可又は禁止を規定したアクセス権と、を組としたアクセス制御ルールを１以上有するアクセス制御リストが供給され、前記アクセス制御リストに記載されたアクセス制御ルールを読み込む読込手順をし、
第１ルール判定部は、読み込まれたアクセス制御ルールが、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを許可する許可ルールであるか、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを禁止する禁止ルールであるかを判定する第１ルール判定手順と、
記憶部は、前記第１ルール判定手順により禁止ルールと判定されたアクセス制御ルールを記憶する記憶手順をし、
第２ルール判定部は、前記許可ルールと判定されたアクセス制御ルールのアクセス主体ユーザが、前記記憶手順で記憶されたアクセス制御ルールのアクセス主体ユーザと同一で、かつ前記許可ルールと判定された前記アクセス制御ルールのアクセス対象リソースが、前記記憶手順で記憶されたアクセス制御ルールのアクセス対象リソースを包含しているか否かを判定する第２ルール判定手順をし、
データベースは、前記アクセス対象リソースの最新の全情報を、その上位概念から下位概念まで体系的に記録したリソース情報を蓄積し、
リソース展開部は、前記記憶手順で記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶手順に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定手順で判定されたアクセス制御ルールのアクセス対象リソースから、前記リソース情報を参照して、前記記憶手順で記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除くリソース展開手順をすることを特徴とするアクセス制御リスト変換方法。
【請求項１４】
前記リソース展開手順は、前記記憶手順で記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶手順に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定手順で判定されたアクセス制御ルールのアクセス対象リソースを、前記リソース情報を参照して、前記記憶手順に記憶されたアクセス制御ルールのアクセス対象リソースと同水準の下位概念にまで展開し、該同水準の下位概念にまで展開されたアクセス対象リソースから前記記憶手順で記憶されたアクセス制御ルールのアクセス対象リソースを除くことを特徴とする請求項１３に記載のアクセス制御リスト変換方法。
【請求項１５】
前記記憶手順は、
前記第１ルール判定手順で禁止ルールと判定されたアクセス制御ルールを記憶する禁止ルール記憶手順をし、
前記第１ルール判定手順で許可ルールと判定されたアクセス制御ルール、前記第２ルール判定手順で前記記憶手順に記憶されたアクセス制御ルールとアクセス主体ユーザが異なるか、前記記憶手順に記憶されたアクセス制御ルールのアクセス対象リソースを包含していないと判定されたアクセス制御ルール及び前記リソース展開手順で前記記憶手順に記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除いたアクセス制御ルールを記憶する許可ルール記憶手順をし、
前記許可ルール記憶手順で記憶したアクセス制御ルールを最終出力とする請求項１３又は１４に記載のアクセス制御リスト変換方法。
【請求項１６】
前記読込手順は、前記記憶手順で記録されたアクセス制御ルールを参照し、読み込んだアクセス制御ルールが前記記憶手順で記憶されたアクセス制御ルールに包含される場合、前記アクセス制御リストから新たなアクセス制御ルールを読み込むことを特徴とする請求項１３乃至１５のいずれか１項に記載のアクセス制御リスト変換方法。
【請求項１７】
アクセスの対象であるアクセス対象リソースと、該アクセス対象リソースにアクセスするアクセス主体ユーザと、前記アクセス対象リソースへの前記アクセス主体ユーザのアクセスの許可又は禁止を規定したアクセス権と、を組としたアクセス制御ルールを１以上有するアクセス制御リストが供給される処理と、前記アクセス制御リストに記載されたアクセス制御ルールを読み込む読込処理と、
読み込まれたアクセス制御ルールが、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを許可する許可ルールであるか、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを禁止する禁止ルールであるかを判定する第１ルール判定処理と、
前記第１ルール判定処理により許可ルールと判定されたアクセス制御ルールを記憶する記憶処理と、
前記禁止ルールと判定されたアクセス制御ルールのアクセス主体ユーザが、前記記憶処理で記憶されたアクセス制御ルールのアクセス主体ユーザと同一で、かつ前記禁止ルールと判定された前記アクセス制御ルールのアクセス対象リソースが、前記記憶処理で記憶されたアクセス制御ルールのアクセス対象リソースを包含しているか否かを判定する第２ルール判定処理と、
前記アクセス対象リソースの最新の全情報を、その上位概念から下位概念まで体系的に記録したリソース情報をデータベースに蓄積する処理と、
前記記憶処理で記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶処理に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定処理で判定されたアクセス制御ルールのアクセス対象リソースから、前記リソース情報を参照して、前記記憶処理で記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除くリソース展開処理と、
をコンピュータに実行させることを特徴とするアクセス制御リスト変換プログラム。
【請求項１８】
前記リソース展開処理は、前記記憶処理で記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶処理に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定処理で判定されたアクセス制御ルールのアクセス対象リソースを、前記リソース情報を参照して、前記記憶処理に記憶されたアクセス制御ルールのアクセス対象リソースと同水準の下位概念にまで展開し、該同水準の下位概念にまで展開されたアクセス対象リソースから前記記憶処理で記憶されたアクセス制御ルールのアクセス対象リソースを除くことを特徴とする請求項１７に記載のアクセス制御リスト変換プログラム。
【請求項１９】
前記記憶処理は、
前記第１ルール判定処理で許可ルールと判定されたアクセス制御ルールを記憶する許可ルール記憶処理と、
前記第１ルール判定処理で禁止ルールと判定されたアクセス制御ルール、前記第２ルール判定処理で前記記憶処理に記憶されたアクセス制御ルールとアクセス主体ユーザが異なるか、前記記憶処理に記憶されたアクセス制御ルールのアクセス対象リソースを包含していないと判定されたアクセス制御ルール及び前記リソース展開処理で前記記憶処理に記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除いたアクセス制御ルールを記憶する禁止ルール記憶処理と、
を更にコンピュータに実行させ、
前記禁止ルール記憶処理で記憶したアクセス制御ルールを最終出力とする請求項１７又は１８に記載のアクセス制御リスト変換プログラム。
【請求項２０】
前記読込処理は、前記記憶処理で記録されたアクセス制御ルールを参照し、読み込んだアクセス制御ルールが前記記憶処理で記憶されたアクセス制御ルールに包含される場合、前記アクセス制御リストから新たなアクセス制御ルールを読み込むことを特徴とする請求項１７乃至１９のいずれか１項に記載のアクセス制御リスト変換プログラム。
【請求項２１】
アクセスの対象であるアクセス対象リソースと、該アクセス対象リソースにアクセスするアクセス主体ユーザと、前記アクセス対象リソースへの前記アクセス主体ユーザのアクセスの許可又は禁止を規定したアクセス権と、を組としたアクセス制御ルールを１以上有するアクセス制御リストが供給される処理と、
前記アクセス制御リストに記載されたアクセス制御ルールを読み込む読込処理と、
読み込まれたアクセス制御ルールが、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを許可する許可ルールであるか、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを禁止する禁止ルールであるかを判定する第１ルール判定処理と、
前記第１ルール判定処理により禁止ルールと判定されたアクセス制御ルールを記憶する記憶処理と、
前記許可ルールと判定されたアクセス制御ルールのアクセス主体ユーザが、前記記憶処理で記憶されたアクセス制御ルールのアクセス主体ユーザと同一で、かつ前記許可ルールと判定された前記アクセス制御ルールのアクセス対象リソースが、前記記憶処理で記憶されたアクセス制御ルールのアクセス対象リソースを包含しているか否かを判定する第２ルール判定処理と、
前記アクセス対象リソースの最新の全情報を、その上位概念から下位概念まで体系的に記録したリソース情報をデータベースに蓄積する処理と、
前記記憶処理で記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶処理に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定処理で判定されたアクセス制御ルールのアクセス対象リソースから、前記リソース情報を参照して、前記記憶処理で記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除くリソース展開処理と、
をコンピュータに実行させることを特徴とするアクセス制御リスト変換プログラム。
【請求項２２】
前記リソース展開処理は、前記記憶処理で記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶処理に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定処理で判定されたアクセス制御ルールのアクセス対象リソースを、前記リソース情報を参照して、前記記憶処理に記憶されたアクセス制御ルールのアクセス対象リソースと同水準の下位概念にまで展開し、該同水準の下位概念にまで展開されたアクセス対象リソースから前記記憶処理で記憶されたアクセス制御ルールのアクセス対象リソースを除くことを特徴とする請求項２１に記載のアクセス制御リスト変換プログラム。
【請求項２３】
前記記憶処理は、
前記第１ルール判定処理で禁止ルールと判定されたアクセス制御ルールを記憶する禁止ルール記憶処理と、
前記第１ルール判定処理で許可ルールと判定されたアクセス制御ルール、前記第２ルール判定処理で前記記憶処理に記憶されたアクセス制御ルールとアクセス主体ユーザが異なるか、前記記憶処理に記憶されたアクセス制御ルールのアクセス対象リソースを包含していないと判定されたアクセス制御ルール及び前記リソース展開処理で前記記憶処理に記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除いたアクセス制御ルールを記憶する許可ルール記憶処理と、
を更にコンピュータに実行させ、
前記許可ルール記憶処理で記憶したアクセス制御ルールを最終出力とする請求項２１又は２２に記載のアクセス制御リスト変換プログラム。
【請求項２４】
前記読込処理は、前記記憶処理で記録されたアクセス制御ルールを参照し、読み込んだアクセス制御ルールが前記記憶処理で記憶されたアクセス制御ルールに包含される場合、前記アクセス制御リストから新たなアクセス制御ルールを読み込むことを特徴とする請求項２１乃至２３のいずれか１項に記載のアクセス制御リスト変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記述順序に制約のないアクセス制御リストを生成するアクセス制御リスト変換システム、その方法及びそのプログラムに関する。
【背景技術】
【０００２】
アクセス制御リストとして表現されるポリシーの配付に関して、複数の制御対象マシンに対して１つの統合アクセス制御サーバで、アクセス制御を実施する例が多く見られるようになってきている。【０００３】
従って、ポリシーの変更に伴うアクセス制御リストの修正が求められており、アクセス制御リストのメンテナンス性の向上が望まれている。【０００４】
ここでいうアクセス制御リストは、アクセスの対象であるアクセス対象リソースと、このアクセス対象リソースにアクセスするアクセス主体ユーザと、アクセス対象リソースへのアクセス主体ユーザのアクセスの許可又は禁止を規定したアクセス権と、を組としたアクセス制御ルールを１以上有するように構成されていることが一般的である。【０００５】
アクセス制御リストによってアクセス制御を実施するアクセス制御機構では、アクセス制御リストに記述されるアクセス制御ルールの記述順序により、そのアクセス制御リストの解釈が異なる。そのため、アクセス制御ルールそれぞれの内容が同一であっても、その記述順序によってアクセス制御リスト全体としての制御内容が異なることから、アクセス制御機構において、アクセス制御リストを変更した者の意図通りに解釈される保証がない。【０００６】
又、アクセス制御機構の解釈特性に合わせて同一のアクセス制御内容のアクセス制御リストを、アクセス制御機構ごとに作成する必要があるなど、メンテナンス性が低い。【０００７】
特許文献１には、識別記号を自動的に付与し、付与した識別記号に基づいて、所定の式により自動的にＡＣＬから矛盾ルールの検出及び矛盾部分の抽出並びに冗長ルールの検出ができる発明が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−１８２４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に開示された発明は、ＡＣＬ中の任意の２つのルールが矛盾しないようにチェックすることは可能であるが、アクセス制御ポリシー変更時のアクセス制御リストの修正コストが膨大であるという問題がある。【００１０】
その理由は、アクセス制御リストでは、アクセス制御ルールの記述順序に意味があり、記述順序によってアクセス制御機構の解釈が異なるため、アクセス制御リストの変更はアクセス制御ルールの追加や削除による変更だけではなく、その記述順序を考慮せねばならないためである。【００１１】
一般的にアクセス制御リストは、アクセス主体ユーザ、アクセス対象リソースと許可又は禁止のアクセス権を組とするアクセス制御ルールとした、複数のルールから構成される。ルール間で制御内容が相反する場合、一般的なアクセス制御機構では、その記述順序によりこのアクセス制御リストの解釈が異なる。アクセス制御リスト内のルールそれぞれの制御内容が同一であっても、その記述順序によってアクセス制御リスト全体としての制御内容が異なるため、アクセス制御機構において、かならずしも変更者の意図どおりに解釈される保証がなかった。【００１２】
例えば、「（ルール１）任意のユーザは/etcディレクトリ配下のファイルを読み書きしてはならない。」と記述されたアクセス制御リストに対して、ユーザyamadaに特権を与えるために、「（ルール２）ユーザyamadaは/etc/passwdファイルを変更してよい。」というルール２を、ルール１の後に追記した場合、アクセス制御機構はユーザyamadaによる/etc/passwdの変更を禁止する。これは、該アクセス制御機構が先に合致する条件を優先的に処理するという解釈特性を持つために、当該アクセス要求に対して、ルール１が先に合致するためである。上記特権を正しく反映するには、少なくともルール２をルール１よりも先に記述しなければならない。【００１３】
このように、アクセス制御ルールの記述順序によりアクセス制御機構の振舞いが変わるという特性は、アクセス制御リストの適切な変更だけでなく、現在のアクセス制御リストの下でどのユーザがどのリソースにアクセスできるか、又はできないかを検証することも困難にする。【００１４】
こうしたアクセス制御リストの変更に伴う課題は、アクセス制御リスト内のルール数が増えるにつれ、より深刻なものとなり、アクセス権設定不備の要因の１つであった。【００１５】
第２の問題点は、アクセス制御機構ごとにアクセス制御リストの生成の必要性があるということである。【００１６】
その理由は、複数の様々なアクセス制御機構によってアクセス制御を実施する場合には、同一内容のアクセス制御内容のアクセス制御ポリシーを、アクセス制御リストの上位に記述された順にアクセス制御ルールから処理する特性や、任意の順に処理する特性など異なる特性をもつアクセス制御機構ごとに生成する必要があり、複数の様々なアクセス制御対象マシンの存在する現在では、アクセス制御のポリシーを新規に策定する場合や、変更する場合に、アクセス制御機構の特性ごとにアクセス制御リストを生成又は修正せねばならないからである。【００１７】
そこで、本発明の典型的（exemplary）な目的は、記述順序に制約のないアクセス制御リストを生成するアクセス制御リスト変換システム、その方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明による典型的（exemplary）な第１の観点（aspect）によれば、アクセスの対象であるアクセス対象リソースと、該アクセス対象リソースにアクセスするアクセス主体ユーザと、前記アクセス対象リソースへの前記アクセス主体ユーザのアクセスの許可又は禁止を規定したアクセス権と、を組としたアクセス制御ルールを１以上有するアクセス制御リストが供給され、前記アクセス制御リストに記載されたアクセス制御ルールを読み込む読込部と、読み込まれたアクセス制御ルールが、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを許可する許可ルールであるか、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを禁止する禁止ルールであるかを判定する第１ルール判定部と、前記第１ルール判定部により許可ルールと判定されたアクセス制御ルールを記憶する記憶部と、前記禁止ルールと判定されたアクセス制御ルールのアクセス主体ユーザが、前記記憶部に記憶されたアクセス制御ルールのアクセス主体ユーザと同一で、かつ前記禁止ルールと判定された前記アクセス制御ルールのアクセス対象リソースが、前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを包含しているか否かを判定する第２ルール判定部と、前記アクセス対象リソースの最新の全情報を、その上位概念から下位概念まで体系的に記録したリソース情報を蓄積するデータベースと、前記記憶部に記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶部に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定部で判定されたアクセス制御ルールのアクセス対象リソースから、前記リソース情報を参照して、前記記憶部に記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除くリソース展開部と、を備えることを特徴とするアクセス制御リスト変換システムが提供される。【００１９】
また、本発明による典型的（exemplary）な第１の観点（aspect）によれば、読込部は、アクセスの対象であるアクセス対象リソースと、該アクセス対象リソースにアクセスするアクセス主体ユーザと、前記アクセス対象リソースへの前記アクセス主体ユーザのアクセスの許可又は禁止を規定したアクセス権と、を組としたアクセス制御ルールを１以上有するアクセス制御リストが供給され、前記アクセス制御リストに記載されたアクセス制御ルールを読み込む読込手順をし、第１ルール判定部は、読み込まれたアクセス制御ルールが、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを許可する許可ルールであるか、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを禁止する禁止ルールであるかを判定する第１ルール判定手順をし、記憶部は、前記第１ルール判定手順により許可ルールと判定されたアクセス制御ルールを記憶する記憶手順をし、第２ルール判定部は、前記禁止ルールと判定されたアクセス制御ルールのアクセス主体ユーザが、前記記憶手順で記憶されたアクセス制御ルールのアクセス主体ユーザと同一で、かつ前記禁止ルールと判定された前記アクセス制御ルールのアクセス対象リソースが、前記記憶手順で記憶されたアクセス制御ルールのアクセス対象リソースを包含しているか否かを判定する第２ルール判定手順をし、データベースは、前記アクセス対象リソースの最新の全情報を、その上位概念から下位概念まで体系的に記録したリソース情報を蓄積し、リソース展開部は、前記記憶手順で記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶手順に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定手順で判定されたアクセス制御ルールのアクセス対象リソースから、前記リソース情報を参照して、前記記憶手順で記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除くリソース展開手順をすることを特徴とするアクセス制御リスト変換方法が提供される。
【００２０】
更に、本発明による典型的（exemplary）な第１の観点（aspect）によれば、アクセスの対象であるアクセス対象リソースと、該アクセス対象リソースにアクセスするアクセス主体ユーザと、前記アクセス対象リソースへの前記アクセス主体ユーザのアクセスの許可又は禁止を規定したアクセス権と、を組としたアクセス制御ルールを１以上有するアクセス制御リストが供給される処理と、前記アクセス制御リストに記載されたアクセス制御ルールを読み込む読込処理と、読み込まれたアクセス制御ルールが、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを許可する許可ルールであるか、前記アクセス対象リソースに前記アクセス主体ユーザのアクセスを禁止する禁止ルールであるかを判定する第１ルール判定処理と、前記第１ルール判定処理により許可ルールと判定されたアクセス制御ルールを記憶する記憶処理と、前記禁止ルールと判定されたアクセス制御ルールのアクセス主体ユーザが、前記記憶処理で記憶されたアクセス制御ルールのアクセス主体ユーザと同一で、かつ前記禁止ルールと判定された前記アクセス制御ルールのアクセス対象リソースが、前記記憶処理で記憶されたアクセス制御ルールのアクセス対象リソースを包含しているか否かを判定する第２ルール判定処理と、前記アクセス対象リソースの最新の全情報を、その上位概念から下位概念まで体系的に記録したリソース情報をデータベースに蓄積する処理と、前記記憶処理で記憶されたアクセス制御ルールとアクセス主体ユーザが同一で、かつ前記記憶処理に記憶されたアクセス制御ルールのアクセス対象リソースを包含していると前記第２ルール判定処理で判定されたアクセス制御ルールのアクセス対象リソースから、前記リソース情報を参照して、前記記憶処理で記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除くリソース展開処理と、をコンピュータに実行させることを特徴とするアクセス制御リスト変換プログラムが提供される。
【発明の効果】
【００２１】
本発明の典型的なアクセス制御リストを生成するアクセス制御リスト変換システム、その方法及びそのプログラムによれば、既出の許可ルールと包含関係を有する新たな禁止ルールから、既出の許可ルールに含まれるアクセス対象リソースを除去することにより、記述順序に制約のないアクセス制御リストを生成するアクセス制御リスト変換システム、その方法及びそのプログラムを提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施の形態によるアクセス制御リスト生成・変換システムの構成例を示すブロック図である。
【図２】本発明の第１の実施の形態によるアクセス制御リスト生成・変換アルゴリズムのフローチャートである。
【図３】本発明の第２の実施の形態によるアクセス制御リストの差分配信システムの構成例を示すブロック図である。
【図４】本発明の第３の実施の形態によるアクセス制御リストの差分配信一貫性保証システムの構成例を示すブロック図である。
【図５】本発明の第５の実施の形態によるアクセス制御リストの生成・変換・配信システムを示すブロック図である。
【図６】一般的な上位優先のアクセス制御リストである。
【図７】アクセス対象リソースの構成図である。
【図８】変換済のアクセス制御ルールの記述順序制約のないアクセス制御リストである。
【図９】ポリシーの配信・設定プロトコルである
【図１０】ＳＯＡＰによるポリシー設定準備問い合わせメッセージである。
【図１１】ＳＯＡＰによるポリシーの設定指示メッセージである。
【図１２】本発明の第４の実施の形態によるアクセス制御リスト参照型アクセス制御リスト生成・変換システムの構成例を示すブロック図である。
【図１３】本発明の第６の実施の形態によるアクセス制御リスト参照型差分配信システムを示すブロック図である。
【図１４】ポリシー変更後のアクセス制御リストである。
【図１５】差分配信の追加アクセス制御リストである。
【図１６】差分配信の削除アクセス制御リストである。
【図１７】ＳＯＡＰによるＡＣＬ列挙要求メッセージである。
【図１８】ＳＯＡＰによるＡＣＬ取得要求メッセージである。
【発明を実施するための形態】
【００２３】
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００２４】
［第１の実施の形態］
第１図は、本発明の第１の実施の形態によるアクセス制御リスト生成・変換システムの構成例を示すブロック図である。
【００２５】
図１を参照すると、本発明の第１の実施の形態は、ＡＣＬ変換部１０１と、リソースＤＢ１０２とから構成される。
【００２６】
リソースＤＢ１０２は、アクセス制御リスト（ＡＣＬ）によって制御される対象となるリソースの最新の全情報を、その上位概念から下位概念まで体系的に記憶している。
【００２７】
本記述において、アクセス制御リストとは、アクセスの対象であるアクセス対象リソースと、このアクセス対象リソースにアクセスするアクセス主体ユーザと、アクセス対象リソースへのアクセス主体ユーザのアクセスの許可又は禁止を規定したアクセス権と、を組としたアクセス制御ルールを１以上有するように構成されている。ここで「アクセス主体ユーザ」とは、例えば「yamada」のようにアクセスするユーザを特定できる情報であって、ユーザ識別のための名称、又はユーザ識別のための符号であってもよい。
【００２８】
アクセス対象リソースは、集合又は要素として表現され、＊は直下を表現する集合記法であり、＊＊は配下すべてを表現する集合記法である。
【００２９】
ＡＣＬ変換部１０１は、既出ルール判定部１１と、第１ルール判定部１２と、第２ルール判定部１３と、リソース展開部１４と、一時記憶部１５と、から構成される。
【００３０】
一時記憶部１５は、アクセス対象リソースにアクセス主体ユーザのアクセスを許可する許可ルールを記憶する許可ルール記憶部１６と、アクセス対象リソースにアクセス主体ユーザのアクセスを禁止する禁止ルールを記憶する禁止ルール記憶部１７と、を有する記憶部である。
【００３１】
既出ルール判定部１１は、アクセス制御リストに記述された順にアクセス制御ルールを１つずつ読み込む読込部であって、一時記憶部１５を参照し、読み込んだ新アクセス制御ルールが、アクセス制御リスト内で当該ルールより上部にて既出のルールのアクセス制御に含まれているか否かを判定し、該新ルールが既出ルールのアクセス制御内容に含まれる場合、すなわち、読み込んだアクセス制御ルールが一時記憶部１５に記憶されたアクセス制御ルールである場合、アクセス制御リストから新たなアクセス制御ルールを読み込む。
【００３２】
第１ルール判定部１２は、該新ルールが既出ルールのアクセス制御内容に含まれない場合に、該ルールが許可ルールか禁止ルールかを判定し、該新ルールが、許可ルールであった場合は、許可ルール記憶部１６に記憶し、既出ルール判定部１１に戻る。
【００３３】
第２ルール判定部１３は、該新ルールが、禁止ルールであった場合に、一時記憶部１５を参照し、許可ルール記憶部１６に記憶されたルールにアクセス主体ユーザが該ルールと同一で、かつアクセス対象リソースが該ルールのアクセス対象リソースに含まれているか否か、すなわちこのルールが許可ルール記憶部１６に記憶されたルールと相反するか否かを判定する。
【００３４】
相反しない場合、すなわち、一時記憶部１５に記憶されたアクセス制御ルールとアクセス主体ユーザが異なるか、一時記憶部１５に記憶されたアクセス制御ルールのアクセス対象リソースを包含していない場合は、該ルールを禁止ルール記憶部１７に記憶し、既出ルール判定部１１に戻る。
【００３５】
リソース展開部１４は、許可ルール記憶部１６に記憶されたルールと相反するルールのアクセス対象リソースを、許可ルール記憶部１６に記憶されたルールのアクセス対象リソースと同水準の下位概念まで、リソースＤＢ１０２を利用して抽出・展開し、ルール間でアクセス対象リソースが重ならない下位概念のアクセス対象リソースでアクセス制御ルールを書き換え、禁止ルール記憶部１７に記憶し、該ルールがアクセス制御リストの最終ルールでない場合は、既出ルール判定部１１に戻る
【００３６】
［第１の実施の形態の動作］
次に、図１及び図２を参照して本実施の形態の動作について詳細に説明する。ここで、図２は、本発明の第１の実施の形態によるアクセス制御リスト生成・変換アルゴリズムのフローチャートである。
【００３７】
入力されたアクセス制御リストは、図１中の既出ルール判定部１１に供給される。既出ルール判定部１１は、入力されたアクセス制御リストに記述された順にアクセス制御ルールを１行ごとに読み込む。更に、一時記憶部１５にて記憶されているルールを参照し、読み込んだ行のルールが、入力されたアクセス制御リスト内で、そのルールより上部に存在する既出のアクセス制御ルールに包含されているか否かを判定する（図２のステップＡ１及びＡ２）。
【００３８】
読み込んだ行のルールが一時記憶部１５で記憶されているものに包含されていない場合は、そのルールは第１ルール判定部１２に供給される。そのルールが既に一時記憶部１５で記憶されているルールに包含されている場合は、入力されたアクセス制御リストの次の１行をアクセス制御ルールとして読み込み、アクセス制御リストの終端に到達するまで同処理を再度実施する。
【００３９】
ここで、あるルールが包含されるとは、あるルールと包含ルールのアクセス主体及び許可又は禁止のアクセス権が同一であり、あるルールのアクセス対象リソースが包含ルールのアクセス対象リソースの部分集合である場合を指す。従って、前述の「上部に存在する既出のアクセス制御ルール」とは、包含ルールであることを意味する。それはすなわち、あるルールとアクセス主体及び許可又は禁止のアクセス権が同一であり、アクセス対象リソースが、あるルールのそれを含んだより大きな集合、すなわち上位概念に相当するものであって、既に一時記憶部１５に記憶されているものである。
【００４０】
図１中の第１ルール判定部１２は、読み込んだ行のルールが許可ルールであるか否かを判定する（図２のステップＡ３）。読み込んだ行のルールが許可ルールでない場合、つまり禁止ルールである場合は、そのルールは第２ルール判定部１３に供給される。読み込んだ行のルールが許可ルールである場合は、そのルールを許可ルール記憶部１６に記憶する（図２のステップＡ５）。
【００４１】
図１中の第２ルール判定部１３は、一時記憶部１５を参照し、読み込んだ行のルールに記述されているアクセス主体ユーザが許可ルール記憶部１６に記憶される許可ルールのアクセス主体ユーザと等しく、かつそのルールに記述されているアクセス対象リソースが、許可ルール記憶部１６に記憶される許可ルールに記述されたアクセス対象リソースを包含しているか否かを判定する（図２のステップＡ４）。包含していない場合は、読み込んだ行のルールをそのまま禁止ルール記憶部１７に記憶する。包含している場合は、該ルールはリソース展開部１４に供給される。
【００４２】
図１中のリソース展開部１４は、読み込んだ行のルールに記述されているアクセス対象リソースを、そのルールが包含する許可ルール記憶部１６に記憶されている許可ルールに記述されているアクセス対象リソースの集合又は要素を表現できる深度まで、すなわち、許可ルール記憶部１６に記憶されたアクセス制御ルールのアクセス対象リソースと同水準の下位概念にまで展開する（図２のステップＡ６）。ここで、リソースの深度が同じとは、リソースの表現階層が同等であり、互いが互いの部分集合とはなっていないことを指す。
【００４３】
許可ルールに記述されたリソースと同じ深度まで展開されたルールのリソースは、許可ルールに記述されたリソースを除き、禁止ルール記憶部１７に記憶される（図２のステップＡ７及びＡ８）。
【００４４】
最終出力としては、禁止ルール記憶部１７に記憶されたルール群がアクセス制御リストとして出力される。
【００４５】
本実施形態では、ブラックリスト形式の記述順序制約のないアクセス制御リストへの変換手法だが、許可と禁止を入れ替えることで許可ルールを列挙するホワイトリスト形式の記述順序制約のないアクセス制御リストへの変換も可能である。
【００４６】
ブラックリスト形式は、生成されるアクセス制御リストのデフォルトのアクセス制御条件が、記述されないリソースに対してはアクセスが許可されるものを指し、ホワイトリスト形式は、記述されないリソースに対してはアクセスを禁止されるものを指す。
【００４７】
ホワイトリスト形式での出力では、第２ルール判定部１３は、第１ルール判定部１２で許可ルールと判定されたアクセス制御ルールのアクセス主体ユーザが、一時記憶部１５に記憶された禁止ルールであるアクセス制御ルールのアクセス主体ユーザと同一で、かつ許可ルールと判定された前記アクセス制御ルールのアクセス対象リソースが、一時記憶部１５に記憶された禁止ルールであるアクセス制御ルールのアクセス対象リソースを包含しているか否かを判定する。
【００４８】
又、一時記憶部１５は、第１ルール判定部１２により禁止ルールと判定されたアクセス制御ルールを記憶する禁止ルール記憶部１７と、第１ルール判定部１２で許可ルールと判定されたアクセス制御ルール、第２ルール判定部１３で一時記憶部１５に記憶されたアクセス制御ルールとアクセス主体ユーザが異なるか、一時記憶部１５記憶されたアクセス制御ルールのアクセス対象リソースを包含していないと判定されたアクセス制御ルール及びリソース展開部１４で一時記憶部１５に記憶されたアクセス制御ルールに記載されているアクセス対象リソースを除いたアクセス制御ルールを記憶する許可ルール記憶部と、をホワイトリスト形式での出力では備える。
【００４９】
［第２の実施の形態］
次に、本発明の他の実施の形態であるアクセス制御リストの差分配信システムについて図面を参照して詳細に説明する。
【００５０】
本実施の形態では、アクセス制御リスト（ＡＣＬ）を統合的に管理し、更新されたポリシーに対してアクセス制御リストを更新し、各制御対象マシンに更新前と更新後とのアクセス制御リストの差分を配信する。
【００５１】
図３を参照すると、本実施の形態は、統合アクセス制御サーバ１００と、制御対象マシン２００と、から構成される。ここで、図３は、本発明の第２の実施の形態によるアクセス制御リストの差分配信システムの構成例を示すブロック図である。
【００５２】
統合アクセス制御サーバ１００は、ポリシー ＤＢ１０６と、リソース ＤＢ１０２と、ＡＣＬ ＤＢ１０７と、ＡＣＬ生成部１０３と、ＡＣＬ変換部１０１と、差分抽出部１０４と、配信部１０５とを有する。ポリシー ＤＢ１０６にはアクセス制御情報を記したポリシーが蓄積されており、ＡＣＬ ＤＢ１０７には過去に生成・配信したＡＣＬが蓄積されている。
【００５３】
制御対象マシン２００は、設定部２０１と、マージ部２０２と、受信部２０３とを有する。
【００５４】
統合アクセス制御サーバ１００では、更新した配信対象のアクセス制御情報であるポリシーをポリシー ＤＢ１０６よりＡＣＬ生成部１０３に供給する。供給されたポリシーから、ＡＣＬ生成部１０３によって、ポリシー内でアクセス制御を実施されるユーザをアクセス主体ユーザとして、ポリシー内でアクセス制御されるリソースをアクセス対処リソースとして、ポリシー内でユーザに対して付与されるアクセス権を許可又は禁止のアクセス権として記述し、（アクセス主体ユーザ、アクセス対象リソース、許可又は禁止のアクセス権）で表現されるアクセス制御ルールを優先度の高い順に上位に記述されたＡＣＬが生成される。
【００５５】
生成されたＡＣＬは、ＡＣＬ変換部１０１に供給され、リソースＤＢ１０２のリソース情報を用いて記述順序制約のないＡＣＬに変換される。リソースＤＢ１０２とＡＣＬ変換部１０１による記述順序制約のないＡＣＬの生成手順は、図１の第１の実施の形態と同一処理である。
【００５６】
差分抽出部１０４は、ＡＣＬ変換部１０１によって変換された順序制約のないＡＣＬと、ＡＣＬ ＤＢ１０７に蓄積されている該ＡＣＬの更新前のＡＣＬとの、それぞれに記述された同一のアクセス主体ユーザが含まれるアクセス制御ルールを１つずつアクセス対象リソースと許可又は禁止のアクセス権に関して文字列比較し、更新前のＡＣＬに記述されているが新規に変換済のＡＣＬに記述されていないアクセス制御ルール又は、更新前のＡＣＬに記述されていないが新規に変換済のＡＣＬには記述されているアクセス制御ルールを、差分情報として抽出する。
【００５７】
この差分情報は、更新前のＡＣＬに対して新規に変換済のＡＣＬにおいて追加又は削除されたアクセス制御ルールの集合からのみ成り、記述順序情報は含まれない。抽出された差分情報は、配信部１０５に供給され、制御対象マシン２００へと配信される。
【００５８】
制御対象マシン２００では、受信部２０３によって、統合アクセス制御サーバ１００の配信部１０５によって配信された差分情報を受信し、受信した差分情報をマージ部２０２に供給する。マージ部２０２は、差分情報に基づき、現在適用されている更新前のアクセス制御リストに対して、追加されたアクセス制御ルールを追記し、削除されたアクセス制御ルールを削除することによって更新後のアクセス制御リストを得る。マージされたアクセス制御リストは設定部２０１に供給され、設定部２０１によって、制御対象マシンに適用される。
【００５９】
本実施の形態では、差分情報としてアクセス制御ルールの追加情報と削除情報のみを配信することで更新後のアクセス制御リストを生成することが可能である。更新に必要な情報に順序制約を含まないため、統合アクセス制御サーバと制御対象マシン間の通信量を削減できる。又、記述順序を考慮したアクセス制御リストの再構築を行う必要がないため、アクセス制御リストの更新に使用される制御対象マシンのリソースの使用量を抑えられる。
【００６０】
［第３の実施の形態］
次に、本発明の他の実施の形態であるアクセス制御リストの一貫性保証差分配信システムについて図面を参照して詳細に説明する。
【００６１】
本実施の形態では、アクセス制御リストの差分配信における一貫性を保証する例を示す。ここで、図４は、本発明の第３の実施の形態によるアクセス制御リストの差分配信一貫性保証システムの構成例を示すブロック図である。
【００６２】
図４を参照すると、本実施の形態では、第２の実施の形態場合に比して、統合アクセス制御サーバ１００’が署名部１０８と、制御対象マシン２００’が署名検証部２０４を更に備える。
【００６３】
統合アクセス制御サーバ１００’の差分抽出部１０４によって抽出された差分情報は、署名部１０８に供給される。署名部１０８では、供給された差分情報に対して統合アクセス制御サーバ１００’に格納された正規の統合アクセス制御サーバを示す秘密鍵でＲＳＡ署名方式など所定の署名方式によりデジタル署名を付加する。
【００６４】
署名の付加されたアクセス制御リストの差分情報は、配信部１０５を用いて制御対象マシン２００’に配信される。
【００６５】
制御対象マシン２００’では、受信部２０３によって受信された署名の付与された差分情報は、マージ部２０２に供給される。マージ部２０２は、供給される差分情報に付加された署名を署名検証部２０４によって、制御対象マシンに格納された正規の統合アクセス制御サーバの発行している公開鍵によって検証する。
【００６６】
差分情報の正当性が保証された場合には、マージ部２０２は、現在適用されている更新前のアクセス制御リストに対して、追加されたアクセス制御ルールを追記し、削除されたアクセス制御ルールを削除する。マージされたアクセス制御リストは設定部２０１によって、制御対象マシンに適用される。
【００６７】
本実施の形態では、アクセス制御ルールの記述順序の制約が存在しないため、アクセス制御ルールの集合情報である差分情報の正当性が保証されれば、更新前のアクセス制御リストに差分情報をマージして得られる更新後のアクセス制御リストの正当性が保証される。
【００６８】
［第４の実施の形態］
次に、本発明の他の実施の形態である統合アクセス制御サーバではアクセス制御リストの元となるポリシーのみを保持することでアクセス制御を実施するシステムについて図面を参照して詳細に説明する。
【００６９】
本実施の形態では、統合アクセス制御サーバは、共通となるポリシーのみを管理し、各制御対象マシン上のアクセス制御機構が必要とするアクセス制御リストを保持することなくアクセス制御を実施する例を示す。ここで、図１２は、本発明の第４の実施の形態によるアクセス制御リスト参照型アクセス制御リスト生成・変換システムの構成例を示すブロック図である。
【００７０】
図１２を参照すると、本実施の形態では、統合アクセス制御サーバ１００’’ではＡＣＬ ＤＢ１０７が不要となりＡＣＬ問合せ部１０９及びこのＡＣＬ問合せ部との情報伝達部を持つ差分抽出部１０４’を備える。制御対象マシン２００’’は、ＡＣＬ制御部２０５及びＡＣＬ ＤＢ２０６を更に備える。
【００７１】
統合アクセス制御サーバ１００’’のＡＣＬ変換部１０１によって得られたＡＣＬに対し、差分抽出部１０４’は、制御対象マシン２００’’に設定されているＡＣＬとの差分情報を得るためにＡＣＬ問合せ部１０９を用いて制御対象マシン２００’’に対して現在設定されているＡＣＬを問い合わせることができる。
【００７２】
ＡＣＬ問合せ部１０９は、制御対象マシン２００’’のＡＣＬ制御部２０５に対して現在設定されているＡＣＬや配信済みのＡＣＬを問合せ、ＡＣＬ制御部２０５はＡＣＬ ＤＢ２０４に蓄積された情報を元に応答する。ＡＣＬ問合せ部１０９によってＡＣＬ制御部２０５から得られる情報は、現在設定されているＡＣＬそのものに加え、ＡＣＬのＩＤやリビジョン、そのＡＣＬが設定された時刻や配信された時刻などそのＡＣＬのメタ情報も取得できる。
【００７３】
メタ情報をやりとりすることによりＡＣＬそのものを伝達するよりも伝達コストを削減することが可能となる。例えば、メタ情報の中にはＡＣＬのハッシュ値も含まれ、順序制約のないＡＣＬをある規則に従って並べ替えたハッシュ値をやりとりすることによって、ＡＣＬ変換部によって得られたＡＣＬと現在設定されているＡＣＬとに差異があるか否かを知ることが可能となり、差分抽出コストを削減することが出来る。
【００７４】
本実施の形態では、制御対象マシンそれぞれのＡＣＬを統合アクセス制御サーバで保持する必要がなくなり、共通となるアクセス制御を実施するためのポリシーのみを管理すればよく、統合アクセス制御サーバの管理・運用コストを削減できる。又、制御対象マシンで設定されている情報などアクセス制御機構がアクセス制御に必要としている情報を利用することでリアルタイムなアクセス制御情報を統合アクセス制御サーバで閲覧・利用することができる。
【００７５】
［第５の実施の形態］
以下、より具体的な実施の形態について図面を参照して詳細に説明する。ここで、図５は、本発明の第５の実施の形態によるアクセス制御リストの生成・変換・配信システムを示すブロック図である。
【００７６】
本実施の形態では、アクセス制御リスト（ＡＣＬ）を統合的に管理し、策定されたポリシーからアクセス制御リストを生成し、各制御対象マシンにアクセス制御リストを配信・設定する。図５を参照すると、本実施の形態は、統合アクセス制御サーバ１００と、複数のｎ台の制御対象マシン２００−ｎから構成される。
【００７７】
統合アクセス制御サーバ１００は、ポリシー ＤＢ１０６と、リソース ＤＢ１０２と、ＡＣＬ生成部１０３と、ＡＣＬ変換部１０１と、配信部１０５とを備え、制御対象マシン２００−ｎは、設定部２０１と受信部２０３とを備える。
【００７８】
統合アクセス制御サーバ１００では、策定されたポリシーを蓄積しているポリシー ＤＢ１０６より、配信対象のポリシーをＡＣＬ生成部１０３に供給しＡＣＬを得る。
【００７９】
例えば、策定されたポリシーは、経理部のyamadaは、Ｗｅｂサーバの共用の/var/samba/pub/以下と経理部専用の/var/samba/keiri/以下は読み書きしてよいが、それ以外の/var/samba/以下は読み書き実行してはならないというものであり、それに対しＡＣＬ生成部１０３で、それぞれのアクセス制御ルールではポリシーで記述されている経理部のyamadaのアクセス主体がyamadaとして記述され、アクセス対象リソースとしてそれぞれ/var/samba/pub/、/var/samba/keiri/、/var/samba/**が記述され、それぞれのアクセス対象リソースに対してのアクセス権が、書き込み許可の場合はwrite+、禁止の場合はwrite-というように、許可を＋、禁止を−と表現して、書き込み、読み込み、実行のアクセス権に関して記述されることによってアクセス制御ルールが記述され、ポリシー内で上位に記述され優先度の高い順に、ＡＣＬ内でもアクセス制御ルールが優先度の高い順に記述され、ＡＣＬは図６のように生成される。ＡＣＬ内でのアクセス対象リストの＊と＊＊の表記に関しては、＊はディレクトリ直下を指し、＊＊はディレクトリ配下全てを指す。
【００８０】
そして、前述のＡＣＬをＡＣＬ変換部１０１に入力する。ＡＣＬ変換部１０１は、制御対象マシンのリソース情報が蓄積されたリソース ＤＢ１０２を参照しながら、前述のＡＣＬをアクセス制御ルールの記述順序に依存しないＡＣＬに、変換、出力する。前述のＡＣＬに対して、リソース ＤＢ１０２に蓄積されている制御対象マシンの全リソース情報を図７としたときの変換手順を図１及び図２を参照しながら具体的に説明する。
【００８１】
まず図６のＡＣＬのアクセス制御ルールを１行読み込み（図２のステップＡ１）、既出ルール判定部１１にて一時記憶部１５に記憶されたルールに該ルールが包含されていないので（図２のステップＡ２）、該ルールは第１ルール判定部１２に供給され許可ルールであるか否か判定される（図２のステップＡ３）。許可ルールであるyamada:/var/samba/pub:read+、yamada:/var/samba/pub:wirte+は許可ルール記憶部１６に記憶され（図２のステップＡ５）、禁止ルールであるyamada:/var/samba/pub:execute-は第２ルール判定部１３に供給される。
【００８２】
第２ルール判定部１３では、供給された該ルールが許可ルール記憶部１６に記憶された許可ルールとアクセス主体ユーザが同一で、かつ該ルールのアクセス対象リソースが許可ルール記憶部１６に記憶された許可ルールに記述されたアクセス対象リソースを含んでいない、つまり相反していないので、該ルールは禁止ルール記憶部１７に記憶される（図２のステップＡ４及びＡ８）。
【００８３】
そして該ルールが最終ルールか否かの判定（図２のステップＡ９）において、入力ＡＣＬは最終行に達していないので次の２行目のアクセス制御ルールを読み込み（図２のステップＡ１）、既出ルール判定部１１にて一時記憶部１５に記憶されたルールに該ルールが包含されていないので（図２のステップＡ２）、該ルールは第１ルール判定部１２に供給され許可ルールであるか否か判定される（図２のステップＡ３）。
【００８４】
許可ルールであるyamada:/var/samba/keiri:read+、yamada:/var/samba/keiri:wirte+は許可ルール記憶部１６に記憶され（図２のステップＡ５）、禁止ルールであるyamada:/var/samba/keiri:execute-は第２ルール判定部１３に供給される。
【００８５】
第２ルール判定部１３では、供給された該ルールが許可ルール記憶部１６に記憶された許可ルールと相反さないので禁止ルール記憶部１７に記憶される図２のステップＡ４及びＡ８）。そして該ルールが最終ルールか否かの判定（図２のステップＡ９）において、入力ＡＣＬは最終行に達していないので次の３行目のアクセス制御ルールを読み込み（図２のステップＡ１）、既出ルール判定部１１にて一時記憶部１５に記憶されたルールに該ルールが包含されていないので（図２のステップＡ２）、該ルールは第１ルール判定部１２に供給され許可ルールであるか否か判定され、禁止ルールであるので第２ルール判定部１３に供給される（図２のステップＡ３）。
【００８６】
第２ルール判定部１３では、供給されたyamada:/var/samba/**:execute-は許可ルール記憶部１６に記憶された許可ルールと相反さないので禁止ルール記憶部１７に記憶され（図２のステップＡ４及びＡ８）、yamada:/var/samba/**:read-及びyamada:/var/samba/**:write-は、許可ルール記憶部１６に記憶されたyamada:/var/samba/pub:read+、yamada:/var/samba/pub:wirte+, yamada:/var/samba/keiri:read+、yamada:/var/samba/keiri:wirte+と相反するのでリソース展開部１４に供給される。
【００８７】
リソース展開部１４では、yamada:/var/samba/**:read-が供給されるとリソース ＤＢ１０６を参照し、/var/samba/以下にpub、keiri、soumuが存在することを認識し、許可ルール記憶部１６に記憶されているyamada:/var/samba/pub:read+、yamada:/var/samba/keiri:read+と同じ階層のリソース情報を表現できるように展開し（図２のステップＡ６）、yamada:/var/samaba/pub:read-、yamada:/var/samba/keiri:read-、yamada:/var/samba/soumu:read-、yamada:/var/samba/*:read-を得、許可ルール記憶部１６に記憶されているアクセス対象リソースである/var/samba/pub及び/var/samba/keiriを除いたyamada:/var/samba/soumu:read-及びyamada:/var/samba/*:read-を禁止ルール記憶部１７に記憶し（図２のステップＡ７及びＡ８）、供給されたyamada:/var/samba/**:wirte-に関しても同様の処理にてyamada:/var/samba/soumu:wirte-及びyamada:/var/samba/*:wirte-を禁止ルール記憶部１７に記憶する（図２のステップＡ４、Ａ６、Ａ７及びＡ８）。
【００８８】
そして入力ＡＣＬは最終行に達したので禁止ルール記憶部１７に記憶されたyamada:/var/samba/pub:execute-、yamada:/var/samba/keiri:execute-、yamada:/var/samba/soumu:read-,wirte-及びyamada:/var/samba/*:read-,wirte-が出力されブラックリスト形式のＡＣＬが得られる。
【００８９】
ブラックリストではデフォルトルールが許可であるので、出力されたアクセス対象リソースに対して記述されていないアクセス権に関して許可を付与したＡＣＬとして図８が出力として得られる。出力として得られるＡＣＬは、記述されたアクセス制御ルールに記述順序制約がないために、アクセス制御ルールを任意に入れ替えても、アクセス制御機構が上位に記述された順に処理せずとも、ＡＣＬに記述されたアクセス制御ルールがすべてアクセス制御されれば、同一のアクセス制御効果をもたらす。
【００９０】
最後に、配信部１０５は、前記ＡＣＬ変換部１０１の出力したＡＣＬを、制御対象マシン２００−ｎに配信し、設定指示を出す。ここで、ＡＣＬの配信・設定方法として、ｔｅｌｎｅｔやｓｓｈなど任意の通信プロトコルを用いてよいが、図９に示す通信プロトコルを用いることが望ましい。
【００９１】
まず、ＡＣＬを配信する統合アクセス制御サーバ１００は配信部１０５によって、制御対象マシン２００−ｎに対して、設定準備問い合わせを行い（図９のステップＢ１）、制御対象マシン２００−ｎの設定部２０１が有効であるか、配信するＡＣＬを転送するプロトコルとして制御対象マシン２００−ｎの受信部２０３がどの通信プロトコルに対応していて本ＡＣＬ転送にどのプロトコルを用いるかといった情報を取得する（図９のステップＢ２）。
【００９２】
その際のメッセージは図１０に示すようなＳＯＡＰベースのWS-Managementに準拠することが望ましい。本例では、WS-ManagementのＧｅｔアクションを用いてリソースＵＲＩとして設定部２０１の設定を表現するリソースや対応プロトコルを表現するリソースを指定して制御対象マシン２００−ｎの受信部２０３にメッセージを送り問い合わせている。これに対する設定準備問い合わせ応答は、制御対象マシン２００−ｎの受信部２０３によってＳＯＡＰベースのWS-Managementに準拠したGetResponseアクションとして統合アクセス制御サーバ１００の配信部１０５に応答される。
【００９３】
そして、統合アクセス制御サーバ１００の配信部１０５は、前記の設定準備問い合わせで得たプロトコルに従ってＡＣＬを制御対象マシン２００−ｎの受信部２０３に対して転送する（図９のステップＢ３）。ここで用いられる転送プロトコルは、前段の設定準備問い合わせで得たプロトコルに従い、特段の指定はない。
【００９４】
そして、統合アクセス制御サーバ１００の配信部１０５は、図１１に示すようなＳＯＡＰベースのWS-Managementに準拠し、更新の場合はWS-ManagementのPutアクションを、削除の場合はWS-ManagementのDeleteを用いて、リソースＵＲＩとして設定部２０１を表現するリソースを指定し、設定対象となるＡＣＬを指し示すPolicy_ＩＤを指定して、制御対象マシン２００−ｎの受信部２０３にメッセージを送りＡＣＬ設定要求を行う（図９のステップＢ４）。
【００９５】
これを受けた受信部２０３は、設定部２０１に該設定指示を出し（図９のステップＢ５）、設定部２０１よりその設定指示応答を得る（図９のステップＢ６）。設定指示応答を得た受信部２０３は、ＡＣＬ設定要求応答として、ＳＯＡＰベースのWS-Managementに準拠したPutResponseアクション又はDeleteResponseアクションとして統合アクセス制御サーバ１００の配信部１０５に応答する（図９のステップＢ７）。
【００９６】
制御対象マシン２００−ｎに設置された設定部２０１がブラックリスト形式のＡＣＬを処理するものであれば、ＡＣＬを配信する統合アクセス制御サーバ１００から配信されるＡＣＬは、図８に示すＡＣＬのみで良く、制御対象マシン２００−１、２００−２、・・・２００−ｎそれぞれに対して用意する必要がないため、統合アクセス制御サーバ１００では配信対象のポリシーから生成する必要のあるＡＣＬの個数は制御対象マシン数が増加しても１つでよい。
【００９７】
［第６の実施の形態］
第６の実施の形態では、統合アクセス制御サーバではアクセス制御を実施するためのポリシーのみを統合的に管理し、制御対象マシンにＡＣＬ情報を取得する機能を持たせることによって統合アクセス制御を実施する例を示す。ここで、図１３は、本発明の第６の実施の形態によるアクセス制御リスト参照型差分配信システムを示すブロック図である。
【００９８】
図１３を参照すると、本実施の形態は、統合アクセス制御サーバ１００’と、複数のｎ台の制御対象マシン２００’−ｎから構成される。統合アクセス制御サーバ１００’は、ポリシー ＤＢ１０６と、リソース ＤＢ１０２と、ＡＣＬ生成部１０３と、ＡＣＬ変換部１０１と、通信部１１０とを備え、制御対象マシン２００’−ｎは、ＡＣＬ ＤＢ２０６と設定部２０１と受信部２０７とを備える。
【００９９】
統合アクセス制御サーバ１００’では、策定されたポリシーを蓄積しているポリシー ＤＢ１０６より、配信対象のポリシーをＡＣＬ生成部１０３に供給しＡＣＬを得、それをＡＣＬ変換部１０１に供給し記述順序制約のないＡＣＬを得る。又、統合アクセス制御サーバ１００’は、通信部１１０を用いて制御対象マシン２００’−ｎの通信部２０７と通信し、ＡＣＬ ＤＢ２０６に蓄積されている制御対象マシン２００’−ｎに設定又は配信されているＡＣＬ及びＡＣＬのメタ情報を取得する。
【０１００】
取得されたＡＣＬ及びＡＣＬのメタ情報を元に、今回ＡＣＬ変換部１０１で得られたＡＣＬのうち制御対象マシン２００’−ｎでポリシーに策定されているアクセス制御を実施するために必要なＡＣＬのみを差分又は全体を配信する。例えば、制御対象マシン２００’−ｎの全リソース情報を図７としたときに、アクセス主体がyamadaである経理部のyamadaが人事異動で経理部から総務部に異動した場合、yamadaに適用されるポリシーは今までとは異なりアクセス主体yamadaのアクセス制御リストは変更される。
【０１０１】
現在の制御対象マシン２００’−ｎに設定されているＡＣＬが図８のようなＡＣＬであり、新しくyamadaに適用されるポリシーからＡＣＬ変換部１０１を通して得られたＡＣＬが図１４のようなＡＣＬとなる。
【０１０２】
統合アクセス制御サーバ１００’は、通信部１１０を用いて制御対象マシン２００’−ｎに現在設定されているＡＣＬのメタ情報としてＡＣＬのバージョンやＡＣＬのハッシュ値を取得することによって、今回設定するＡＣＬと現在設定されているＡＣＬが異なることを把握することができる。そこで制御対象マシン２００’−ｎで現在設定されているＡＣＬそのものを参照し、今回生成・変換されたＡＣＬとの差分にあたる図１５に示すＡＣＬを削除指示し、図１６に示すＡＣＬを追加指示する。
【０１０３】
制御対象マシン２００’−ｎへのＡＣＬの配信が終了すると、統合アクセス制御サーバ１００’は通信部１１０を用いて、制御対象マシン２００’−ｎの通信部２０７を通してＡＣＬの設定を設定部２０１に指示する。
【０１０４】
統合アクセス制御サーバ１００’の通信部１１０と制御対象マシン２００’−ｎの通信部２０７の通信プロトコルはＨＴＴＰやＴｅｌｎｅｔなど任意のプロトコルを用いることが可能であるが、WS-Managementに準拠したプロトコルが望ましい。ポリシー配信・設定プロトコルに関しては図９に示した通りなので本例では割愛する。本例では、統合アクセス制御サーバ１００’が制御対象マシン２００’−ｎに対してＡＣＬ ＤＢ２０６に蓄積された情報を取得する際には、図１７に示すようなWS-Managementに準拠したEnumerateアクションを用いてリソースＵＲＩとして制御対象マシン２００’−ｎ上のＡＣＬを指定し、制御対象マシン２００’−ｎの通信部２０７に問合せ、制御対象マシン２００’−ｎ上のすべてのＡＣＬのリストがWS-ManagementのEnumerateResponseアクションとして統合アクセス制御サーバ１００’の通信部１１０に応答される。
【０１０５】
統合アクセス制御サーバ１００’は、得られたリストから今回配信予定のＡＣＬの旧バージョンが存在するか否かを確認し、無い場合はそのままＡＣＬの配信フェーズに移り、存在した場合は、そのＡＣＬのそのもの又はメタ情報を取得する。
【０１０６】
ＡＣＬのメタ情報を取得する際には、統合アクセス制御サーバ１００’が、Enumerateアクションを利用して得られたリストから該当するＡＣＬのインスタンスを探索し、図１８に示すようなWS-Managementに準拠したＧｅｔアクションを用いてリソースＵＲＩには制御対象マシン２００’−ｎ上のＡＣＬを、SelectorSetで当該ＡＣＬインスタンスを指定し、制御対象マシン２００’−ｎの通信部２０７に問合せ、当該ＡＣＬのメタ情報が、統合アクセス制御サーバ１００’の通信部１１０に応答される。
【０１０７】
ＡＣＬそのものを取得する際には、統合アクセス制御サーバ１００’が、ポリシー配信・設定プロトコルと同様に制御対象マシン２００’−ｎがファイル転送プロトコルとしてどの通信プロトコルに対応しているか問合せ、当該ＡＣＬを転送する転送プロトコルを決定し、取得する。
【０１０８】
本発明の上記の実施の形態によるアクセス制御リスト変換システムは、ハードウェアによっても実現することもできるが、コンピュータをその検索システムとして機能させるためのプログラムをコンピュータがコンピュータで読み取り可能な記録媒体から読み込んで実行することによっても実現することが出来る。
【０１０９】
また、本発明の上記の実施の形態によるアクセス制御リスト変換方法は、ハードウェアによっても実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータで読み取り可能な記録媒体から読み込んで実行することによっても実現することが出来る。
【０１１０】
以上、本発明の代表的な実施形態について説明したが、本発明は、本願の請求の範囲によって規定される、その精神または主要な特徴から逸脱することなく、他の種々の形で実施することができる。そのため、前述した各実施形態は単なる例示にすぎず、限定的に解釈されるべきではない。本発明の範囲は特許請求の範囲によって示すものであって、明細書や要約書の記載には拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更はすべて本発明の範囲内のものである。
【０１１１】
本願は、２００９年３月１９日に出願された特願２００９−０６８００２号を基礎とする優先権を主張するものである。そして、特願２００９−０６８００２号に開示された全ての内容は本願の内容に含まれる。
【産業上の利用可能性】
【０１１２】
本発明は、アクセス制御リストとして表現されるポリシーの変更時に変更者の意図を確認する場合や、変更部の一貫性を保証しつつ差分配信を行いたい場合に適用できる。更には、アクセス制御リストを複数のアクセス制御実施機構に対して生成、又は、アクセス制御リストの変更を複数のアクセス制御実施機構に対して反映するために、アクセス制御リストを新規に生成又は変更したい場合にも適用可能である。
【符号の説明】
【０１１３】
１１  既出ルール判定部
１２  第１ルール判定部
１３  第２ルール判定部
１４  リソース展開部
１５  一時記憶部
１６  許可ルール記憶部
１７  禁止ルール記憶部
１００、１００’、１００’’  統合アクセス制御サーバ
１０１  ＡＣＬ変換部
１０２  リソース ＤＢ
１０３  ＡＣＬ生成部
１０４、１０４’  差分抽出部
１０５  配信部
１０６  ポリシー ＤＢ
１０７  ＡＣＬ ＤＢ
１０８  署名部
１０９  ＡＣＬ問合せ部
１１０  通信部
２００、２００−１、２００−２、２００−ｎ  制御対象マシン
２００’、２００’−１、２００’−２、２００’−ｎ  制御対象マシン
２００’’  制御対象マシン
２０１  設定部
２０２  マージ部
２０３  受信部
２０４  署名検証部
２０５  ＡＣＬ制御部
２０６  ＡＣＬ ＤＢ
２０７  通信部
【図１】
0005569815.tif 000002
【図２】
0005569815.tif 000003
【図３】
0005569815.tif 000004
【図４】
0005569815.tif 000005
【図５】
0005569815.tif 000006
【図６】
0005569815.tif 000007
【図７】
0005569815.tif 000008
【図８】
0005569815.tif 000009
【図９】
0005569815.tif 000010
【図１０】
0005569815.tif 000011
【図１１】
0005569815.tif 000012
【図１２】
0005569815.tif 000013
【図１３】
0005569815.tif 000014
【図１４】
0005569815.tif 000015
【図１５】
0005569815.tif 000016
【図１６】
0005569815.tif 000017
【図１７】
0005569815.tif 000018
【図１８】
0005569815.tif 000019