はじめに
Oracle Cloud Infrastructure(OCI)で、コンパートメントが階層になっていて各層にリソースがあるときにオペレーションによって見え方や挙動が微妙に異なる為、まとめ。
※まだ少しなので今後も気づいたときにUpdate
コンパートメントとは
OCIの各リソース(Computeや仮想NIC、サブネット、ルート表、ストレージなど様々なすべての定義)は必ずどこか1つのコンパートメントに入れる必要があります。
ポリシーによって、グループへコンパートメントに対しての権限を与えることで、認証・認可でいうところの認可の管理をシンプルに構成できます。
例えば、
- 部門Aの人(グループ)は、 自部門に権限委任されたコンパートメントAのリソースのみ管理できる
- ネットワーク管理者(グループ)は、コンパートメントB(ネットワークリソースのみ)を管理できる
- バックアップ管理者(グループ)は、コンパートメントC(ストレージ)を読み取り、コンパートメントD(バックアップ保管用)にバックアップする権限だけ与える など
その他、詳細はマニュアルにて。
https://docs.cloud.oracle.com/ja-jp/iaas/Content/Identity/Tasks/managingcompartments.htm
コンパートメントを階層化した際の、リソース毎の挙動
権限(認可):
上位コンパートメントの権限があれば、下位コンパートメントに権限は継承される
GUIコンソール:
権限はあっても選択したコンパートメントに配置されているリソースしか見えない。下位コンパートメントに配置されたリソースの管理はGUIから都度切り替える必要がある。
コスト分析:
選択したコンパートメントおよび下位コンパートメントの合算金額となる。下位コンパートメントを選択すれば該当コンパートメント以下の合算となる。
コンパートメントエクスプローラ:
選択したコンパートメントのリソースのみ確認できる。以下のチェックを入れることでコスト分析同様に、下位コンパートメントのリソースをすべて含んだ形で確認できる
イベント・サービス:
イベント・サービスの検知範囲は、イベント・サービスを配置するコンパートメント及びその配下すべて。
下位コンパートメント内で発生したイベントもすべて検知対象となり、指定することはできない。
バックアップ作成とか:
バックアップ元とバックアップ先のコンパートメントを分ける場合は、元に対してRead、先に対してManage権限が必要
【他、TIPS】
リソースをコンパートメント間で移動できる。ただし、双方のManage権限が必要
ユーザ、グループ、コンパートメントはグローバルリソースのため、リージョン間で情報は同期されており、ルートコンパートメント(テナンシ)にしか存在できない。
ポリシーは他のリソース同様に各コンパートメントに配置する。
最近、ネットワークリソースという概念が誕生し、接続元IPアドレスよって認可範囲を限定できるようになった。(2020年3月現在はObject Srorageへのアクセスのみ)