ビュー:
プロファイル適用性: レベル1
Amazon EKSは、EKSクラスター内のアクセス制御の管理を合理化し強化するために、Cluster Access Manager APIを導入しました。この新しいアプローチは、従来のaws-auth ConfigMapよりも、ロールベースアクセス制御 (RBAC) とサービスアカウントの管理に推奨される方法です。
Cluster Access Manager APIを使用する主な利点:
  • Simplified Access Management: クラスターアクセスマネージャAPIは、管理者がAmazon EKS APIを通じて直接アクセスを管理できるようにし、aws-auth ConfigMapを手動で変更する必要をなくします。これにより、運用上の負担が軽減され、設定ミスのリスクが最小化されます。
  • Enhanced Security Controls: このAPIを使用すると、管理者は事前定義されたAWS管理のKubernetes権限 (「アクセスポリシー」として知られる) をIAMプリンシパルに割り当てることができます。これにより、手動でのConfigMap編集と比較して、より安全で監査可能な方法で権限を管理できます。
  • Improved Visibility and Auditing: APIはクラスタアクセス構成の可視性を向上させ、監査やコンプライアンスチェックを容易にします。管理者はEKS APIを通じてアクセスエントリとポリシーを直接リストおよび説明できます。
注意
注意
EKS APIはEKSクラスター作成時にデフォルトで選択されていますが、初期設定時に変更することができます
Amazon EKSで従来のaws-auth ConfigMapの代わりにCluster Access Manager APIを使用する説得力のある理由は、セキュリティ、スケーラビリティ、運用効率、管理の簡素化にあります。
セキュリティの強化とリスクの軽減
  • Direct Management via API: クラスターアクセスマネージャAPIは、ConfigMapを編集するのではなく、EKS APIを通じてRBACおよびIAM権限を直接管理することを可能にします。これにより、aws-auth ConfigMapを手動で変更する際の不注意なエラーのリスクが排除されます。
  • Immutable Access Entries: APIはアクセスエントリが定義されると、それらが厳密に管理されることを保証し、YAMLファイルを編集する際に発生する可能性のある誤った上書きや設定ミスのリスクを軽減します。
  • Fine-Grained Access Control: 新しいAPIを活用することで、以前の方法よりも詳細なレベルでアクセスポリシーを定義できます。これにより、必要な権限のみが付与され、攻撃領域が最小化されます。
運用効率とスケーラビリティ
  • Scalability: ユーザやサービスの数が増えるにつれて、aws-auth ConfigMapを通じたアクセス制御の管理がますます困難になります。新しいAPIは、標準のAWS Identity and Access Management (IAM) ツールを通じてアクセス管理を可能にすることで、よりスケーラブルになります。
  • Reduced Operational Overhead: APIは、ConfigMapの手動更新の必要性を排除し、人為的なエラーのリスクを軽減し、TerraformやCloudFormationのようなInfrastructure as Code (IaC) ツールを通じてアクセスプロビジョニングを自動化することで、アクセス制御の管理を簡素化します。
可視性の向上、監査、コンプライアンス
  • Auditable and Traceable Changes: クラスターアクセスマネージャAPIはAWS CloudTrailと統合されており、アクセス構成に変更を加えた人物を追跡することができます。この可視性のレベルは、SOC 2、GDPR、HIPAAなどのコンプライアンスフレームワークに準拠する必要がある組織にとって重要です。
  • 集中管理: Kubernetesレベルで管理されるaws-authConfigMapとは異なり、新しいAPIはAWS IAMの集中管理および監査機能を活用し、AWS環境全体のアクセス制御を統一的に表示します。
より迅速で安全なアクセスプロビジョニング
  • No More Cluster Downtime: aws-auth ConfigMapのエラーにより、ユーザや管理者がクラスターから誤ってロックアウトされる可能性があり、複雑な復旧プロセスが必要になります。APIベースのアプローチはより堅牢で、誤設定によるダウンタイムのリスクを軽減します。
  • Immediate Effect: APIを介して行われた変更は即座に反映されますが、aws-auth ConfigMapの更新には遅延が発生する場合や、場合によってはコンポーネントの再起動が必要になることがあります。
AWSのベストプラクティスに合わせた将来への対応
  • Native Support in Kubernetes Versions: Kubernetes 1.23から、Cluster Access マネージャAPIは完全にサポートされ、aws-auth ConfigMapメソッドの代替として設計されています。これはAWSのロードマップとEKSのベストプラクティスに沿っており、インフラストラクチャが将来のアップデートと互換性を保つことを保証します。
  • Modern Approach for Pod Identity: IAMロールをサービスアカウント (IRSA) や新しいPod Identity機能と組み合わせることで、APIはポッドに権限を割り当てるためのより動的で安全なモデルをサポートし、最小特権アクセスの実装を容易にします。

影響

Cluster Access Manager APIの使用への移行は、aws-auth ConfigMapの代わりにEKS RBACとサービスアカウントに影響を与え、アクセス制御管理を簡素化し、誤設定のリスクを軽減し、セキュリティを強化します。これにより、IAM権限とKubernetesロールのより詳細で直接的な管理が可能になり、ConfigMapの手動編集を排除し、運用上の負担を軽減します。サービスアカウントにおいては、AWS resourcesへの安全なポッドアクセスのためにIAMロールをサービスアカウント (IRSA) といった既存のメカニズムとより良く統合され、最小特権の原則を容易に適用できます。この移行は、スケーラビリティ、監査、コンプライアンスを改善し、AWSのKubernetesアイデンティティ管理ロードマップに沿った将来性のあるソリューションを提供します。

監査

Amazon EKSクラスターでCluster Access Manager APIがアクティブかどうかを確認するには、次のAWS CLIコマンドを使用できます。
aws eks describe-cluster --name $CLUSTER_NAME --query 
"cluster.accessConfig" --output json 
Replace $CLUSTER_NAME with the name of your EKS cluster.
このコマンドはcluster.accessConfigプロパティを照会し、クラスターの認証モードを示します。
可能な出力:
出力に"authenticationmode": "API"または"authenticationmode": "API_AND_CONFIG_MAP"と表示される場合、Cluster Access Manager APIが有効になっていることを意味します。
"authenticationmode": "CONFIG_MAP"のみが表示される場合、クラスターは従来のaws-auth ConfigMapアプローチをまだ使用しています。

修復

AWSマネジメントコンソールにログインします。
Amazon EKSに移動して、EKSクラスターを選択してください。
アクセス タブに移動し、「アクセス構成セクション」で「アクセスの管理」をクリックします。
クラスターアクセス設定のクラスター認証モードの下。
  • EKS APIをクリックすると、クラスターはEKSアクセスエントリーAPIからのみ認証されたIAMプリンシパルをソースとします。
  • ConfigMapをクリックしてクラスターを変更すると、認証されたIAMプリンシパルはaws-auth ConfigMapからのみソースされます。
注意
注意
クラスター作成時にEKS APIとConfigMapを選択する必要があり、クラスターがプロビジョニングされた後は変更できません。