Amazon Elastic Kubernetes Service のアクション、リソース、および条件キー
Amazon Elastic Kubernetes Service (サービスプレフィックス: eks
) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。
参照:
-
このサービスを設定する方法について説明します。
-
このサービスで使用可能な API オペレーションのリストを表示します。
-
IAM アクセス許可ポリシーを使用して、このサービスとそのリソースを保護する方法を学びます。
トピック
Amazon Elastic Kubernetes Service で定義されるアクション
IAM ポリシーステートメントの Action
エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。
[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource
要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource
要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。
[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition
要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。
注記
リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。
以下の表の列の詳細については、「アクションテーブル」を参照してください。
アクション | 説明 | アクセスレベル | リソースタイプ (* 必須) | 条件キー | 依存アクション |
---|---|---|---|---|---|
AccessKubernetesApi [アクセス許可のみ] | AWS EKS コンソール経由で Kubernetes オブジェクトを表示するアクセス許可を付与 | 読み取り | |||
AssociateAccessPolicy | Amazon EKS アクセスポリシーを Amazon EKS アクセスエントリに関連付ける許可を付与 | 書き込み | |||
AssociateEncryptionConfig | クラスターに暗号化設定を関連付けるアクセス許可を付与 | 書き込み | |||
AssociateIdentityProviderConfig | クラスターに ID プロバイダー設定を関連付けるアクセス許可を付与 | 書き込み | |||
CreateAccessEntry | Amazon EKS アクセスエントリを作成する許可を付与 | 書き込み | |||
CreateAddon | Amazon EKS アドオンを作成するアクセス許可を付与 | 書き込み | |||
CreateCluster | Amazon EKS クラスターを作成するアクセス許可を付与 | 書き込み |
eks:bootstrapClusterCreatorAdminPermissions |
||
CreateEksAnywhereSubscription | EKS Anywhere サブスクリプションを作成する許可を付与 | 書き込み | |||
CreateFargateProfile | AWS Fargate プロファイルを作成するアクセス許可を付与 | 書き込み | |||
CreateNodegroup | Amazon EKS ノードグループを作成するアクセス許可を付与 | 書き込み | |||
CreatePodIdentityAssociation | EKS Pod Identity の関連付けを作成するためのアクセス許可を付与 | 書き込み | |||
DeleteAccessEntry | Amazon EKS アクセスエントリを削除する許可を付与 | 書き込み | |||
DeleteAddon | Amazon EKS アドオンを削除するアクセス許可を付与 | 書き込み | |||
DeleteCluster | Amazon EKS クラスターを削除するアクセス許可を付与 | 書き込み | |||
DeleteEksAnywhereSubscription | EKS Anywhere サブスクリプションを記述する許可を付与 | 書き込み | |||
DeleteFargateProfile | AWS Fargate プロファイルを削除するアクセス許可を付与 | 書き込み | |||
DeleteNodegroup | Amazon EKS ノードグループを削除するアクセス許可を付与 | 書き込み | |||
DeletePodIdentityAssociation | EKS Pod Identity の関連付けを削除するためのアクセス許可を付与 | 書き込み | |||
DeregisterCluster | 外部クラスターの登録を解除する許可を付与 | 書き込み | |||
DescribeAccessEntry | Amazon EKS アクセスエントリを記述する許可を付与 | 読み取り | |||
DescribeAddon | Amazon EKS アドオンに関する説明情報を取得するアクセス許可を付与 | 読み取り | |||
DescribeAddonConfiguration | Amazon EKS アドオンに関する設定オプションを一覧表示するための許可を付与します | 読み取り | |||
DescribeAddonVersions | Amazon EKS アドオンがサポートしているアドオンに関する説明的なバージョン情報を取得するアクセス許可を付与 | 読み込み | |||
DescribeCluster | Amazon EKS クラスターに関する説明情報を取得するアクセス許可を付与 | 読み取り | |||
DescribeEksAnywhereSubscription | EKS Anywhere サブスクリプションを記述する許可を付与 | 読み取り | |||
DescribeFargateProfile | クラスターに関連付けられている AWS Fargate プロファイルの詳細情報を取得するアクセス許可を付与 | 読み込み | |||
DescribeIdentityProviderConfig | クラスターに関連付けられた Idp 設定に関する説明情報を取得するアクセス許可を付与 | 読み取り | |||
DescribeInsight | 指定したクラスターで検出されたインサイトの説明情報を取得する許可を付与 | 読み取り | |||
DescribeNodegroup | Amazon EKS ノードグループに関する説明情報を取得するアクセス許可を付与 | 読み取り | |||
DescribePodIdentityAssociation | EKS Pod Identity の関連付けを記述するためのアクセス許可を付与 | 読み取り | |||
DescribeUpdate | (指定されたリージョンまたはデフォルトリージョンにある) 特定の Amazon EKS クラスター/ノードグループ/アドオンの特定の更新を取得するアクセス許可を付与 | 読み取り | |||
DisassociateAccessPolicy | Amazon EKS アクセスエントリから Amazon EKS アクセスポリシーを関連付け解除する許可を付与 | 書き込み | |||
DisassociateIdentityProviderConfig | 関連付けられた Idp 設定を削除するアクセス許可を付与 | 書き込み | |||
ListAccessEntries | すべての Amazon EKS アクセスエントリを一覧表示する許可を付与 | リスト | |||
ListAccessPolicies | Amazon EKS アクセスポリシーを一覧表示する許可を付与 | リスト | |||
ListAddons | 特定のクラスターの (指定されたリージョンまたはデフォルトリージョンにある) AWS アカウント の Amazon EKS アドオンを一覧表示するアクセス許可を付与 | リスト | |||
ListAssociatedAccessPolicies | Amazon EKS アクセスエントリに関連するアクセスポリシーを一覧表示する許可を付与 | リスト | |||
ListClusters | (指定されたリージョンまたはデフォルトリージョンにある) AWS アカウント の Amazon EKS クラスターを一覧表示するアクセス許可を付与 | リスト | |||
ListEksAnywhereSubscriptions | EKS Anywhere サブスクリプションを一覧表示する許可を付与 | リスト | |||
ListFargateProfiles | 特定のクラスターに関連付けられている (指定されたリージョンまたはデフォルトリージョンにある) AWS アカウント の AWS Fargate プロファイルを一覧表示するアクセス許可を付与 | リスト | |||
ListIdentityProviderConfigs | 特定のクラスターに関連付けられた (指定されたリージョンまたはデフォルトリージョンにある) AWS アカウント の Idp 設定を一覧表示するアクセス許可を付与 | リスト | |||
ListInsights | 指定したクラスターで検出されたすべてのインサイトのリストを取得する許可を付与 | リスト | |||
ListNodegroups | 特定のクラスターにアタッチされた (指定されたリージョンまたはデフォルトリージョンにある) AWS アカウント の Amazon EKS ノードグループを一覧表示するアクセス許可を付与 | リスト | |||
ListPodIdentityAssociations | EKS Pod Identity の関連付けを一覧表示するためのアクセス許可を付与 | リスト | |||
ListTagsForResource | 指定されたリソースのタグを一覧表示する許可を付与 | 読み込み | |||
ListUpdates | (指定されたリージョンまたはデフォルトリージョンにある) 特定の Amazon EKS クラスター/ノードグループの更新を一覧表示するアクセス許可を付与 | リスト | |||
RegisterCluster | 外部クラスターを登録する許可を付与 | 書き込み | |||
TagResource | 指定されたリソースにタグを付けるアクセス許可を付与 | タグ付け | |||
UntagResource | 指定されたリソースのタグを解除するアクセス許可を付与 | タグ付け | |||
UpdateAccessEntry | Amazon EKS アクセスエントリを更新する許可を付与 | 書き込み | |||
UpdateAddon | Amazon EKS アドオン設定 (VPC CNI バージョンなど) を更新するアクセス許可を付与 | 書き込み | |||
UpdateClusterConfig | Amazon EKS クラスター設定 (API サーバーエンドポイントアクセスなど) を更新するアクセス許可を付与 | 書き込み | |||
UpdateClusterVersion | Amazon EKS クラスターの Kubernetes バージョンを更新するアクセス許可を付与 | 書き込み | |||
UpdateEksAnywhereSubscription | EKS Anywhere サブスクリプションを更新する許可を付与 | 書き込み | |||
UpdateNodegroupConfig | Amazon EKS ノードグループ設定を更新するアクセス許可を付与 (例: 最小/最大/希望する容量またはラベル) | 書き込み | |||
UpdateNodegroupVersion | Amazon EKS ノードグループの Kubernetes バージョンを更新するアクセス許可を付与 | 書き込み | |||
UpdatePodIdentityAssociation | EKS Pod Identity の関連付けを更新するためのアクセス許可を付与 | 書き込み |
Amazon Elastic Kubernetes Service で定義されるリソースタイプ
以下のリソースタイプは、このサービスによって定義され、IAM アクセス許可ポリシーステートメントの Resource
エレメントで使用できます。アクションテーブルの各アクションは、そのアクションで指定できるリソースタイプを示しています。リソースタイプは、ポリシーに含めることができる条件キーを定義することもできます。これらのキーは、[リソースタイプ] テーブルの最後の列に表示されます。以下の表の列の詳細については、「リソースタイプテーブル」を参照してください。
リソースタイプ | ARN | 条件キー |
---|---|---|
cluster |
arn:${Partition}:eks:${Region}:${Account}:cluster/${ClusterName}
|
|
nodegroup |
arn:${Partition}:eks:${Region}:${Account}:nodegroup/${ClusterName}/${NodegroupName}/${UUID}
|
|
addon |
arn:${Partition}:eks:${Region}:${Account}:addon/${ClusterName}/${AddonName}/${UUID}
|
|
fargateprofile |
arn:${Partition}:eks:${Region}:${Account}:fargateprofile/${ClusterName}/${FargateProfileName}/${UUID}
|
|
identityproviderconfig |
arn:${Partition}:eks:${Region}:${Account}:identityproviderconfig/${ClusterName}/${IdentityProviderType}/${IdentityProviderConfigName}/${UUID}
|
|
eks-anywhere-subscription |
arn:${Partition}:eks:${Region}:${Account}:eks-anywhere-subscription/${UUID}
|
|
podidentityassociation |
arn:${Partition}:eks:${Region}:${Account}:podidentityassociation/${ClusterName}/${UUID}
|
|
access-entry |
arn:${Partition}:eks:${Region}:${Account}:access-entry/${ClusterName}/${IamIdentityType}/${IamIdentityAccountID}/${IamIdentityName}/${UUID}
|
|
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 ユーザー名でアクセスをフィルタリングします | 文字列 |