- Oracle Cloud
管理者ユーザー必見!OCI IAMポリシーでwhere句を使い条件式を設定する方法
OCI IAMポリシーは、where句を使った条件式を使用することで、柔軟な権限付与が可能になります。今回は、where句による条件式の設定例およびwhere句の有無による違いについてご紹介します。
|
Oracle Cloud Infrastructure(以下OCI)はOracle社が提供しているクラウドサービスです。
アカウントを登録すれば、仮想クラウドネットワーク(VCN)や仮想マシン(VMサーバもしくはベアメタルサーバ)、そしてデータベースなどのリソースを簡単に作成・利用することができます。
ですが、実際にOCIを操作いただく前に、覚えていただきたいポイントが3つあります。
それは、OCI特有の概念であったり、クラウドサービスで意識されるユーザーセキュリティ強化や使用料金に関係する大事なポイントです。
今回は、このポイントを簡単に紹介します。
コンパートメントはOCI特有の概念です。
OCIにアカウントを登録すると、テナンシ(クラウド・アカウント)が割り当てられます。
|
他社クラウドサービスの場合、利用が部門単位やシステム単位の際は、その都度アカウントを用意するケースもあり、そのアカウントごとにシステム構築を行う場合があります。
そのため、アカウントが増えれば増えるほど、運用管理が大変になります。
OCIでは、コンパートメントを使うことで、1つのテナンシで複数のシステムの運用管理が簡単にできます。
ここから、コンパートメントの作成方法の例をご紹介します。
1.コンソールメニューから、[アイデンティティ]→[コンパートメント]をクリックします。
|
2.コンパートメント画面が開きます。[コンパートメントの作成]をクリックします。
3.コンパートメントの作成ダイアログ画面が開きます。
必要な項目を入力して、[コンパートメントの作成]をクリックします。
今回はサンプルとして、以下のように入力しました。
・名前:kka-developer
・説明:開発チーム用コンパートメント
・親コンパートメント:ルートコンパートメント
|
4.コンパートメント画面の一覧に作成したコンパートメントが表示されます。
名前のリンクをクリックすると、コンパートメントの詳細画面が表示されます。
以上でコンパートメントの作成は完了です。
|
テナンシの最初のユーザーは管理者ユーザーとなり、テナンシに対するすべての操作が可能となります。
複数ユーザーで1つのテナンシを利用する場合は、各ユーザーを適切な権限(ポリシー)を割り当てたグループに所属させることが望ましいです。
具体的には、以下のとおりです。
1.許可する操作をポリシーに記載する
2.ポリシーをグループに割り当てる
3.ユーザーをグループに所属させる
※ユーザーにポリシーを直接割り当てることはできません。
ここでは、例としてネットワーク管理操作のみ許可されたユーザーの作成方法をご紹介します。
まずは、グループを作成します。
前述のとおり、ユーザーに対して直接ポリシーを割り当てることはできず、グループに割り当てる必要があります。
1.コンソールメニューから、[アイデンティティ]→[グループ]をクリックします。
|
2.グループ画面が開きます。[グループの作成]をクリックします。
3.グループの作成ダイアログ画面が開きます。
必要な項目を入力して、[作成]をクリックします。
今回はサンプルとして、以下のように入力しました。
・名前:NetworkAdminGroup
・説明:ネットワーク管理者グループ
|
4.グループ画面の一覧に作成したグループが表示されます。
名前のリンクをクリックすると、グループの詳細画面が表示されます。
以上でグループの作成は完了です。
|
次に、ポリシーを作成します。
ポリシーは、ユーザーに許可する操作をOCIで定められた構文で記載します。
1.コンソールメニューから、[アイデンティティ]→[ポリシー]をクリックします。
|
2.コンパートメントに存在するポリシーの一覧画面が開きます。
画面左側の[リスト範囲]の[コンパートメント]から、ポイント1.で作成した
コンパートメント「kka-developer」を選択し、[ポリシーの作成]をクリックします。
3.ポリシーの作成ダイアログ画面が開きます。
必要な項目を入力して、[作成]をクリックします。
今回はサンプルとして、以下のように入力しました。
・名前:NetworkAdminPolicy
・説明:ネットワーク管理者ポリシー
・ポリシーのバージョニング:KEEP POLICY CURRENT(デフォルト)
・ポリシー・ステートメント:Allow group NetworkAdminGroup to manage
virtual-network-family in compartment kka-developer
※基本構文は以下のとおりです。
『
どのグループが
』『
どのような操作を
』『
どのリソースに
』アクセス可能か記載します。
また、操作範囲として『
テナンシ全体またはコンパートメント
』から指定できます。
allow group
<group_name>
to
<verb>
<resource-type>
in
tenancy
allow group
<group_name>
to
<verb>
<resource-type>
in
compartment
<compartment_name>
|
4.ポリシー画面の一覧に作成したポリシーが表示されます。
名前のリンクをクリックすると、ポリシーの詳細画面が表示されます。
以上でポリシーの作成は完了です。
|
1.コンソールメニューから、[アイデンティティ]→[ユーザー]をクリックします。
|
2.存在するユーザーの一覧画面が開きます。
[ユーザーの作成]をクリックします。
3.ユーザーの作成ダイアログ画面が開きます。
必要な項目を入力して、[作成]をクリックします。
|
4.ユーザー画面の一覧に作成したユーザーが表示されます。
5.コンソールメニューから、[アイデンティティ]→[グループ]をクリックし、作成した
「NetworkAdminGroup」をクリックします。
詳細画面が開きますので、[ユーザーをグループに追加]をクリックします。
|
6.ユーザー追加のダイアログが開きます。
作成したユーザーを選択し[追加]をクリックします。
7.コンソールメニューから、[アイデンティティ]→[ユーザー]をクリックし、
作成したユーザーをクリックします。
詳細画面が開きますので、[パスワードの作成/リセット]をクリックします。
8.パスワードの作成/リセットのダイアログが開きます。
ここで[パスワードの作成/リセット]をクリックすると、
新規パスワードの発行が行われますのでコピーします。
|
9.作成したユーザーでOCIにサインインします。
パスワードの変更を求められますので任意のパスワードを設定します。
|
|
以上でユーザーの作成は完了です。
これで、仮想クラウドネットワーク(VCN)の操作のみ許可されたユーザーとしてサインイン
できましたので、コンソールメニューから、[コンピュート]→[インスタンス]をクリックします。
そうすると、「表示する権限が無いため管理者に連絡してください」という旨のメッセージが表示されます。
|
このように、特定の操作のみを許可することで、ユーザーによる誤操作を防ぐなどの効果があります。
OCIの料金体系は、
・サービスを使用した分を後払い
・月額クレジットで前払い(超過分は追加請求)
の2パターンがあります。
前者は[Pay As You Go]と呼ばれ、従量課金制です。
後者は[Monthly Flex]と呼ばれ、例えるならばプリペイド制です。
OCIのコンソールメニューには、『どの期間』『どのコンパートメントで』『どのサービスが』『どれくらいの料金を』使用していたか確認する機能があります。
※コンソールメニューから、[アカウント管理]→[コスト分析]をクリックします。
|
また、[予算アラート]という機能を使用することで、使用料金の監視も可能です。
※詳細は「クラウドは使い過ぎが不安?そんな時はOCIの予算アラート設定で不安解消!
」の記事もご参照ください。
今回は、OCIを使用する前に覚えてほしいポイントを3つ紹介しました。
クラウドサービスは、だれでも簡単に必要な分だけサービスを作成し利用できるというメリットがある反面、ユーザー管理や使用料金など気をつけるポイントも増えたと言えます。
以下マニュアルも併せてご参照いただき、OCIをより便利にかつ安全にご使用いただければと思います。
コンパートメントの管理
https://docs.oracle.com/cd/E97706_01/Content/Identity/Tasks/managingcompartments.htm
ユーザーの管理
https://docs.cloud.oracle.com/ja-jp/iaas/Content/Identity/Tasks/managingusers.htm
グループの管理
https://docs.cloud.oracle.com/ja-jp/iaas/Content/Identity/Tasks/managinggroups.htm
ポリシーの仕組み
https://docs.cloud.oracle.com/ja-jp/iaas/Content/Identity/Concepts/policies.htm
残高と使用の確認
https://docs.oracle.com/cd/E97706_01/Content/GSG/Concepts/costs.htm
■本記事の内容について
本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。
■商標に関して
・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
OCI IAMポリシーは、where句を使った条件式を使用することで、柔軟な権限付与が可能になります。今回は、where句による条件式の設定例およびwhere句の有無による違いについてご紹介します。
2024年5月のアップデートで、Computeインスタンスを再作成せずにブートボリュームをリストアできるブートボリューム置き換えの機能が追加されました。この機能追加により、従来のリストア方法よりも手順が少なくなり、障害発生時にも迅速な復旧が可能になりました。
OCVSは、Oracle Cloud上でVMwareをご利用いただけるサービスです。本記事では、OCVS・SDDCの概要や、オンプレミスと比較したOCVSのメリットをお伝えします!