動的グループの作成と管理
動的グループは、グループに対して定義された条件を満たすコンピュート・インスタンスのグループです。 新規インスタンスが基準を満たすか、基準を満たさなくなると、グループのメンバーシップが変わります。 たとえば、動的グループのメンバーが指定したコンパートメント内のすべてのインスタンスとして定義されている場合、そのコンパートメントでインスタンスが作成または削除されると、グループ・メンバーシップが変更されます。
ポリシーにより、動的グループのメンバーであるインスタンスで実行されているアプリケーションは、サービス・リソースに対してアクションを実行するためのAPIコールを実行できます。 インスタンスは、各メンバー・インスタンスに割り当てられた証明書を使用して認証します。
動的グループの作成
動的グループを作成すると、そのグループはテナンシに自動的に作成されます。 動的グループに別のコンパートメントを指定することはできません。
「コンピュートWeb UI」の使用
-
ナビゲーション・メニューで、「アイデンティティ」をクリックし、「動的グループ」をクリックします。
-
「動的グループの作成」ボタンをクリックします。
-
「動的グループの作成」ダイアログで、次の情報を入力します:
-
名前: この動的グループの名前。 名前には次の特性があります:
-
テナンシ内で一意である必要があります。 削除された動的グループと同じ名前の動的グループを作成できます。
-
大文字と小文字は区別されません。
-
後で変更できません。
-
100文字以下にしてください。
-
英数字、ピリオド(.)、ハイフン(-)およびアンダースコア(_)のみを含めることができます。
-
-
説明: この動的グループの説明。 説明には次の特性があります:
-
1-400文字にする必要があります。
-
一意である必要はありません。
-
後で変更できます。
-
-
一致ルール: 「Match any rules defined below」または「Match all rules defined below」を選択します。
一致ルール1: 一致ルールを入力します。 一致ルールの定義方法の詳細は、「一致ルールの作成」を参照してください。
「+別の一致ルール」ボタンをクリックして、別の一致ルールを追加します。
-
タグ付け: (オプション) リソース作成時のタグの追加の説明に従って、このグループの定義済タグまたはフリー・フォーム・タグを追加します。 タグは後で適用することもできます。
-
-
ダイアログの「動的グループの作成」ボタンをクリックします。
新しい動的グループの詳細ページが表示されます。
-
この動的グループのアクセス・ポリシーを作成するか、この動的グループを既存のポリシーに追加します。 グループが少なくとも1つのポリシーのサブジェクトでないかぎり、メンバー・インスタンスには権限がありません。 「ポリシーの管理」を参照してください。
OCI CLIの使用
-
次の情報を取得します:
-
グループの名前と説明。 制限事項については、「コンピュートWeb UI」プロシージャを参照してください。 OCI CLIでは説明を指定する必要がありますが、値は空の文字列にできます。
-
テナンシのOCID。 ユーザー・メニューで、「テナンシ」オプションをクリックします。
-
-
一致するルールを作成して、グループ内のメンバーシップの条件を指定します。
一致ルールは単一のテキスト文字列です。 複数のルールはカンマ区切りで中カッコで囲み、その前にキーワード
any
またはall
が付きます。 「一致ルールの作成」に複数の条件があるルールの構文を参照してください。 -
動的グループの作成コマンドを実行します。
構文:
oci iam dynamic-group create --name text --description "text" \ --compartment-id tenancy_OCID --matching-rule text
例:
$ oci iam dynamic-group create --name Project-A --description "Instances for Project A." \ --compartment-id ocid1.tenancy.unique_ID \ --matching-rule "instance.compartment.id = 'ocid1.compartment.unique_ID'"
このコマンドの出力は、
dynamic-group get
コマンドの出力と同じです。 -
この動的グループのアクセス・ポリシーを作成するか、この動的グループを既存のポリシーに追加します。 グループには、少なくとも1つのポリシーのサブジェクトでないかぎり、権限はありません。 「ポリシーの管理」を参照してください。
一致ルールの作成
ルールは、グループ内のメンバーシップの1つ以上の条件を指定します。 テキスト・ボックスにルールを入力します。 別のルールを追加するには、+「別の一致ルール」ボタンをクリックします。
単一の条件を持つルールには、次の構文があります:
variable = | != value
複数の条件を持つルールには、次の構文があります:
any | all {variable =|!= value, variable =|!= value,...}
variable
は、次のいずれかです:
-
instance.compartment.id
。 インスタンスが存在するコンパートメントのOCID。 -
instance.id
。 インスタンスのOCID。 -
tag.tagnamespace.tagkey.value = tagvalue
。 このリソースをグループに含めるには、tagnamespace
、tagkey
およびtagvalue
がすべて一致する必要があります。 -
tag.tagnamespace.tagkey.value
。 このリソースをグループに含めるには、tagnamespace
とtagkey
のみが一致する必要があります。 タグの値は考慮されません。
次の一致ルールには、指定されたコンパートメント内のすべてのインスタンスが含まれます:
instance.compartment.id = 'ocid1.compartment.unique_ID'
次の一致ルールには、instance.id !=
で指定された2つのインスタンスを除く、指定されたコンパートメント内のすべてのインスタンスが含まれます:
all {instance.compartment.id = 'ocid1.compartment.unique_ID', instance.id != 'ocid1.instance.unique_ID1', instance.id != 'ocid1.instance.unique_ID2'}
次の一致ルールには、タグ・ネームスペースProduct1、キーProjectAおよび値abc123を持つタグが適用されているすべてのインスタンスが含まれます:
tag.Product1.ProjectA.value = abc123
動的グループの更新
動的グループの説明および一致ルール(メンバー)を変更できます。 「既存のリソースへのタグの適用」の説明に従って、タグを追加、変更または削除できます。
「コンピュートWeb UI」の使用
-
ナビゲーション・メニューで、「アイデンティティ」をクリックし、「動的グループ」をクリックします。
-
(オプション)説明を変更します。
-
動的グループ・リストで、変更する動的グループの「アクション」メニューをクリックし、「編集」オプションをクリックします。
-
「「グループ名」の編集」ダイアログで、動的グループの説明またはタグを変更します。
-
「変更の保存」をクリックします。
-
-
(オプション)一致ルールを変更します。
-
動的グループ・リストで、変更する動的グループの名前をクリックします。
-
詳細ページで、「すべての一致ルールの編集」ボタンをクリックします。
-
テキスト・ボックスで一致ルールを編集します。
-
「変更の保存」をクリックします。
-
OCI CLIの使用
-
変更する動的グループのOCIDを取得:
oci iam dynamic-group list
-
動的グループの更新コマンドを実行します。
構文:
oci iam dynamic-group update --dynamic-group-id dynamic_group_OCID
例:
$ oci iam dynamic-group update --dynamic-group-id ocid1.dynamicGroup.unique_ID \ --matching-rule "instance.compartment.id = 'ocid1.compartment.unique_ID'"
このコマンドの出力は、
dynamic-group get
コマンドの出力と同じです。
動的グループの削除
動的グループを削除すると、そのグループのメンバーであったコンピュート・インスタンスには、動的グループに適用されたポリシーを介した認可がなくなりました。
「コンピュートWeb UI」の使用
-
ナビゲーション・メニューで、「アイデンティティ」をクリックし、「動的グループ」をクリックします。
-
削除する動的グループについて、「アクション」メニューをクリックし、「削除」オプションをクリックします。
-
削除を確定します。
OCI CLIの使用
-
変更する動的グループのOCIDを取得:
oci iam dynamic-group list
-
delete dynamic groupコマンドを実行します。
構文:
oci iam dynamic-group delete --dynamic-group-id dynamic_group_OCID
例:
$ oci iam dynamic-group delete --dynamic-group-id ocid1.dynamicGroup.unique_ID \ --force