動的グループの管理
ここでは、動的グループの管理方法と、動的グループのメンバーを決定するルールの定義方法を説明します。
動的グループについて
動的グループを使用すると、(ユーザー・グループと同様に) Oracle Cloud Infrastructureコンピュート・インスタンスを「プリンシパル」のアクターとしてグループ化できます。ポリシーを作成して、インスタンスがOracle Cloud Infrastructureサービスに対してAPIコールを実行できるようにします。動的グループを作成する場合、メンバーをグループに明示的に追加するのではなく、グループ・メンバーを定義する一致ルールのセットを定義します。たとえば、ルールで、特定のコンパートメントのすべてのインスタンスが動的グループのメンバーであることを指定できます。メンバーは、インスタンスが起動され、そのコンパートメントで終了すると、動的に変更できます。
必須IAMポリシー
管理者グループに属している場合、動的グループを管理するために必要なアクセス権があります。
ポリシーを初めて使用する場合は、ポリシーの開始と共通ポリシーを参照してください。動的グループまたは他のIAMコンポーネントのポリシーの書込みの詳細は、アイデンティティ・ドメインのないIAMの詳細を参照してください。
リソースのタグ付け
リソースにタグを適用すると、ビジネス・ニーズに応じてそれらを整理しやすくなります。リソースの作成時にタグを適用するか、後でリソースを必要なタグで更新します。タグ適用についての一般情報は、リソース・タグを参照してください。
動的グループの操作
動的グループを作成するときは、動的グループに一意で不変の名前を指定する必要があります。名前は、テナンシ内のすべてのグループで一意である必要があります。また、動的グループには説明を指定する必要があります(ただし、空の文字列にすることもできます)。これはグループの一意でない変更可能な説明です。また、Oracleでは、グループにOracle Cloud ID (OCID)と呼ばれる一意のIDを割り当てます。詳細は、リソース識別子を参照してください。
動的グループを削除した後、同じ名前で新しい動的グループを作成すると、OCIDが異なるため、異なるグループとみなされます。
動的グループは、動的グループ権限をテナンシまたはコンパートメントのいずれかに付与する少なくとも1つのポリシーを記述するまで権限がありません。ポリシーを記述するときに、一意の名前または動的グループのOCIDを使用して動的グループを指定できます。前述のノートごとに、ポリシーに動的グループ名を指定した場合でも、IAMの内部ではOCIDを使用して動的グループが決定されます。ポリシーの書込みの詳細は、ポリシーの管理を参照してください。
動的グループを削除できますが、グループが空の場合のみ削除できます。
動的グループの更新
動的グループのメンバーを定義する一致ルールを更新できます。たとえば、特定のインスタンスを除外するためにコンパートメント内のすべてのインスタンスを含む一致ルールを変更する場合があります。あるいは、新しいタグ値を含むようにルールを更新する場合があります。
一致ルールを変更する場合は、更新されたポリシーが有効になるのを約1時間に制限する必要があります。たとえば、インスタンスのタグを更新して、そのインスタンスを動的グループに含めるか除外する場合、そのポリシーがインスタンスを含めるか除外するかを待機する必要があります。
動的グループの制限
単一のコンピュート・インスタンスは、最大5つの動的グループに属することができます。
テナンシには、最大50個の動的グループを含めることができます。
コンソールの使用
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。「アイデンティティ・ドメイン」で、「動的グループ」をクリックします。
- 「動的グループの作成」をクリックします。
- 次を入力します:
- 名前:グループの一意の名前。名前は、テナンシのすべてのグループ(動的グループおよびユーザー・グループ)で一意である必要があります。これは後で変更できません。機密情報の入力は避けてください。
- 説明: わかりやすい説明。
- 一致ルールを入力します。ルール基準を満たすリソースは、グループのメンバーです。
- ルール1:動的グループを定義するための一致ルールの記述のガイドラインに従うルールを入力します。ルールはテキスト・ボックスに手動で入力するか、ルール・ビルダーを起動できます。
必要に応じて、追加のルールを入力します。ルールを追加するには、「+追加lルール」をクリックします。
- リソースを作成する権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に連絡してください。タグは後で適用できます。
-
「動的グループの作成」をクリックします。
一致ルールの構文は検証されますが、OCIDは検証されません。入力したOCIDが正しいことを確認します。
次に、動的グループ権限を付与するために、ポリシーを記述する必要があります。動的グループに対するポリシーの作成を参照してください。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。「アイデンティティ・ドメイン」で、「動的グループ」をクリックします。テナンシの動的グループのリストが表示されます。
- リストで動的グループを検索します。
- 削除する動的グループについて、「削除」をクリックします。
- プロンプトが表示されたら確認します。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。「アイデンティティ・ドメイン」で、「動的グループ」をクリックします。テナンシのグループのリストが表示されます。
- 更新する動的グループをクリックします。動的グループの詳細が表示されます。
- 「動的グループの編集」をクリックします。
- 説明を編集します。完了したら、「変更の保存」をクリックします。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。「アイデンティティ・ドメイン」で、「動的グループ」をクリックします。テナンシの動的グループのリストが表示されます。
- 更新する動的グループをクリックします。動的グループの詳細が表示されます。
- 「すべての一致ルールの編集」をクリックします。
- テキスト・ボックスで一致ルールを編集します。または、ルール・ビルダーによって変更がサポートされている場合は、ルール・ビルダーを使用できます。
動的グループを定義するための一致ルールの記述
一致ルールは、動的グループに属するリソースを定義します。コンソールで、指定されたテキスト・ボックスにルールを手動で入力するか、ルール・ビルダーを使用できます。ルール・ビルダーによって、ダイアログ内で選択とエントリを行い、エントリに基づいてルールを記述できます。
動的グループのメンバーは、次のものに基づいて定義できます。
- コンパートメントID - コンパートメントOCIDに基づいて、そのコンパートメントにあるインスタンスを含める(または除外する)
- インスタンスID - インスタンスOCIDに基づいてインスタンスを含める(または除外する)
- タグ・ネームスペースおよびタグ・キー - 特定のタグ・ネームスペースおよびタグ・キーでタグ付けされたインスタンスを含める(または除外する)。すべてのタグ値が含まれています。たとえば、タグ・ネームスペース
department
およびタグ・キーoperations
でタグ付けされたすべてのインスタンスを含めます。 - タグ・ネームスペース、タグ・キーおよびタグ値 - タグ・ネームスペースおよびタグ・キーの特定の値でタグ付けされたインスタンスを含める(または除外する)。たとえば、タグ・ネームスペース
department
、タグ・キーoperations
および値'45
'でタグ付けされたすべてのインスタンスが含まれます。 - resource.compartment.id - リソースが存在するコンパートメントのOCID
- resource.id - リソースのOCID
- resource.type - リソースのタイプ
一致ルールの構文は次のとおりです。
単一条件の場合:
variable =|!= 'value'
複数条件の場合:
any|all {<condition>,<condition>,...}
サポートされている変数は、次のとおりです。
-
instance.compartment.id
-インスタンスが存在するコンパートメントのOCID -
instance.id
-インスタンスのOCID -
tag.<tagnamespace>.<tagkey>.value
-タグ・ネームスペースとタグ・キー。たとえば、tag.department.operations.value
です。 -
tag.<tagnamespace>.<tagkey>.value='<tagvalue>'
-タグ・ネームスペース、タグ・キーおよびタグ値。例:tag.department.operations.value='45'
いくつかの例を示します。
特定のコンパートメントにあるすべてのインスタンスを含めるには、次の構文を持つルールを追加します。
instance.compartment.id = '<compartment_ocid>'
ルールは、テキスト・ボックスに直接入力することも、ルール・ビルダーを使用することもできます。
テキスト・ボックスのエントリ例:
instance.compartment.id = 'ocid1:compartment:oc1:phx:samplecompartmentocid6q6igvfauxmima74jv'
コンソールのルール・ビルダーを使用して同じルールを追加するには:
- 「一致するインスタンスを含める:」では、「次のすべて」を選択します。
- 「次と一致するインスタンス:」では、「コンパートメントOCID」を選択します。
- 「値:」には、コンパートメントOCIDを入力します。この例では、
ocid1:compartment:oc1:phx:samplecompartmentocid6q6igvfauxmima74jv
と入力します
現在存在しているか、またはコンパートメント内で作成されている(OCIDにより識別される)すべてのインスタンスは、このグループのメンバーです。
2つ(以上)のコンパートメントに存在するすべてのインスタンスを含めるには、次の構文を持つルールを追加します。
Any {instance.compartment.id = '<compartment_ocid>', instance.compartment.id = '<compartment_ocid>'}
各コンパートメント・エントリをカンマで区切ります。
ルールは、テキスト・ボックスに直接入力することも、ルール・ビルダーを使用することもできます。
テキスト・ボックスのエントリ例:
Any {instance.compartment.id = 'ocid1:compartment:oc1:phx:samplecompartmentocid6q6igvfauxmima74jv', instance.compartment.id = 'ocid1:compartment:oc1:phx:samplecompartmentocidythksk89ekslsoelu2'}
コンソールのルール・ビルダーを使用して同じルールを追加するには:
- 「一致するインスタンスを含める:」では、「次のいずれか」を選択します。
- 「次と一致するインスタンス:」では、「コンパートメントOCID」を選択します。
- 「値:」には、コンパートメントOCIDを入力します。この例では、
ocid1:compartment:oc1:phx:samplecompartmentocid6q6igvfauxmima74jv
と入力します - 「+追加行」をクリックします。2番目の行に次のように入力します。
- 「次と一致するインスタンス:」では、「コンパートメントOCID」を選択します。
- 「値:」には、追加のコンパートメントOCIDを入力します。この例では、
ocid1:compartment:oc1:phx:samplecompartmentocidythksk89ekslsoelu2
と入力します
指定されたコンパートメントのいずれかに現在存在しているか、または後で作成されるインスタンスは、このグループのメンバーです。
特定のタグ・ネームスペースおよびタグ・キーでタグ付けされたすべてのインスタンスを含めるには、次の構文を持つルールを追加します。
tag.<tagnamespace>.<tagkey>.value
tagnamespace.tagkeyの組合せに割り当てられたすべてのインスタンスが含まれます。タグ値は評価されないため、すべての値が含まれることに注意してください。
例: department
という名前のタグ・ネームスペースとoperations
というタグ・キーがあるとします。ネームスペースおよびタグ・キーでタグ付けされたすべてのインスタンスを含めます。
テキスト・ボックスに次のルールを入力します。
tag.department.operations.value
現在存在しているすべてのインスタンス、またはタグ・ネームスペースおよびタグ・キーdepartment.operations
で作成されているすべてのインスタンスは、このグループのメンバーです。
特定のタグ・ネームスペース、キーおよび値のタグを持つ特定のコンパートメント内のすべてのインスタンスを含めるには、次の構文を持つルールを追加します。
All {instance.compartment.id = '<compartment_ocid>', tag.<tagnamespace>.<tagkey>.value='<tagvalue>'}
特定されたコンパートメント内にあり、指定されたタグ値を持つtagnamespace.tagkeyが割り当てられているすべてのインスタンスが含まれます。
例: department
という名前のタグ・ネームスペースとoperations
というタグ・キーがあるとします。特定のコンパートメントにある、値45のタグが付いたすべてのインスタンスを含めます。
テキスト・ボックスに次のステートメントを入力します。
All {instance.compartment.id='ocid1:compartment:oc1:phx:oc1:phx:samplecompartmentocid6q6igvfauxmima74jv,',
tag.department.operations.value='45'}
ルール・ビルダーの使用
ルール・ビルダーは、一致ルールの記述に役立つ、コンソールから使用できるツールです。ルール・ビルダーには、入力してルールを記述するメニューとテキスト・ボックスが用意されています。ルール・ビルダーにはいくつかの制限があるため、すべてのケースに使用できません。
ルール・ビルダーの制限事項
ルール・ビルダーは次をサポートしていません:
- 除外ルール - ルール・ビルダーにより、コンパートメントIDとインスタンスIDのみを選択できます。
- タグに基づくルール - ルール・ビルダーでは、ルールに含めるタグを選択できません。タグ値に基づいてルールを追加するには、前述の構文を使用して、「ルール」テキスト・ボックスにルールを入力する必要があります。
ルール・ビルダーの起動
「動的グループの作成」をクリックすると、ルール・ビルダーが「動的グループの作成」ダイアログに表示されます。
ルール・ビルダーを使用して一致ルールを作成するには
- 「一致ルール」セクションで、「ルール・ビルダー」をクリックします。
-
「一致するインスタンスを含める」メニューから、「次のすべて」または「次のいずれか」を選択します。
「次のすべて」では、ルールのすべてのステートメントに一致するインスタンスのみが含まれます。
「次のいずれか」では、ルールのいずれかのステートメントに一致するインスタンスが含まれます。
ノート
次のインスタンス変数およびコンパートメント変数を選択できます:- instance.compartment.idおよびinstance.idは、インスタンスの一致時に適用されます
- resource.compartment.id、resource.idおよびresource.typeは、リソースの一致時に適用されます
- tag.*変数は、インスタンスとリソースの両方に適用されます
-
「次と一致するインスタンス」メニューからリソース・タイプを選択し、「値」フィールドにリソースのOCIDを入力します:
「コンパートメントOCID」では、指定したコンパートメントのインスタンスが含まれます。
「インスタンスOCID」では、指定したOCIDを持つインスタンスが含まれます。
-
「+追加行」をクリックして、このルールにステートメントを追加します。
1つのルールに複数のステートメントを追加する場合、「次のいずれか」では、ステートメントのいずれかに一致するインスタンスが含まれることに注意してください。「次のすべて」を選択する場合、インスタンスは、グループに含まれるにはステートメントの指定のすべてに一致する必要があります。
ルール・ビルダーの使用例
ルール・ビルダーを使用して、特定のコンパートメントにあるすべてのインスタンスを含めるには:
- 「次のすべて」を選択します。
- 「次と一致するインスタンス:」では、「コンパートメントOCID」を選択します。
- 「値:」には、コンパートメントOCIDを入力します(例:
ocid1:compartment:oc1:phx:samplecompartmentocidythksk89ekslsoelu2
)
(OCIDで識別される)コンパートメントに現在存在しているか、または後で作成されるすべてのインスタンスは、このグループのメンバーです。
ルール・ビルダーを使用して、2つ(以上)のコンパートメントのいずれかに存在するすべてのインスタンスを含めるには:
- 「一致するインスタンスを含める」メニューから、「次のいずれか」を選択します。
- 最初の行に次を入力します:
- 「次と一致するインスタンス」では、「コンパートメントOCID」を選択します。
- 「値」には、コンパートメントOCIDを入力します(例:
ocid1:compartment:oc1:phx:samplecompartmentocid6q6igvfauxmima74jv
)
- 「+追加行」をクリックします。2番目の行に次のように入力します。
- 「次と一致するインスタンス」では、「コンパートメントOCID」を選択します
- 「値」には、コンパートメントOCIDを入力します(例:
ocid1:compartment:oc1:phx:samplecompartmentocidythksk89ekslsoelu2
)
- 必要に応じて、追加の行を各コンパートメントに追加します。
指定されたコンパートメントのいずれかに現在存在する、または作成されているインスタンスは、このグループのメンバーです。
APIの使用
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。
動的グループを管理するには、次のAPI操作を使用します。