xacml・とは?初心者がわかるアクセス制御の基礎ガイド共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
xacml・とは?初心者がわかるアクセス制御の基礎ガイド共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


xacmlとは何か

xacml とは eXtensible Access Control Markup Language の略で、ソフトウェアやウェブアプリケーションの「誰が何にアクセスできるか」を決める仕組みを定義する標準規格です。日本語では「拡張可能なアクセス制御言語」と言われます。この規格は組織やシステム間で一貫した権限管理を実現するために開発され、データの保護や機密情報の取り扱いを安全にするのに役立ちます。

実際にはウェブサービスや企業の情報システムで権限判断を外部に任せたい場合に使われます。xacml を使うと権限のルールを一元管理でき、アプリのコードを変更せずに権限を追加したり変更したりできます。

どういう仕組みか

xacml の基本的な構成は PDPPEP、および Policy です。PDP は権限判断を行う機械、PEP はアプリ側の入口で権限を実際に適用する部分、Policy は「誰が何を許可するか」というルールの集まりです。

要求が来ると、PEP はユーザー名やリソース名、操作内容といった 属性 を PDP に渡します。PDP は受け取った属性に基づいて Policy を照合し、PermitDeny を返します。最後に PEP がこの判断を実際の処理に反映します。ここで ObligationsAdvice がある場合は追加の処理も実行されます。

基本用語の整理

以下はよく出てくる用語と簡単な説明です。

要素説明
PDPPolicy Decision Point。権限の判断を行う部品
PEPPolicy Enforcement Point。判断結果を実際の処理に適用する部品
Policy個々の権限ルール。誰が何を許可するかを定義する
PolicySet複数の Policy をまとめる枠組み
Attributeアクセス要求時の情報。ユーザー名、役割、リソース名など
Obligations判断結果に付随する追加のアクション。ログ出力や監査など

具体的な利用イメージ

想像してみましょう。ある企業のオンライン文書管理システムは「機密ファイルは管理者のみ、一般社員は閲覧不可」というルールを持っています。xacml を使うとこのルールを PDP に集約し、全てのアクセス試行は PEP が監視します。ユーザーが機密ファイルにアクセスしようとすると、属性要求 が PDP へ送られ、適切な権限があるかどうかが判断されます。結果が Permit なら処理が進み、Deny ならアクセスは拒否されます。

導入のポイントと注意点

初心者がxacml を導入する際には、まず「どの資源に対して誰が何をできるべきか」という基本方針を明確にします。次に属性の定義を揃え、PDP が照合する Policy を段階的に作成します。実運用ではパフォーマンスや保守性を考慮し、権限の階層化やサブセット管理、監査ログの設計を忘れずに。

まとめ

xacml は複雑に見えるかもしれませんが、基本の考え方はとてもシンプルです。権限の判断を一か所で行い、どの要求にも一貫した判断を適用する仕組みを提供します。中学生にも理解できるよう簡単に言えば「誰が何にアクセスできるかを決めるルールを外部の機械に任せる方法」です。


xacmlの同意語

XACML
eXtensible Access Control Markup Languageの略称。アクセス制御ポリシーをXML形式で表現・評価する標準規格。OASISが策定。
eXtensible Access Control Markup Language
XACMLの正式名称。拡張可能なアクセス制御を表現するマークアップ言語
拡張可能なアクセス制御マークアップ言語
XACMLの日本語表記・解説。拡張可能なアクセス制御を表現するマークアップ言語。
OASIS XACML
XACMLの標準化を担当する団体OASISが関わる表現。XACMLの公式表記の一つ。
XACML 3.0
XACMLの主要バージョンの一つ。現代的な機能とより高度なポリシー表現を提供。
XACML 2.0
XACMLの旧版。2.0系の仕様。
XACML規格
XACML自体の公式規格・仕様を指す表現。
XACMLポリシー言語
XACMLを使ってポリシーを記述する言語。アクセス権のルールをXMLで表現。
XACMLベースのアクセス制御ポリシー
XACMLを基盤としたアクセス制御ポリシーの総称。

xacmlの対義語・反対語

オープンアクセス
制限のないアクセス。XACMLのようなポリシーベースの制御を用いず、誰でも自由にアクセスできる状態。
全許可ポリシー
全てのリクエストを常に許可する、極端なアクセス許可のポリシー。
デフォルト許可
ポリシーが存在しない場合でもアクセスを許可するデフォルト設定。
ハードコーディングアクセス制御
権限判定をアプリケーションコード内で実装する方式。ポリシーエンジンを介さない点がXACMLと対極。
JSONベースのアクセス制御
XACML(XMLベース)に対して、ポリシーをJSONで表現・適用するアプローチ
XML以外フォーマットのアクセス制御
XMLベースのXACMLとは異なるデータフォーマットを用いる対比の概念。
アクセス制御なし
特定の制御ルールが適用されず、自由アクセスの状態。

xacmlの共起語

