1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCI(Oracle Cloud Infrastructure) の Denyポリシーを試してみる。

Last updated at Posted at 2025-11-29

OCI のポリシー(権限付与)に Deny(拒否)ポリシーが書けるようになりました。本記事ではこの Denyポリシーをお試ししてみますやで。
彡(^)(^)

1. リリースノート

リリースノートはこちらです。2025年11月18日にリリースなので出たての機能です。

2. マニュアル

Denyポリシーのマニュアルは下記となります。

3. 注意事項(直感的ではない※仕様)

※直感的ではない ← あくまで個人の見解です。

マニュアルに下記の記述があります。

For example, when allowing permissions, granting access to manage permissions typically means a user is also granted permissions such as read or inspect. The manage verb always expands scope to include the use, read, and inspect permissions on a resource.

However, when denying permissions, the opposite is true. When a policy is written denying access to manage permissions, it doesn't necessarily block permissions for inspect, read, or use.

For example, if you write a deny policy to block an inspect permission, typically you would also want to restrict the read, use, or manage permissions. In other words, denying the ability to inspect a resource would also deny the ability to read, use, or manage it.

これを整理すると以下のような動作になります。

  • Allow の場合 manage で許可すると権限が use, read, inspect にも拡張されて同時に許可される仕様 ← これはわかる
  • Deny の場合は manage で拒否すると use, read, inspect は拒否されずに残る ← ファッ!?
  • ある権限を Deny でまるっと拒否する場合は inspect で拒否する必要がある。inspect で拒否すると累積的に read, use, manage が拒否される仕様 ← マジデ^q^

これは個人的にはだいぶ違和感がある仕様ですが、文句を言ってもしょうがないのでサクサク検証します。

4. Denyポリシーのテナントでの有効化

コンソール左上のハンバーガーメニュ → Identity&Security → Domains → Defaultドメイン → Policiesペイン に移動します。

deny001.png

Actionsボタンから denyポリシーの有効化が可能になったとポップアップします。

deny002.png
deny003.png

Actionsボタンから Denyポリシーのトグルを有効化して保存します。

deny004.png

deny005.png

Denyポリシーを有効化するとそのポリシーが有効化された情報と、管理者は Deny が除外されるポリシーが追加されます。

5. テスト用のポリシーステートメント

以下のポリシーを作成して管理者以外のユーザーに付与します。全リソースの読取権限を付与しつつ、inspectのDenyステートメントで請求書の権限を拒否しています。

allow group default/grp-deny-test to read all-resources in tenancy
deny group default/grp-deny-test to inspect invoices in tenancy

6. 別ユーザーでログインして請求書を参照

権限を付与した別ユーザーでOCIコンソールにログインします。コンソール左上のハンバーガーメニュ → Billing&Cost Management → Invoices で請求書画面に移動します。

image.png

請求書が表示されないことを確認できました。次にポリシーステートメントを下記のように書き換えて manage で拒否してみます。

allow group default/grp-deny-test to read all-resources in tenancy
deny group default/grp-deny-test to manage invoices in tenancy

ポリシー書き換え後に別ユーザーのブラウザをリフレッシュすると……

image.png
image.png

請求書を読み取れることが確認できました。直感的※じゃない仕様!(※くどいですが個人の見解です)
彡(^)(^)

7. まとめ

Denyポリシーの動作を確認できました。manageのDenyに代表される下位の動詞が拒否されない仕様がちょっと(だいぶ)違和感ありますが、理解していれば問題はない。活用していくとしましょう。
彡(^)(^)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?