Amazon Elastic Kubernetes Service のアクション、リソース、および条件キー - サービス認可リファレンス

Amazon Elastic Kubernetes Service のアクション、リソース、および条件キー

Amazon Elastic Kubernetes Service (サービスプレフィックス: eks) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。

参照:

Amazon Elastic Kubernetes Service で定義されるアクション

IAM ポリシーステートメントの Action エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。

[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource 要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource 要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。

[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition 要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。

注記

リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。

以下の表の列の詳細については、「アクションテーブル」を参照してください。

アクション 説明 アクセスレベル リソースタイプ (* 必須) 条件キー 依存アクション
AccessKubernetesApi [アクセス許可のみ] AWS EKS コンソール経由で Kubernetes オブジェクトを表示するアクセス許可を付与 読み取り

cluster*

AssociateAccessPolicy Amazon EKS アクセスポリシーを Amazon EKS アクセスエントリに関連付ける許可を付与 書き込み

access-entry*

eks:policyArn

eks:namespaces

eks:accessScope

AssociateEncryptionConfig クラスターに暗号化設定を関連付けるアクセス許可を付与 書き込み

cluster*

AssociateIdentityProviderConfig クラスターに ID プロバイダー設定を関連付けるアクセス許可を付与 書き込み

cluster*

aws:RequestTag/${TagKey}

aws:TagKeys

eks:clientId

eks:issuerUrl

CreateAccessEntry Amazon EKS アクセスエントリを作成する許可を付与 書き込み

cluster*

aws:RequestTag/${TagKey}

aws:TagKeys

eks:principalArn

eks:kubernetesGroups

eks:username

eks:accessEntryType

CreateAddon Amazon EKS アドオンを作成するアクセス許可を付与 書き込み

cluster*

podidentityassociation

aws:RequestTag/${TagKey}

aws:TagKeys

CreateCluster Amazon EKS クラスターを作成するアクセス許可を付与 書き込み

aws:RequestTag/${TagKey}

aws:TagKeys

eks:bootstrapClusterCreatorAdminPermissions

eks:bootstrapSelfManagedAddons

eks:authenticationMode

eks:supportType

CreateEksAnywhereSubscription EKS Anywhere サブスクリプションを作成する許可を付与 書き込み

aws:RequestTag/${TagKey}

aws:TagKeys

CreateFargateProfile AWS Fargate プロファイルを作成するアクセス許可を付与 書き込み

cluster*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateNodegroup Amazon EKS ノードグループを作成するアクセス許可を付与 書き込み

cluster*

aws:RequestTag/${TagKey}

aws:TagKeys

CreatePodIdentityAssociation EKS Pod Identity の関連付けを作成するためのアクセス許可を付与 書き込み

cluster*

aws:RequestTag/${TagKey}

aws:TagKeys

DeleteAccessEntry Amazon EKS アクセスエントリを削除する許可を付与 書き込み

access-entry*

DeleteAddon Amazon EKS アドオンを削除するアクセス許可を付与 書き込み

addon*

podidentityassociation

DeleteCluster Amazon EKS クラスターを削除するアクセス許可を付与 書き込み

cluster*

DeleteEksAnywhereSubscription EKS Anywhere サブスクリプションを記述する許可を付与 書き込み

eks-anywhere-subscription*

DeleteFargateProfile AWS Fargate プロファイルを削除するアクセス許可を付与 書き込み

fargateprofile*

DeleteNodegroup Amazon EKS ノードグループを削除するアクセス許可を付与 書き込み

nodegroup*

DeletePodIdentityAssociation EKS Pod Identity の関連付けを削除するためのアクセス許可を付与 書き込み

podidentityassociation*

DeregisterCluster 外部クラスターの登録を解除する許可を付与 書き込み

cluster*

DescribeAccessEntry Amazon EKS アクセスエントリを記述する許可を付与 読み取り

access-entry*

DescribeAddon Amazon EKS アドオンに関する説明情報を取得するアクセス許可を付与 読み取り

addon*

DescribeAddonConfiguration Amazon EKS アドオンに関する設定オプションを一覧表示するための許可を付与します 読み取り
DescribeAddonVersions Amazon EKS アドオンがサポートしているアドオンに関する説明的なバージョン情報を取得するアクセス許可を付与 読み込み
DescribeCluster Amazon EKS クラスターに関する説明情報を取得するアクセス許可を付与 読み取り

cluster*

DescribeEksAnywhereSubscription EKS Anywhere サブスクリプションを記述する許可を付与 読み取り

eks-anywhere-subscription*

DescribeFargateProfile クラスターに関連付けられている AWS Fargate プロファイルの詳細情報を取得するアクセス許可を付与 読み込み

fargateprofile*

DescribeIdentityProviderConfig クラスターに関連付けられた Idp 設定に関する説明情報を取得するアクセス許可を付与 読み取り

identityproviderconfig*

DescribeInsight 指定したクラスターで検出されたインサイトの説明情報を取得する許可を付与 読み取り

cluster*

DescribeNodegroup Amazon EKS ノードグループに関する説明情報を取得するアクセス許可を付与 読み取り

nodegroup*

DescribePodIdentityAssociation EKS Pod Identity の関連付けを記述するためのアクセス許可を付与 読み取り

podidentityassociation*

DescribeUpdate (指定されたリージョンまたはデフォルトリージョンにある) 特定の Amazon EKS クラスター/ノードグループ/アドオンの特定の更新を取得するアクセス許可を付与 読み取り

cluster*

addon

nodegroup

DisassociateAccessPolicy Amazon EKS アクセスエントリから Amazon EKS アクセスポリシーを関連付け解除する許可を付与 書き込み

access-entry*

eks:policyArn

eks:namespaces

eks:accessScope

DisassociateIdentityProviderConfig 関連付けられた Idp 設定を削除するアクセス許可を付与 書き込み

identityproviderconfig*

ListAccessEntries すべての Amazon EKS アクセスエントリを一覧表示する許可を付与 リスト

cluster*

ListAccessPolicies Amazon EKS アクセスポリシーを一覧表示する許可を付与 リスト
ListAddons 特定のクラスターの (指定されたリージョンまたはデフォルトリージョンにある) AWS アカウント の Amazon EKS アドオンを一覧表示するアクセス許可を付与 リスト

cluster*

ListAssociatedAccessPolicies Amazon EKS アクセスエントリに関連するアクセスポリシーを一覧表示する許可を付与 リスト

access-entry*

ListClusters (指定されたリージョンまたはデフォルトリージョンにある) AWS アカウント の Amazon EKS クラスターを一覧表示するアクセス許可を付与 リスト
ListEksAnywhereSubscriptions EKS Anywhere サブスクリプションを一覧表示する許可を付与 リスト
ListFargateProfiles 特定のクラスターに関連付けられている (指定されたリージョンまたはデフォルトリージョンにある) AWS アカウント の AWS Fargate プロファイルを一覧表示するアクセス許可を付与 リスト

cluster*

ListIdentityProviderConfigs 特定のクラスターに関連付けられた (指定されたリージョンまたはデフォルトリージョンにある) AWS アカウント の Idp 設定を一覧表示するアクセス許可を付与 リスト

cluster*

ListInsights 指定したクラスターで検出されたすべてのインサイトのリストを取得する許可を付与 リスト

cluster*

ListNodegroups 特定のクラスターにアタッチされた (指定されたリージョンまたはデフォルトリージョンにある) AWS アカウント の Amazon EKS ノードグループを一覧表示するアクセス許可を付与 リスト

cluster*

ListPodIdentityAssociations EKS Pod Identity の関連付けを一覧表示するためのアクセス許可を付与 リスト

cluster*

ListTagsForResource 指定されたリソースのタグを一覧表示する許可を付与 読み込み

addon

cluster

eks-anywhere-subscription

fargateprofile

identityproviderconfig

nodegroup

ListUpdates (指定されたリージョンまたはデフォルトリージョンにある) 特定の Amazon EKS クラスター/ノードグループの更新を一覧表示するアクセス許可を付与 リスト

cluster*

addon

nodegroup

RegisterCluster 外部クラスターを登録する許可を付与 書き込み

aws:RequestTag/${TagKey}

aws:TagKeys

TagResource 指定されたリソースにタグを付けるアクセス許可を付与 タグ付け

access-entry

addon

cluster

eks-anywhere-subscription

fargateprofile

identityproviderconfig

nodegroup

podidentityassociation

aws:RequestTag/${TagKey}

aws:TagKeys

UntagResource 指定されたリソースのタグを解除するアクセス許可を付与 タグ付け

access-entry

addon

cluster

eks-anywhere-subscription

fargateprofile

identityproviderconfig

nodegroup

podidentityassociation

aws:TagKeys

UpdateAccessEntry Amazon EKS アクセスエントリを更新する許可を付与 書き込み

access-entry*

UpdateAddon Amazon EKS アドオン設定 (VPC CNI バージョンなど) を更新するアクセス許可を付与 書き込み

addon*

podidentityassociation

UpdateClusterConfig Amazon EKS クラスター設定 (API サーバーエンドポイントアクセスなど) を更新するアクセス許可を付与 書き込み

cluster*

eks:authenticationMode

eks:supportType

UpdateClusterVersion Amazon EKS クラスターの Kubernetes バージョンを更新するアクセス許可を付与 書き込み

cluster*

UpdateEksAnywhereSubscription EKS Anywhere サブスクリプションを更新する許可を付与 書き込み

eks-anywhere-subscription*

UpdateNodegroupConfig Amazon EKS ノードグループ設定を更新するアクセス許可を付与 (例: 最小/最大/希望する容量またはラベル) 書き込み

nodegroup*

UpdateNodegroupVersion Amazon EKS ノードグループの Kubernetes バージョンを更新するアクセス許可を付与 書き込み

nodegroup*

UpdatePodIdentityAssociation EKS Pod Identity の関連付けを更新するためのアクセス許可を付与 書き込み

podidentityassociation*

Amazon Elastic Kubernetes Service で定義されるリソースタイプ

以下のリソースタイプは、このサービスによって定義され、IAM アクセス許可ポリシーステートメントの Resource エレメントで使用できます。アクションテーブルの各アクションは、そのアクションで指定できるリソースタイプを示しています。リソースタイプは、ポリシーに含めることができる条件キーを定義することもできます。これらのキーは、[リソースタイプ] テーブルの最後の列に表示されます。以下の表の列の詳細については、「リソースタイプテーブル」を参照してください。

リソースタイプ ARN 条件キー
cluster arn:${Partition}:eks:${Region}:${Account}:cluster/${ClusterName}

aws:ResourceTag/${TagKey}

nodegroup arn:${Partition}:eks:${Region}:${Account}:nodegroup/${ClusterName}/${NodegroupName}/${UUID}

aws:ResourceTag/${TagKey}

addon arn:${Partition}:eks:${Region}:${Account}:addon/${ClusterName}/${AddonName}/${UUID}

aws:ResourceTag/${TagKey}

fargateprofile arn:${Partition}:eks:${Region}:${Account}:fargateprofile/${ClusterName}/${FargateProfileName}/${UUID}

aws:ResourceTag/${TagKey}

identityproviderconfig arn:${Partition}:eks:${Region}:${Account}:identityproviderconfig/${ClusterName}/${IdentityProviderType}/${IdentityProviderConfigName}/${UUID}

aws:ResourceTag/${TagKey}

eks-anywhere-subscription arn:${Partition}:eks:${Region}:${Account}:eks-anywhere-subscription/${UUID}

aws:ResourceTag/${TagKey}

podidentityassociation arn:${Partition}:eks:${Region}:${Account}:podidentityassociation/${ClusterName}/${UUID}

aws:ResourceTag/${TagKey}

access-entry arn:${Partition}:eks:${Region}:${Account}:access-entry/${ClusterName}/${IamIdentityType}/${IamIdentityAccountID}/${IamIdentityName}/${UUID}

aws:ResourceTag/${TagKey}

eks:accessEntryType

eks:clusterName

eks:kubernetesGroups

eks:principalArn

eks:username

access-policy arn:${Partition}:eks::aws:cluster-access-policy/${AccessPolicyName}

Amazon Elastic Kubernetes Service の条件キー

Amazon Elastic Kubernetes Service では、IAM ポリシーの Condition 要素で使用できる以下の条件キーを定義します。これらのキーを使用して、ポリシーステートメントが適用される条件をさらに絞り込むことができます。以下の表の列の詳細については、「条件キーテーブル」を参照してください。

すべてのサービスで使用できるグローバル条件キーを確認するには、「使用できるグローバル条件キー」を参照してください。

条件キー 説明 タイプ
aws:RequestTag/${TagKey} ユーザーが EKS サービスに対して行うリクエストに含まれるキーによってアクセスがフィルタリングされます 文字列
aws:ResourceTag/${TagKey} タグキーおよび値のペアでアクセスをフィルタリングします。 文字列
aws:TagKeys ユーザーが EKS サービスに対して行うリクエストに含まれるすべてのタグキー名のリストでアクセスをフィルタリングします ArrayOfString
eks:accessEntryType ユーザーが EKS サービスに対して行うアクセスエントリリクエストに含まれるアクセスエントリタイプでアクセスをフィルタリングします 文字列
eks:accessScope ユーザーが EKS サービスに対して行う 関連付け/関連付け解除アクセス ポリシーリクエストに存在する accessScope でアクセスをフィルタリングします 文字列
eks:authenticationMode クラスターの作成/更新リクエストに存在する authenticationMode でアクセスをフィルタリングする 文字列
eks:bootstrapClusterCreatorAdminPermissions クラスター作成リクエストに存在する bootstrapClusterCreatorAdminPermissions でアクセスをフィルタリングします Bool
eks:bootstrapSelfManagedAddons クラスター作成リクエストに存在する bootstrapSelfManagedAddons でアクセスをフィルタリングする Bool
eks:clientId ユーザーが EKS サービスに対して行う associateIdentityProviderConfig リクエストに存在する clientId でアクセスをフィルタリングします 文字列
eks:clusterName ユーザーが EKS サービスに対して行うアクセスエントリリクエストに存在するクラスター名でアクセスをフィルタリングします 文字列
eks:issuerUrl ユーザーが EKS サービスに対して行う associateIdentityProviderConfig リクエストに存在する issuerUrl でアクセスをフィルタリングします 文字列
eks:kubernetesGroups ユーザーが EKS サービスに対して行うアクセスエントリリクエストに存在する KubernetesGroups でアクセスをフィルタリングします ArrayOfString
eks:namespaces ユーザーが EKS サービスに対して行う関連付け/関連付け解除アクセスポリシーリクエストに存在する名前空間でアクセスをフィルタリングします ArrayOfString
eks:policyArn ユーザーが EKS サービスに対して行うリクエストに含まれる policyArn でアクセスをフィルタリングします ARN
eks:principalArn ユーザーが EKS サービスに対して行うアクセスエントリリクエストに存在する principaLarn でアクセスをフィルタリングします ARN
eks:supportType クラスターの作成/更新リクエストに存在する supportType でアクセスをフィルタリングする 文字列
eks:username ユーザーが EKS サービスに対して行うアクセスエントリリクエストに存在する Kubernetes ユーザー名でアクセスをフィルタリングします 文字列