PDP
アクセス要求を受け取り、ポリシーと属性情報を評価して許可・拒否の決定を返す、XACMLの中核となる判断エンジン。
PEP
ポリシー適用点。実際のアクセスを制御し、PDPの決定に従って許可/拒否を適用するシステムの入口。
PAP
ポリシー管理点。ポリシーの作成・管理・配布を担当する管理機能。
PIP
ポリシー情報点。属性情報をPDPへ提供し、評価に必要なデータを供給する役割。
Policy
ポリシー。アクセス許可/拒否の判断基準を定義するルールの集合。
PolicySet
ポリシーセット。複数のポリシーを階層的にまとめる上位構造。
Rule
ルール。特定の条件に対して許可/拒否を定義する最小単位。
Target
ターゲット。主体・資源・アクションの組み合わせを適用対象として定義する要素。
Subject-Attribute
主体属性。ユーザーなどの『誰が』を表す属性。
Resource-Attribute
資源属性。アクセス対象のリソースを表す属性。
Action-Attribute
アクション属性。実行する操作を表す属性。
Environment-Attribute
環境属性。時刻・場所・IPなどの環境情報を表す属性。
Obligation
義務。アクセス実行後に発生させる追加処理(ログ記録等)を定義する要素。
Advice
アドバイス。拒否時の補足情報など、結果に付随する助言情報。
Decision
決定結果。Permit(許可)/Deny(拒否)/NotApplicable/Indeterminate のいずれか。
Combining-Algorithm
組み合わせアルゴリズム。複数ポリシーの決定をどう統合するかの規則。
DenyOverrides
Deny Overridesアルゴリズム。拒否を優先して結論を出す規則。
PermitOverrides
Permit Overridesアルゴリズム。許可を優先して結論を出す規則。
FirstApplicable
First Applicableアルゴリズム。最初に適用可能なポリシーの決定を採用。
OnlyOneApplicable
Only One Applicableアルゴリズム。適用可能ポリシーが1つのみの場合に採用。
XACML-3.0
XACMLのバージョン3.0。新機能や拡張を含む仕様。
XACML-2.0
XACMLのバージョン2.0。古い世代の仕様。
XML
XMLベースのポリシー言語。XACMLの記述形式として広く用いられる。
XACML-JSON-Profile
XACMLのJSONプロファイル。JSON形式でリクエスト/レスポンス/ポリシーを扱う規定。
Request
リクエスト。PDPへ評価を依頼するアクセス要求の表現。
Response
レスポンス。PDPが返す評価結果と補足情報。
AttributeValue
属性値。属性に割り当てられる具体的な値。
NotApplicable
NotApplicable。適用可能なポリシーがなく、決定が行われない状態。
Indeterminate
Indeterminate。評価中にエラーなどで決定が確定しない状態。

xacmlの関連用語

XACML
Extensible Access Control Markup Language の略。アクセス制御ポリシーを XML で表現し、PDP が評価して決定を返す、アクセス制御の標準仕様です。
PDP
Policy Decision Point。受け取ったリクエストを評価して、許可(Permit)・拒否(Deny)・適用外(NotApplicable) のいずれかを返す中核コンポーネントです。
PEP
Policy Enforcement Point。アプリケーションの入口で PDP の判断に従い、実際のアクセスを許可または拒否します。
PAP
Policy Administration Point。ポリシーの作成・管理を担う部分です。
PIP
Policy Information Point。外部情報源(属性)を PDP に提供します。
Policy
XACML の基本単位。ルールを組み合わせて、どのリクエストを許可するかを定義します。
PolicySet
複数の Policy をまとめたポリシー集合です。大規模なアクセス制御でよく使われます。
Rule
Policy の中の最小の判断単位。対象、条件、そして効果(Permit/Deny)を持ちます。
Target
このルールやポリシーが適用されるリクエストを定義する部分です。
Condition
追加の条件。属性値を使って判断を細かく絞り込みます。
Obligation
PDP の決定と同時に実行される処理の指示。必須ではない処理を表します。
Advice
Obligation と似ていますが、必須ではない補足情報として実行される指示です。
Effect
Permit(許可)または Deny(拒否)の二択を表します。
Permit
アクセスを許可します。
Deny
アクセスを拒否します。
NotApplicable
このポリシー・ルールは適用対象外で、他の判断を待つ状態です。
Request
PDP に送られるアクセス要求。ユーザー属性などの情報を含みます。
Response
PDP から返される決定結果。具体的には Permit/Deny/NotApplicable が含まれます。
Attribute
リクエストやポリシーで使われる情報の名前(例: userId, resourceId)。
AttributeValue
属性の値。文字列、数値、日付などが含まれます。
AttributeDesignator
リクエスト内の属性を参照する設計要素。属性の位置を指示します。
AttributeSelector
XML などのツリーから属性を抽出する方法です。
Function
比較・算術・文字列操作など、XACML で使われる関数の集合です。
FunctionLibrary
使える関数の集合。XACML の仕様で定義されています。
DataType
XACML が扱うデータ型。例: string、boolean、integer、dateTime など。
PolicyCombiningAlgorithm
複数のポリシーをどう組み合わせて最終結論を出すかのルール(例: deny-overrides、permit-overrides、first-applicable)。
RuleCombiningAlgorithm
複数のルールをどう組み合わせて結論を出すかのルールです。
XACML Profile
特定の用途のために定義された XACML の実装プロファイルです(例: 実装ガイドラインや制約を含む)。
XACML 3.0
XACML のバージョン 3.0。最新の主流仕様で、より高度な機能が追加されています。
XACML 2.0
XACML のバージョン 2.0。初期の主要バージョンのひとつです。

xacmlのおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14452viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2418viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1072viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1041viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
934viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
904viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
842viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
835viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
798viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
787viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
719viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
703viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
596viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
577viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
573viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
550viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
519viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
498viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
480viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
478viws

新着記事

インターネット・コンピュータの関連記事