

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Elastic Kubernetes Service で AWS Secrets Manager シークレットを使用する
<a name="integrate_eks"></a>

 AWS Secrets Manager (ASCP) からのシークレットを Amazon EKS Pod にマウントされたファイルとして表示するには、Kubernetes AWS Secrets Store CSI ドライバーの Secrets and Configuration Provider を使用できます。ASCP は、Amazon EC2 ノードグループ.node グループを実行する Amazon Elastic Kubernetes Service 1.17\+ ではサポートされていません。 AWS Fargate ASCP を使用すると、秘密マネジャー でシークレットを保存および管理し、Amazon EKS で実行されているワークロードからシークレットを取得できます。シークレットに JSON 形式の複数のキー/値ペアが含まれている場合は、Amazon EKS にマウントするキー/値ペアを選択できます。ASCP は JMESPath 構文を使用して、シークレット内のキーと値のペアをクエリします。ASCP はパラメータストアパラメータを使用しても動作します。ASCP には、Amazon EKS による 2 つの認証方法が用意されています。最初のアプローチでは、サービスアカウントの IAM ロール (IRSA) を使用します。2 番目のアプローチでは、Pod Identity を使用します。各アプローチにはそれぞれの利点とユースケースがあります。

## サービスアカウントの IAM ロール (IRSA) を使用した ASCP
<a name="csi_driver_overview"></a>

ASCP with IAM Roles for Service Accounts (IRSA) を使用すると、Amazon EKS Pod のファイル AWS Secrets Manager として からシークレットをマウントできます。このアプローチは、次の場合に適しています。
+ シークレットをポッドのファイルとしてマウントする必要がある。
+ Amazon EC2 ノードグループで Amazon EKS バージョン 1.17 以降を使用している。
+ JSON 形式のシークレットから特定のキーと値のペアを取得する。

詳細については、「[サービスアカウント (IRSA) の IAM ロールで AWS シークレットと設定プロバイダー CSI を使用する](integrating_ascp_irsa.md)」を参照してください。

## Pod Identity を使用した ASCP
<a name="pod_identity_overview"></a>

Pod Identity を使用した ASCP の方法では、セキュリティが強化され、Amazon EKS のシークレットにアクセスするための設定が簡素化されます。このアプローチは、次の場合に役立ちます。
+ ポッドレベルでより詳細にアクセス許可を管理する必要がある。
+ Amazon EKS バージョン 1.24 以降を使用している。
+ パフォーマンスとスケーラビリティを向上させる必要がある。

詳細については、「[Amazon EKS の Pod Identity で AWS シークレットと設定プロバイダー CSI を使用する](ascp-pod-identity-integration.md)」を参照してください。

## 適切なアプローチの選択
<a name="comparison"></a>

IRSA を使用した ASCP と Pod Identity を使用した ASCP のどちらを選択するかを決めるときは、次の要素を考慮します。
+ Amazon EKSversion: Pod Identity には Amazon EKS 1.24 以降が必要ですが、CSI ドライバーは Amazon EKS 1.17 以降で動作します。
+ セキュリティ要件: Pod Identity は、ポッドレベルでのより詳細な制御を提供します。
+ パフォーマンス: 通常、大規模な環境では Pod Identity の方がパフォーマンスが向上します。
+ 複雑さ: Pod Identity には個別のサービスアカウントが必要ないため、設定が簡素化されます。

特定の要件と Amazon EKS 環境に最適な方法を選択します。