このページの改善にご協力ください
本ユーザーガイドの改善にご協力いただけませんか? すべてのページの右側のペインにある GitHub リンクで、このページの編集を選択してください。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。
EKS Pod Identity は、クラスター名、名前空間、サービスアカウント名などの属性を含むタグを各ポッドの一時認証情報に添付します。これらのロールセッションタグを使用すると、管理者は一致するタグに基づいて AWS リソースへのアクセスを許可することで、複数のサービスアカウントで機能する単一のロールを作成できます。ロールセッションタグのサポートを追加することで、お客様は同じ IAM ロールと IAM ポリシーを再利用しながら、クラスター間およびクラスター内のワークロード間のセキュリティ境界を厳しくすることができます。
例えば、次のポリシーはオブジェクトが EKS クラスターの名前でタグ付けされた場合に s3:GetObject
アクションを許可します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectTagging"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"s3:ExistingObjectTag/eks-cluster-name": "${aws:PrincipalTag/eks-cluster-name}"
}
}
}
]
}
EKS Pod Identity によって追加されたセッションタグのリスト
次のリストには、Amazon EKS による AssumeRole
リクエストに追加されたタグのすべてのキーが含まれています。これらのタグをポリシーで使用するには、${aws:PrincipalTag/
の後に、例えば ${aws:PrincipalTag/kubernetes-namespace}
などのキーを続けます。
-
eks-cluster-arn
-
eks-cluster-name
-
kubernetes-namespace
-
kubernetes-service-account
-
kubernetes-pod-name
-
kubernetes-pod-uid
アカウント間のコピー
EKS Pod Identity によって追加されるセッションタグはすべて推移的です。タグのキーと値は、ワークロードがロールを別のアカウントに切り替えるために使用するすべての AssumeRole
アクションに渡されます。これらのタグを他のアカウントのポリシーで使用して、クロスアカウントシナリオでのアクセスを制限できます。詳細については、IAM ユーザーガイドの「セッションタグを使用したロールの連鎖」を参照してください。
カスタムタグ
EKS Pod Identity は、実行する AssumeRole
アクションにカスタムタグを追加できません。ただし、IAM ロールに適用するタグは、常に同じ形式 (${aws:PrincipalTag/MyCustomTag}
など、キーが続く ${aws:PrincipalTag/
) で使用できます。
注記
sts:AssumeRole
リクエストによってセッションに追加されたタグは、競合が発生した場合に優先されます。例えば、次のように言います。
-
EKS が顧客ロールを引き継ぐときに Amazon EKS がセッションにキー
eks-cluster-name
と値my-cluster
を追加します。 -
また、値
my-own-cluster
を含む IAM ロールにeks-cluster-name
タグも追加します。
この場合は前者が優先され、eks-cluster-name
タグの値は my-cluster
になります。