
目次
はじめに
こんにちは、クラウド事業部の清水(雄)です。
OCI (Oracle Cloud Infrastructure) のIAMポリシーは、ユーザーやグループに「どのリソースへ」「どの操作を」許可するかを定義する非常に重要な仕組みです。
しかし初めて触れると、構文ルールがやや分かりにくく感じる人も多いのではないでしょうか。
この記事では 「ポリシー構文のセオリー」 を整理し、OCI Architect Associate 試験対策にも役立つ練習問題を 5問 用意しました。
どんなひとに読んで欲しい
- OCI IAMポリシーについてイマイチわからない人
- OCI 試験学習中な人
1. OCIポリシー構文の基本
OCIポリシーは以下の構文で記述します
この画像だけでも覚えて帰ってください!

主な要素
subject 権限を与える対象
group <group_name>group id <group_ocid>dynamic-group <dynamic-group_name>dynamic-group id <dynamic-group_ocid>any-user 等
verb 実行できる操作
inspect情報の存在確認のみread取得(読み取り)可能use制御・利用可能(削除は不可)manage作成・更新・削除など全権限
resource-type リソース種別
例instance-family,virtual-network-family,object-familyなどlocation 権限範囲
tenancy(テナンシ全体)compartment <compartment_name>compartment id <compartment_ocid>
conditions (where句) 追加の条件を指定可能
- 任意。なくてもポリシーは有効。
- 主に「タグ」や「リクエスト属性」を条件に制御できる。
2. よくある間違い
OCIの試験や実務でよく問われるのが「ポリシーの無効な例」です。
例えば以下は誤りです
Allow group APC/A-Developers to create all-resouces in compartment Project-A
create は無効な verb。
使えるのは inspect / read / use / manage のみです。
3. 練習問題(5問)
Q1. 無効なポリシーはどれ?
A. Allow group Developers to manage instance-family in compartment Project-A B. Allow group id ocid1.group.oc1..aaaa to read object-family in tenancy C. Allow dynamic-group AppServers to use virtual-network-family in compartment NetComp D. Allow group APC/A-Developers to create all-resouces in compartment Project-A
正解 D
理由create は verb として無効。
Q2. NetworkAdmin グループに、テナンシ全体で VCN を管理させたい。正しいポリシーはどれ?
A. allow group 'APC/NetworkAdmin' to manage instance-family in compartment ABC B. allow group 'APC/NetworkAdmin' to manage network-catalog-listing in tenancy C. allow group 'APC/NetworkAdmin' to manage virtual-network-family in tenancy D. allow group 'APC/NetworkAdmin' to use virtual-network-family in compartment XYZ
正解 C
理由VCN関連は virtual-network-family を指定し、範囲は tenancy。
Q3. 任意のユーザーに Object Storage の一覧確認のみを許可したい。正しいポリシーはどれ?
A. allow any-user to manage object-family in tenancy B. allow any-user to use object-family in compartment Storage-A C. allow any-user to read object-family in tenancy D. allow any-user to inspect object-family in tenancy
正解 D
理由 任意ユーザーには最小権限を付与すべきで、inspect が適切。
参考 OCI公式 - Object Storageポリシー例
Q4. 条件付きポリシーに関する説明として正しいものはどれ?
A. where句は必須である B. where句ではリソースのタグを条件にできる C. where句ではverbを追加できる D. where句は動的グループでのみ使用できる
正解 B
理由 where句を使うと「タグがついているリソースだけ許可」といった細かい制御が可能。必須ではない。
Q5. Dynamic Group の指定で正しい subject はどれ?
A. allow group 'AppServers' to use instance-family in tenancy B. allow dynamic-group AppServers to use instance-family in tenancy C. allow any-user AppServers to use instance-family in tenancy D. allow group id AppServers to use instance-family in tenancy
正解 B
理由 インスタンスやリソースに基づく動的認証は dynamic-group <name> を使う。
4. まとめ
- ポリシーは必ず Allow
to の形式<resource-type> in verbは inspect / read / use / manage の4種類のみcreateやdeleteは試験でのひっかけワードwhere句を使うとタグベースの条件指定が可能dynamic-groupの書き方を間違えやすいので注意
OCI IAMポリシーは試験で必ず問われる領域。
この記事の5問を繰り返し解くことで、OCI AA試験の得点源にしていきましょう。
お知らせ
私達クラウド事業部はクラウド技術を活用したSI/SESのご支援をしております。
また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。