Amazon Elastic Kubernetes Service で AWS Secrets Manager シークレットを使用する - AWS Secrets Manager

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

Amazon Elastic Kubernetes Service で AWS Secrets Manager シークレットを使用する

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

サービスアカウントの IAM ロール (IRSA) を使用した ASCP

ASCP with IAM Roles for Service Accounts (IRSA) を使用すると、Amazon EKS ポッド内のファイル AWS Secrets Manager として からシークレットをマウントできます。このアプローチは、次の場合に適しています。

  • シークレットを Pod のファイルとしてマウントする必要があります。

  • Amazon EC2 ノードグループで Amazon EKS バージョン 1.17 以降を使用している。

  • JSON 形式のシークレットから特定のキーと値のペアを取得する場合。

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

Pod Identity を使用した ASCP

ASCP with Pod Identity メソッドは、セキュリティを強化し、Amazon EKS のシークレットにアクセスするための設定を簡素化します。このアプローチは、次の場合に役立ちます。

  • ポッドレベルでより詳細にアクセス許可を管理する必要がある。

  • Amazon EKS バージョン 1.24 以降を使用している。

  • パフォーマンスとスケーラビリティを向上させる必要がある。

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

適切なアプローチの選択

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 環境に最適な方法を選択します。