2
2

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 の挙動について勘違いしていたこと

2
Posted at

samune.png

概要

タイトルの通りですが、OCI IAM の挙動について私が勘違いしていた点をまとめます。

  • Tenant Admin Policy について
  • manage all-resources IN TENANCY の挙動について
  • root ユーザーの権限について

前提

  • OCI テナンシを作成すると初期状態では申請時に登録したメールアドレスでユーザーが作成されていますが、本記事ではそのユーザーのことを root ユーザーと呼びます

勘違いポイント

Tenant Admin Policy は 編集不可 (root ユーザーであっても)

Tenant Admin Policy は、OCI テナンシ払い出し時に初期状態で作成されている IAM ポリシーです。
以下のポリシーステートメントが登録されています。

Tenant Admin Policy
ALLOW GROUP Administrators to manage all-resources IN TENANCY

こちらの IAM ポリシーを manage all-resources IN TENANCY が付与されている IAM ユーザーで編集しようとすると、以下のエラーが表示されてはじかれます。

エラー文
Cannot update policy - Tenanat Admin Policy. Only Service Principal can update this policy

root ユーザーであっても同様の結果となります。

image.png

manage all-resources IN TENANCY = root権限 ではない

manage all-resources IN TENANCY は最も強い権限です。
ただし、manage all-resources IN TENANCY が付与されていても root ユーザーでないとできないことがあります。
具体的には、OCI コンソールの「請求とコスト管理」→「支払いのアップグレードと管理」ページの閲覧修正です。
実際に以下の状況で確認しました。
あえて、root ユーザーを初期状態で所属する Administrators グループから移動しています。

image.png

結果は以下の通りです。
manage all-resources IN TENANCY が付与されていたとしても、root ユーザーでなければ表示されません。

image.png

また、root ユーザーでなければ「支払方法の変更」をしようとしてもエラーとなります。
つまり、「権限が付与されている かつ root ユーザー」であれば表示編集可能となります。

image.png

権限がなければ root ユーザーは何もできない(一部除いて)

少し本題とそれますが、root ユーザーといえど権限がなければ何もできません。
(一部除いて)
実際に以下の状況で確認しました。
root ユーザーをどこのグループにも所属しないようにしています。

image.png

  • 全ての操作を試したわけではないことご了承ください

結果は以下の通りです。
「支払のアップグレードと管理」の画面を表示しましたが権限エラーとなります。

image.png

こうなるとまずいですが、この状態でも一部操作はできました。
それは、グループに所属させること です。

  • 全ての操作を試したわけではないことご了承ください

実際の結果は以下の通りです。
まずドメインのページに遷移すると、権限エラーでデータは表示されませんが、Default のリンクをクリックするとドメイン情報ページに遷移できます。

image.png

続いて、「ユーザー管理」タブから所属させたいグループをクリックします。
今回は Administrators グループとしますが、他のグループでも可能だと思います。

image.png

「ユーザー」→「グループへのユーザーの割り当て」をクリックします。

image.png

自分自身を選択し「追加」をクリックします。

image.png

追加操作が正常に完了しました。
割愛しますが、その後一度サインアウトしてログインしなおすと、先ほどエラーとなった操作は問題なくできることが確認できました。

image.png


整理

上記の内容を整理

  1. root ユーザーであってもできないことはある
  2. root ユーザーも権限がなければ、API 操作はできなくなる。ただし救済措置はある
  3. manage all-resources IN TENANCY が付与されていても、root ユーザーでないとできないことはある

項番3に関して、支払方法の閲覧編集ができないのは大きいですが、その他請求関連の情報は閲覧できます。
もしその他請求関連を制御したい場合は、以下のようにポリシーステートメントの条件で除外すれば何とかなりそうです。

ALLOW GROUP Admin to manage all-resources IN TENANCY WHERE ANY { request.permission != 'SUBSCRIPTION_INFO_READ', request.permission != 'INVOICE_MANAGE', <条件>・・・ }
  • そもそも manage all-resources IN TENANCY を与えないのがベストですが...

おわりに

本記事では、OCI IAM の挙動について私が勘違いしていた点をまとめました。
まだほんの一部しか発見できていませんが、今後気づいたタイミングで追加していこうと思います。


🌟この記事が誰かの役に立てば幸いです!
また、ご質問やフィードバックもお待ちしています。


参考資料

リファレンス

ブログ

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?