0
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 IAM拒否ポリシーの有効活用。

IAM拒否ポリシーがリリースされた直後に試してみてうまくいかなかったのですが、改めて試してみたらうまくいったので。タグベースはうまく動かないのかなあと、すぐにあきらめちゃったのが良くなかったかも。

いや、しかし。この手のニーズはあると思うのだけど。誰か書いてないのかしらん。

何がしたいか

特定のタグをつけたリソースの誤削除防止。
特にインスタンスの、停止と終了って、いまだにドキドキしません?
昔のコンソールだと終了って真っ赤なボタンで分かりやすかったですよね。

準備1:タグを作る

こんなタグ、作ってみました。AWSの真似。そういや、タイムゾーンがJSTで表示されるようになって良かったですよね~。

image.png

準備2:ポリシーを作る

こんなポリシー、作ってみました。PRODコンパートメントの中で、さっき作ったタグがtrueのリソースは削除できなくなります。

deny any-user to manage all-resources in compartment PROD where all { request.permission = /*_DELETE/ , target.resource.tag.ResourceManagement.DeletionProtection='true' }

準備3:リソースを作る

コンピュートを作って、さっきのタグを追加します。
image.png

終了を試そう

拒否されます。いぇい。
image.png

注意点

  • コンピュートで試しただけなので、他のリソースでどうなるかは分かりません。絶対にテストしてね。
  • IAM Policyを書くときにtarget.resource.tag以下のタグ名を間違っていると、常にfalseと判断される模様(=上に書いたポリシーだと、allの中が常にfalseになって結果的に削除可になる)。

いつか実案件で使ってみたいですね。試した人いましたら、こっそり結果教えてください。

0
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
0
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?