Oracle Cloud Infrastructureドキュメント

動的グループの管理

このトピックでは、動的グループを管理し、動的グループ・メンバーを決定するためのルールを定義する方法について説明します。

動的グループについて

動的グループを使用すると、Oracle Cloud Infrastructureコンピュータ・インスタンスをプリンシパル・アクター(ユーザー・グループに類似)としてグループ化できます。 インスタンスをOracle Cloud Infrastructureサービスに対してAPI呼び出しを行う」に許可するポリシーを作成できます。 ダイナミック・グループを作成するときは、メンバーを明示的にグループに追加するのではなく、グループ・メンバーを定義するために「一致ルール」のセットを定義します。 たとえば、特定のコンパートメント内のすべてのインスタンスが動的グループのメンバーであることをルールで指定できます。 メンバーは、インスタンスが起動され、そのコンパートメントで終了すると、動的に変更できます。

必要なIAMポリシー

Administratorsグループに所属している場合、動的グループを管理するために必要なアクセス権限があります。

新しいポリシーの場合は、「ポリシーの開始」「共通ポリシー」を参照してください。 動的グループやその他のIAMコンポーネントのポリシーを書くことをさらに深く知りたい場合は、「IAMの詳細」を参照してください。

リソースのタギング

リソースにタグを適用して、ビジネス・ニーズに合わせてタグを整理するのに役立てることができます。 リソースを作成するときにタグを適用することも、後でそのタグを使用してリソースを更新することもできます。 タグの適用に関する一般的な情報は、「リソース・タグ」を参照してください。

動的グループの操作

動的グループを作成するときは、動的グループに対して一意の変更不可能なnameを指定する必要があります。 名前は、テナンシ内のすべてのグループで一意でなければなりません。 また、動的グループには、グループの一意ではなく変更可能な説明であるdescription (空の文字列でもかまいません)を指定する必要があります。 Oracleは、グループに、Oracle Cloud ID (OCID)という一意のIDも割り当てます。 詳細は、「リソース識別子」を参照してください。

ノート

動的グループを削除して同じ名前の新しい動的グループを作成すると、異なるOCIDを持つため異なるグループと見なされます。

動的グループには、テナンシまたはコンパートメントに対する動的グループ権限を与えるポリシーを少なくとも1つ記述するまで権限がありません。 ポリシーを記述するときに、一意の名前または動的グループOCIDを使用して動的グループを指定できます。 前述の注意により、ポリシーに動的グループ名を指定した場合でも、IAM内部ではOCIDを使用して動的グループを決定します。 ポリシーの書込みの詳細は、「ポリシーの管理」を参照してください。

動的グループは削除できますが、グループが空の場合にのみ削除できます。

動的グループの更新

動的グループのメンバーを定義する一致ルールを更新できます。 たとえば、コンパートメント内のすべてのインスタンスを含む一致ルールを変更して、特定のインスタンスを除外することができます。 また、ルールを更新して新しいタグ値を含めることもできます。

重要

一致するルールを変更する場合は、更新されたポリシーが有効になるまでに約1時間を要する必要があります。
たとえば、インスタンスのタグを更新して、そのインスタンスを動的グループに含めるか除外する場合は、そのポリシーを有効にしてインスタンスを含めるか除外する必要があります。

動的グループ内のインスタンスの制限

1つのコンピュート・インスタンスが、5動的グループの最大に属することができます。

コンソールの使用

警告

Oracle Cloud Infrastructureコンソール、APIまたはCLIを使用してクラウド・リソースに説明、タグまたはわかりやすい名前を割り当てるときは、機密情報を入力しないでください。

動的グループを作成するには
動的グループを削除するには
動的グループ記述を更新するには
動的グループ・マッチング・ルールを更新するには

動的グループを定義するための一致ルールの作成

