クラスタ関連リソースへのタグの適用によるアクセスの管理
タグおよびIAMポリシーを使用して、Kubernetes Engine (OKE)を使用して作成するクラスタに関連するリソースへのアクセスを管理する方法をご紹介します。
クラスタ関連リソースにタグを適用すると、IAMポリシーにタグを含めることで、他のリソースへのアクセスを制御できます。
IAMポリシーにタグを含めることは、ワーカー・ノードが他のリソースにアクセスすることを認可する場合に特に役立ちます。ノード・プールを最初に定義するときにノード・タグを指定すると、その後ノード・プールがスケール・アウトされます。ノード・タグは、作成された新しいワーカー・ノードに自動的に適用されます。他のリソースへのアクセス権を付与するノード・タグをIAMポリシーに含めた場合、新しいワーカー・ノードは、ノード・プール内の既存のワーカー・ノードと同じリソースにアクセスする権限を自動的に付与されます。
IAMポリシーでフリーフォーム・タグを使用してリソースへのアクセスを制御できないことに注意してください。
例: 管理対象ノード・プールによるオブジェクト・ストレージ・オブジェクトの読取りの認可
特定の管理対象ノード・プール内のワーカー・ノードのみに、特定のコンパートメント内のオブジェクト・ストレージ・オブジェクトの読取りを許可するには:
- 新しい管理対象ノード・プールを定義し、次を指定します。
- コンパートメント内で一意のノード・プールの名前。たとえば、
acme-pool-one - ノード・タグは、ノード・プールの名前に設定されます。たとえば、
acme-projectという名前のタグ・ネームスペース内のacme-nodepool-nameという名前の定義済タグは、値acme-pool-oneに設定されます。
ノード・プールを作成すると、ノード・タグ
acme-project.acme-nodepool-name='acme-pool-one'が、ノード・プール内のワーカー・ノードをホストしているすべてのコンピュート・インスタンスに適用されます。 - コンパートメント内で一意のノード・プールの名前。たとえば、
- ノード・プールを表す動的グループを定義します。
- IAMドキュメントの動的グループを作成するにはの手順に従って、新しい動的グループに名前を付けます(たとえば、
acme-oke-pool-one-dyn-grp)。 -
ノード・タグが適用されたコンパートメント内のすべてのワーカー・ノードを含むルールを次の形式で入力します:
All {instance.compartment.id = '<compartment_ocid>', tag.<tagnamespace>.<tagkey>.value = '<tagvalue>'}例:
All {instance.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa23______smwa', tag.acme-project.acme-nodepool-name.value = 'acme-pool-one'} - 「作成」を選択します。
- IAMドキュメントの動的グループを作成するにはの手順に従って、新しい動的グループに名前を付けます(たとえば、
- 動的グループがコンパートメント内のオブジェクト・ストレージ・オブジェクトを読み取ることを認可するIAMポリシーを定義します:
- IAMドキュメントのポリシーを作成するにはの手順に従って、新しいポリシーに名前を付けます(たとえば、
acme-oke-read-object-dyn-grp-policy)。 -
動的グループがオブジェクト・ストレージ・オブジェクトを次の形式で読み取れるようにするポリシー・ステートメントを入力します:
Allow dynamic-group <dynamic-group-name> to read objects in compartment <compartment-name>ここでは:
<dynamic-group-name>は、以前に作成した動的グループの名前です。動的グループがデフォルトのアイデンティティ・ドメインにない場合は、dynamic-group '<identity-domain-name>'/'<dynamic-group-name>'の形式で、動的グループ名の前にアイデンティティ・ドメイン名を追加します。dynamic-group id <dynamic-group-ocid>の形式で、そのOCIDを使用して動的グループを指定することもできます。<compartment-name>は、オブジェクト・ストレージ・オブジェクトを含むコンパートメントの名前です。
例:
Allow dynamic-group acme-oke-pool-one-dyn-grp to read objects in compartment acme-oke-obj-storage-comp - 「作成」を選択して、新しいポリシーを作成します。
ノード・プール内のすべてのワーカー・ノードは、指定したコンパートメント内のオブジェクト・ストレージ・オブジェクトを読み取ることができます。
- IAMドキュメントのポリシーを作成するにはの手順に従って、新しいポリシーに名前を付けます(たとえば、