はじめに
**OCI**のポリシーは、AWSのポリシー設定のようにポチポチでできなかったので
困惑まではしなかったですがまとめておきます。
ポリシーの作成してみた
ポリシーを設定するグループの作成
ポリシーの作成
今回はロードバランサーとオブジェクトストレージの権限を当ててみました。
「名前」、「説明」、**「ステートメント」**を入力したら
**「作成」**をクリック
これで作成が完了
該当グループに所属しているユーザにこのポリシーが適用されます。
ポリシーの書き方について
やりたいことによって指定方法がいろいろあるので基本はポリシーの構文マニュアルを見るのが良いと思うんですが、
私は以下の書き方で基本書いています。
**テナンシ全体**に許可を与える構文
ALLOW GROUP <グループ名> to <動詞> <Resource-Types> IN TENANCY
**コンパートメント**に許可を与える構文
ALLOW GROUP <グループ名> to <動詞> <Resource-Types> IN COMPARTMENT
動詞について
マニュアルは以下から
動詞についてのマニュアル
簡単にまとめると
動詞 | 許可される権限 | 主にこんなユーザ |
---|---|---|
inspect | 一覧の表示 | どんなリソースを使っているか知りたいだけのユーザ |
read | 一覧の表示、メタデータ、データ | 内容の表示だけを行いたいユーザ |
use | 一覧の表示、メタデータ、データ、更新アクション | 既存リソースを利用していくユーザ |
manage | 全ての操作 | リソースの作成を行うユーザ、管理者 |
Resource-Typesについて
マニュアルは以下から
Resource-Typesについてのマニュアル
数が多くて紹介するの難しいんですが**ファミリ・リソース・タイプ**という大きなリソースタイプが存在します。
ファミリ・リソース・タイプ | 許可されるリソース | 詳細リンク |
---|---|---|
all-resources | OCI全てのリソース | - |
cluster-family | Container Engine for Kubernetes | Container Engine for Kubernetesの詳細 |
database-family | データベース・サービス | データベース・サービスの詳細 |
dns | DNSサービス | DNSサービスの詳細 |
file-family | ファイル・ストレージ・サービス | ファイル・ストレージ・サービスの詳細 |
instance-family | コンピュート | インスタンス・ファミリ・リソース・タイプの詳細 |
object-family | オブジェクト・ストレージ、アーカイブ・ストレージ | オブジェクト・ストレージ、アーカイブ・ストレージおよびデータ転送の詳細 |
virtual-network-family | ネットワーク | virtual-network-familyリソース・タイプの詳細 |
volume-family | ブロック・ボリューム | volume-familyリソース・タイプの詳細 |
細かく権限を設定しない場合は**ファミリ・リソース・タイプ**を指定してもいいんですが、
細かく指定したい場合は詳細ページから内容を確認して指定してください。
こんな感じで動詞ごとに許可される内容が確認できます。
※注意するのが詳細ページが日本語に自動翻訳されて指定するリソースタイプの名前が日本語になってしまうので、
ソースから見たり、英語ページに飛んで確認しないといけないです。
オブジェクトだと原文::**objects**の部分が指定名
おわりに
一人で利用する分にはデフォルトの全権限がついたままでいいと思いますが、
ユーザを追加していく際には担当に合わせた権限をつけてあげるのがいいと思います。