一致ルールは、動的グループに属するリソースを定義します。 コンソールでは、指定したテキスト・ボックスにルールを手動で入力するか、「ルール・ビルダー」を使用することができます。 ルール・ビルダーを使用すると、ダイアログで選択と入力を行い、エントリに基づいてルールを書き込むことができます。

動的グループのメンバーは、以下に基づいて定義できます:

  • コンパートメントID - コンパートメントOCIDに基づいて、そのコンパートメントに存在するインスタンスをインクルード(または除外)します。
  • インスタンスID - インスタンスのOCIDに基づいてインスタンスを含める(または除外する)
  • タグ・ネームスペースとタグ・キー- 特定のタグ・ネームスペースとタグ・キーでタグ付けされたインスタンスをインクルード(または除外)します。 すべてのタグ値が含まれます。 たとえば、withタグ・ネームスペースdepartmentとタグ・キーoperationsでタグ付けされたすべてのインスタンスを含めます。
  • タグ・ネームスペース、タグ・キー、タグ値- タグ・ネームスペースとタグ・キーに特定の値でタグ付けされたインスタンスをインクルード(または除外)します。 たとえば、タグ・ネームスペースdepartmentとタグ・キーoperationsでタグ付けされたすべてのインスタンスと値'45'を含めます。

マッチング・ルールの構文は次のとおりです:

単一の条件の場合:

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'

いくつか例を挙げます。

動的グループの特定のコンパートメントにすべてのインスタンスを含める
2つ以上のコンパートメントのいずれかにすべてのインスタンスを含める
特定のネームスペースとタグ・キーでタグ付けされたすべてのインスタンスを含める
特定のタグ・ネームスペース、タグ・キー、およびタグ値を持つ特定のコンパートメントにすべてのインスタンスを含める
特定のコンパートメントにインスタンスを含める

ルールビルダーの使用

ルール・ビルダーは、コンソールから利用可能なツールで、マッチング・ルールの作成に役立ちます。 ルールビルダーは、エントリを作成するためのメニューとテキスト・ボックスを提供し、ルールを記述します。 ルール・ビルダーにはいくつかの制限があるため、すべての場合にルール・ビルダーを使用することはできません。

ルールビルダーの制限事項

ルール・ビルダーは次のものをサポートしていません:

  • 除外ルール - ルールビルダーを使用すると、コンパートメントIDとインスタンスIDだけを含めることができます。
  • タグに基づくルール - ルール・ビルダーではルールに含めるタグを選択できません。 タグ値に基づいてルールを追加するには、上記の構文を使用してルール・テキスト・ボックスにルールを入力する必要があります。

ルールビルダーの起動

「動的グループの作成」をクリックすると、「動的グループの作成」ダイアログにRule Builderが表示されます。

ルール・ビルダーを使用して一致するルールを作成するには

  1. メニューからAnyまたはAllを選択します。

    anyには、ルール内のステートメントに一致するインスタンスが含まれます。

    Allには、ルール内のすべてのステートメントに一致するインスタンスのみが含まれます。

  2. ステートメントの「属性」タイプを選択し、値を入力します:

    「コンパートメントIDに」には、指定したコンパートメント内のインスタンスが含まれます。

    「インスタンスID付き」には、指定したOCIDを持つインスタンスが含まれます。

  3. 「+追加回線」をクリックして、このルールにステートメントを追加します。

    ルールに複数のステートメントを追加する場合は、いずれかのステートメントに一致するインスタンスが含まれていることに注意してください。 すべてを選択した場合、インスタンスはグループに含めるステートメントのすべての仕様と一致する必要があります。

ルールビルダーを使用した例

動的グループの特定のコンパートメントにすべてのインスタンスを含める
2つ以上のコンパートメントのいずれかにすべてのインスタンスを含める

APIの使用

APIおよび署名リクエストの使用については、REST APIおよび「セキュリティ資格証明」を参照してください。 SDKの詳細は、「ソフトウェア開発キットとコマンドライン・インタフェース」を参照してください。

動的グループを管理するには、次のAPI操作を使用します: