ポリシー・ビルダーを使用したポリシー・ステートメントの記述
ポリシー・ビルダーを使用します。
コンソールのポリシー・ビルダーを使用すると、ポリシー・ステートメントを手動で入力することなく、共通ポリシーをすばやく作成できます。ポリシー・ビルダーでは、テナンシ内のユーザーまたはリソースのグループや、ターゲット・リソース(インスタンス、ネットワーク、バケットなど)に管理者が付与できる権限が自動的に提案されます。ポリシー・ビルダーによって提供される提案を必要としないか、より複雑なポリシー要件のあるユーザーは、ビルダーの基本オプションを省略して、拡張エディタに直接進めます。そこでは、フリーフォーム・テキスト・ボックスにポリシー・ステートメントを直接入力できます。
ポリシー・ビルダーの機能
ポリシー・ビルダーには、テナンシのポリシーを作成するために完了できるポリシー・テンプレートが用意されています。ポリシー・テンプレートには、OCIのサービスでタスクまたは一連の関連タスクを実行する権限を付与するために必要なすべてのステートメントが含まれます。テンプレートを完了するには、テナンシの既存のグループのメニューからグループを選択し、テナンシのコンパートメントのリストから場所を選択します。
ポリシー・ビルダーのポリシー・テンプレートは、ネットワーク管理、ストレージ管理、アカウント管理などのユース・ケース別にグループ化されており、必要な権限セットを簡単に参照および検索できます。
たとえば、テナンシのネットワーク管理者を設定するとします。ネットワーキング・サービス内のすべてのリソースを操作するために必要な権限をユーザーのグループに付与する必要があります。このポリシーをポリシー・ビルダーで作成するには:
- 最初に、必要なポリシーを検索します: 「ポリシー・ユース・ケース」メニューから、「ネットワーク管理」を選択します。ポリシーが属するユース・ケースが不明な場合は、このオプションを「すべて」に設定したまますべてのテンプレートを参照できます。
- 「共通ポリシー・テンプレート」メニューから、「ネットワーク管理者がクラウド・ネットワークを管理できるようにします」を選択します。
ポリシー・ビルダーに、作成されるポリシー・ステートメントが表示されます。この場合、ステートメントは1つのみです:
Allow {group name} to manage virtual-network-family in {location}
- ここで必要な操作は、ポリシーのアイデンティティ・ドメインおよびグループを選択することのみです。グループを選択すると、表示されたポリシー・ステートメントの{group name}も選択内容で更新されます。
- 最後に、場所を選択します。コンパートメント階層を横断して、適切なコンパートメントを検索および選択できます。テナンシにポリシーを作成するには、ルート・コンパートメントを選択します。
ポリシーのカスタマイズ
テンプレートがニーズに正確に一致しないことがわかった場合は、提供されているポリシーをカスタマイズするために、ステートメントの追加、ステートメントの削除、条件の追加またはその他の変更を行って、必要なポリシーを作成できます。フリーフォーム・テキスト・ボックスでステートメントを編集するには、「手動エディタの表示」をクリックします。テキスト・ボックスにステートメントを直接入力する場合は、IAMポリシーの概要を参照してください。
ネットワーク管理者ポリシーのカスタマイズの例:
- このポリシーに、(デフォルト・アイデンティティ・ドメインの)別のグループGroupBを含める必要があります。グループを追加するには:
「手動エディタの表示」をクリックします。テキスト・ボックスに、(必要な構文に従って)ポリシーに対する変更を入力します。
Allow group 'Default'/'GroupA', 'Default'/'GroupB' to manage virtual-network-family in compartment CompartmentA
ノート
アイデンティティ・ドメインなしでグループ名のみを含めると、ポリシー・ビルダーでは、グループがデフォルト・アイデンティティ・ドメインにあるとみなされます。 - ステートメントに条件を追加する必要があります。たとえば、MFAによって検証されたユーザーのみがネットワークを管理できるようにします。この条件は、次のようにステートメントに追加できます:
Allow group GroupA to manage virtual-network-family in compartment CompartmentA where request.user.mfaTotpVerified='true'
- ポリシーに別のステートメントを追加する必要があります。たとえば、GroupAにインスタンスの使用を許可します。別のステートメントを追加するには、次の行にそれを入力します:
Allow group GroupA to manage virtual-network-family in compartment CompartmentA Allow group GroupA to use instance-family in compartment CompartmentA
ポリシー・ビルダーを使用したポリシーの編集
ポリシーを作成した後、追加する必要のあるステートメントの変更は、ポリシー・テキストに直接入力できます。テンプレート・セレクタは、新規ポリシーを作成する場合にのみ使用できます。エディタでは、ステートメントの削除、追加、編集または順序変更を行うことができます。