4.3.5 ユーザーとACL

ユーザーとACL(Access Control List)の設計では、ユーザー、グループ、ロールの作成において、どのような権限が必要か検討しておく必要があります。ユーザーの操作権限は、直接またはグループや他のロールを介して間接的に割り当てられるロールのアクセス権によって決まります。

(表)ユーザーとACL設計項目と概要

項目 定義手段 設計のポイント
・User
・Group
・Role
GUIによる定義 ユーザー、グループ、ロールの作成と割り当てを実施しておきます。
・ACL YAMLによる定義
(GitLab)
ユーザー、グループ、ロールに対して、UI、アプリなどへのアクセス範囲を検討しておきます。ACLはロールに対してのみ直接割り当てることができます。
・GitRole GUIによる定義 グループに割り当てられたユーザーに対して、リポジトリへのアクセス範囲を検討しておきます。
・組織内のロール GUIによる定義 ユーザーに対して、AWXの組織ごとにアクセス範囲を検討しておきます。

ユーザー管理設定の詳細は、「ユーザー管理」を参照してください。

VMの貸出を例として、必要なロールを以下に示します。各ステップに適したロールを割り当てる必要があります。

(図)VMの貸出を例としたワークフロー

(図)VMの貸出を例としたワークフロー (図)VMの貸出を例としたワークフロー


(表)VMの貸出を例としたロール一覧

作業名 ワークフローのステップ 操作者 PreInstalledロール
VMの貸出
申請 申請者 Customer User
申請内容の確認 運用担当者 Operation Management Office Agent
VMの生成 (自動実行) -
VMの生成の確認 運用担当者 Operation Management Office Agent
承認 運用管理者 Operation Management Office Manager

Ops I上の標準ロールとしてPre-InstalledロールとPrimitiveロールが提供されます。標準ロールの詳細は「Ops I上のロールとサポート機能の対応関係」を参照してください。
また、顧客ユーザーには、必ずPre-Installedロールの「Customer Manager」もしくは「Customer User」を設定します。
「Customer User」はPrimitiveロールの「customer」が割り当てられており、所属する顧客に関連があるレコードのみ操作できるように制限することができます。

デフォルトで提供される標準ロールで対応ができない場合は、任意のカスタムACLを作成し、カスタムロールに適用することができます。また、標準ロールの権限を変更したい場合、Pre-Installedロールと差分の権限情報を記述したカスタムACLをカスタムロールに割り当てることで実現することができます。
詳細については「JP1 Cloud Service 運用統合 APIリファレンス」の「APIリファレンス概要>APIの詳細と実行例>ロールにカスタムACLを割り当てる、割り当てを解除する>ロールにACLを割り当てる」を参照してください。
また、標準ロールに割り当てられているACLは変更しないでください。
設定方法は、ACLのYAML定義内でStatementを指定することにより、各ユーザーに必要なリソースへのアクセス制御などの許可情報を定義することができます。
ACLとStatementの登録、更新、および削除を行うには、Pre-Installedロール「System Security Administrator」が設定されている必要があります。


【ACL】

ACLは権限のリストで、ユーザー、グループ、ロールに必要なリソースへのアクセス権を設定することができ、ユーザーのURI、ドキュメント、UIコンポーネント、データオブジェクトなどへのアクセスを制御します。

ACLには3つの認可タイプがあります。

  • URI認可
    申請者に対してOps IのURIの認可条件を設定できます。
    Ops Iで使用されるURIを対象のリソースに指定することができます。
  • Document認可
    申請者に対してOps IのYAMLファイルの認可条件を指定できます。
    ユーザーが受け取るYAMLファイルに対して許可するkey-valueを対象のリソースに指定することができます。
  • Object認可
    申請者に対してOps IのAPIの入出力するデータの認可条件を指定できます。
    ユーザーが入出力可能なレコードの条件を対象のリソースに指定することができます。
    サポートされるAPIについてはAPIリファレンスを参照してください。

【Statement】

Statementとは、ACLのYAML定義内にある許可情報のセットです。
StatementのYAML定義内にはリソースへのアクセスと実行操作に関する許可情報などを定義します。

(図)カスタムACLの適用方法

(図)カスタムACLの適用方法 (図)カスタムACLの適用方法


(表)カスタムACLの適用に必要な項目

項目 説明
カスタムロール カスタムACLに対応するロールを作成することができます。
カスタムACLに限定した範囲の権限を持たせることで、柔軟にユーザーやグループに割り当てが可能です。
Group カスタムACLをもつカスタムロールをグループに割り当てることで、任意のグループのみに権限を与えることができます。(例: 課ではなくプロジェクトなど)

また、GitRoleは、グループに割り当てられたユーザーに対して、リポジトリ(ドキュメント)へのアクセス制御が可能となります。
ACLのYAML定義の詳細は、「ACL、Statement」を参照してください。