午前I問題
アクセス制御モデルの一つであるRBAC(Role-Based Access Control)に関する記述のうち、最も適切なものはどれか。
ア)RBACでは、利用者一人ひとりに個別のアクセス権限を直接設定するため、組織変更時の権限見直しが容易である イ)RBACでは、利用者にロール(役割)を割り当て、ロールに対して権限を紐付けることで、利用者の役割変更時にはロールの割り当てを変更するだけで権限管理ができる ウ)RBACはアクセス時刻や接続元IPアドレスなどの動的な条件を柔軟に組み込むことを前提としたモデルである エ)RBACではロールの階層構造を持つことができず、すべてのロールは独立している必要がある
午前I の解答・解説を見る
正解: イ
解説:
- ア)不正解。個別利用者に直接権限を設定するのはRBAC以前のDAC(任意アクセス制御)的な運用に近く、組織変更のたびに個々の権限を洗い替える必要があり管理コストが高い。RBACはこの課題を解決するために生まれた。
- イ)正解。RBACは「利用者→ロール」「ロール→権限」の2段階の紐付けが特徴。人事異動時はロールの割り当てを変更するだけでよく、権限そのものを個別に再設定する必要がないため管理が効率化される。
- ウ)不正解。RBACは基本的に静的なロール割り当てに基づくモデルであり、アクセス時刻・場所・デバイス状態などの動的な文脈情報を柔軟に組み込むことは想定されていない。これはABAC(属性ベースアクセス制御)の特徴である。
- エ)不正解。RBACには階層型RBAC(Hierarchical RBAC)というモデルがあり、上位ロールが下位ロールの権限を継承する構造を持つことができる。
午前II問題
ABAC(Attribute-Based Access Control)とRBACの比較に関する記述のうち、適切なものはどれか。
ア)ABACはロール(役割)のみに基づいてアクセス可否を判定するモデルであり、利用者属性・リソース属性・環境属性は考慮しない イ)ABACでは「利用者の部署が経理部門」かつ「アクセス時刻が営業時間内」かつ「リソースの機密区分が社外秘以下」といった複数属性の組み合わせによる動的なポリシー評価が可能である ウ)ABACはRBACに比べてポリシー定義がシンプルであり、大規模組織においても管理コストは常に低い エ)ABACを実現するPDP(Policy Decision Point)は、アクセス制御の判定機能を持たず、単にログを記録するだけのコンポーネントである
午前II の解答・解説を見る
正解: イ
解説:
- ア)不正解。これはRBACの説明であり、ABACの特徴と逆である。ABACはロールに限定されず、利用者属性・リソース属性・環境属性・アクション属性など多様な属性の組み合わせでアクセス可否を判定する。
- イ)正解。ABACの本質は複数の属性(Subject/Resource/Environment/Action属性)をポリシーエンジンで評価し、動的にアクセス可否を判定する点にある。部署・時刻・機密区分といった複数条件の組み合わせはABACの典型的なユースケース。
- ウ)不正解。ABACはRBACに比べて表現力が高く柔軟な反面、属性の設計・ポリシーの記述・管理が複雑になりやすい。大規模組織では属性の整備・ガバナンスにコストがかかるため、「常に管理コストが低い」は誤り。
- エ)不正解。PDP(Policy Decision Point)はABAC/XACMLアーキテクチャにおいてポリシーに基づきアクセス可否を実際に判定するコンポーネントである。PEP(Policy Enforcement Point)が判定結果を強制執行し、ログ記録は別のコンポーネント(PAP等の周辺機能)が担う。
午後問題
医療情報システム開発会社E社が構築する電子カルテクラウドシステムでは、以下の複雑なアクセス要件がある。
- 医師は担当患者のカルテのみ閲覧・編集可能(他院・他科の患者情報は不可)
- 看護師はバイタルサイン等の一部項目のみ編集可能で、診断・処方情報は閲覧のみ
- 研修医は指導医の承認済みカルテのみ閲覧可能で、時間外(夜間・休日)は緊急外来対応中の患者のみアクセス可能
- 委託事業者(データ入力代行)は院内ネットワークからのアクセスのみ許可し、リモートアクセスは一切禁止
現行システムはRBACベースで、「医師ロール」「看護師ロール」「研修医ロール」「委託事業者ロール」の4ロールを定義していたが、「担当患者のみ」「時間外は緊急外来のみ」「院内ネットワークのみ」といった条件をロールだけで表現できず、結果的にロールが数百種類に細分化され管理が破綻していた。
設問1
現行のRBACベースの設計が破綻した技術的理由を説明しなさい。また、この課題を解決するためにABACへ移行することでどのような改善が見込めるか説明しなさい。(150字程度)
設問1の解答・解説を見る
正解例: RBACはロールと権限を静的に紐付けるモデルであり、「担当患者か」「時間帯」「所属ネットワーク」といった動的・文脈依存の条件を表現できないため、条件の組み合わせごとにロールを個別作成する必要があり、ロール数が爆発的に増加し管理不能になった(ロール爆発)。ABACに移行することで、利用者属性(担当患者情報)・環境属性(時刻・接続元)・リソース属性を組み合わせたポリシーで動的に判定でき、ロール数を増やさず柔軟な制御が可能になる。
解説・採点基準(計15点):
| 採点項目 | キーワード | 配点 |
|---|---|---|
| RBACの限界(ロール爆発)の説明 | 静的紐付け・動的条件を表現不可・ロール爆発 | 7点 |
| ABAC移行による改善の説明 | 属性の組み合わせ・動的ポリシー評価・ロール数抑制 | 8点 |
部分点: 「ロール爆発」という用語がなくても類似趣旨の説明があれば5点。
設問2
「研修医は指導医の承認済みカルテのみ閲覧可能で、時間外は緊急外来対応中の患者のみアクセス可能」という要件を、ABACのポリシーとして表現する場合、どのような属性(Subject属性・Resource属性・Environment属性)を定義すべきか、それぞれ具体例を挙げて説明しなさい。(150字程度)
設問2の解答・解説を見る
正解例: Subject属性(利用者属性):職種=研修医、指導医との紐付け情報。Resource属性(リソース属性):カルテの承認ステータス(承認済み/未承認)、患者の診療区分(緊急外来対応中か否か)。Environment属性(環境属性):アクセス時刻(時間外か否か)。これらを組み合わせ、「Subject.職種=研修医 かつ Resource.承認ステータス=承認済み かつ(Environment.時間外=false または Resource.診療区分=緊急外来)」というポリシーで判定する。
解説・採点基準(計15点):
| 採点項目 | キーワード | 配点 |
|---|---|---|
| Subject属性の具体例 | 職種・研修医・指導医紐付け | 4点 |
| Resource属性の具体例 | 承認ステータス・診療区分(緊急外来) | 5点 |
| Environment属性の具体例とポリシー組み合わせ | アクセス時刻・時間外判定・条件の論理結合 | 6点 |
部分点: 3種の属性のうち2種のみ正しく挙げた場合→最大10点。
重要キーワード
| 用語 | 説明 |
|---|---|
| RBAC(ロールベースアクセス制御) | 利用者にロール(役割)を割り当て、ロールに権限を紐付けるアクセス制御モデル。人事異動時の管理は容易だが、動的条件の表現には限界がある |
| ABAC(属性ベースアクセス制御) | 利用者・リソース・環境・操作の各属性を組み合わせたポリシーでアクセス可否を動的に判定するモデル。柔軟性が高い一方、属性設計とガバナンスが複雑になりやすい |
| ロール爆発(Role Explosion) | RBACにおいて、動的な条件(時間・場所・関係性等)を表現するためにロールを細分化した結果、ロール数が管理不能なほど増加してしまう現象 |
| PDP(Policy Decision Point) | ABAC/XACMLアーキテクチャにおいて、定義されたポリシーに基づき実際にアクセス可否を判定するコンポーネント |
| PEP(Policy Enforcement Point) | PDPの判定結果を受けて、実際にアクセスを許可・拒否する強制執行を行うコンポーネント。アプリケーションやゲートウェイに組み込まれる |
| XACML(eXtensible Access Control Markup Language) | ABACのポリシーを記述するためのXMLベースの標準言語。PDP・PEP・PAP・PIPといったコンポーネント構成を規定する |
まとめ
- 午前I視点: RBACは「利用者→ロール→権限」の2段階構造が本質。階層型RBACの存在や、動的条件を扱えない限界も理解しておく。
- 午前II視点: ABACは複数属性(Subject/Resource/Environment/Action)の組み合わせによる動的判定が特徴。PDP/PEPの役割分担も頻出。
- 午後視点: RBACの限界(ロール爆発)を具体的なシナリオから説明し、ABACへの移行でどの属性をどう組み合わせるかを具体的に設計できる力が問われる。