APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【OCI IAM】ポリシー構文を理解して試験にも役立てよう!例題付き解説(5問)

目次

はじめに

こんにちは、クラウド事業部の清水(雄)です。
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句) 追加の条件を指定可能

    • 任意。なくてもポリシーは有効。
    • 主に「タグ」や「リクエスト属性」を条件に制御できる。

参考 OCI公式 - ポリシー構文


2. よくある間違い

OCIの試験や実務でよく問われるのが「ポリシーの無効な例」です。
例えば以下は誤りです

Allow group APC/A-Developers to create all-resouces in compartment Project-A

create は無効な verb。
使えるのは inspect / read / use / manage のみです。

参考 OCI公式 - IAMベストプラクティス


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

参考 OCI公式 - VCNポリシー例


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句を使うと「タグがついているリソースだけ許可」といった細かい制御が可能。必須ではない。

参考 OCI公式 - ポリシーの条件


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> を使う。

参考 OCI公式 - Dynamic Groups


4. まとめ

  • ポリシーは必ず Allow to <resource-type> in の形式
  • verbinspect / read / use / manage の4種類のみ
  • createdelete は試験でのひっかけワード
  • where句 を使うとタグベースの条件指定が可能
  • dynamic-group の書き方を間違えやすいので注意

OCI IAMポリシーは試験で必ず問われる領域。
この記事の5問を繰り返し解くことで、OCI AA試験の得点源にしていきましょう。

お知らせ

私達クラウド事業部はクラウド技術を活用したSI/SESのご支援をしております。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp