先に結論
以下のポリシーを、ユーザーの所属するグループに付与する。
Allow group <グループ名> to read usage-budgets in tenancy
Allow group <グループ名> to read usage-reports in tenancy
(請求系の権限も必要ならなら下記も追加)↓
Allow group <グループ名> to read accountmanagement-family in tenancy
上記ポリシー文の解説(読み飛ばしてもOK)
ポリシー文は公式ドキュメントによると以下の構成になってます。
Allow
<subject>
to<verb>
<resource-type>
in<location>
where
- Subject: どこのグループに設定する?という設定。基本的には
group <グループ名>
という書き方をする。IAMドメイン環境では、グループ名の前にドメインの指定をする'<ドメイン名>/<グループ名>' - verb: どんな権限を与えるか?という設定。
- inpect: 監査用の権限。サードパーティー監査者等に与えることが多い。リソースの概要を見ることができる。
- read: 内部監査者用の権限。リソースの詳細を見ることができる。
- use: 作業者の権限。リソースの作成・更新等を実施することができる。
- manage: 管理者権限。 リソースの削除なども実施することができる。
- resource-type: なんのリソースに権限を与える?という設定。
- location: どの範囲に権限を与えるか?という設定。テナント全体に与えるのか、特定のコンパートメントにだけ与えるのかを指定。
以上を踏まえて、結論で出した設定は
- Subject: コスト管理だけをするユーザーが所属するグループ名
- verb: to readで、リソースの詳細を見ることができる権限を付与。
- resource-type: コスト管理用に以下の3つを与えている。
- usage-budgets: コスト管理の予算についてのリソース
- usage-reports: リソース使用状況やコストに関するレポートを閲覧するためのリソース
Q. なんでグループの指定なの?
A. OCIではIAMポリシーはユーザーに対してポリシー指定することができないから。
なので、専用の権限が必要なグループを作成し、そのグループにユーザーを紐づければOK。
作業手順(コンソールでの概要手順)
1.コスト管理だけをするユーザーを作成する
左上のハンバーガーメニューから、[アイデンティティーとセキュリティ]→[ドメイン]を選択し、
[ユーザー]→[ユーザーの作成]で、新規ユーザーを作成
2.グループを作成して、コスト管理だけをするユーザーを紐づける
左上のハンバーガーメニューから、[アイデンティティーとセキュリティ]→[ドメイン]を選択し、
[グループ]→[グループの作成]でグループを作成
作成時には、画面下のユーザー一覧から、1で作成したユーザーをチェックしてください。
3.ポリシーを作成
左上のハンバーガーメニューから[アイデンティティーとセキュリティ]→[ポリシー]を選択し、
※今回はテナンシに紐づけるため※左ペインのコンパートメントを[〜〜(ルート)]を選択し、右ペインの[ポリシーの作成]をクリック
ポリシービルダーにて、手動エディタの表示にチェックを入れて、
結論で書いたポリシー文を入力する。(グループ名は置き換えてくださいね)
動作確認の画面ショット集
参考
- 公式のポリシー解説
- 公式のポリシーリファレンス
- 先人による詳細な解説(めちゃめちゃ参考になります!)