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

影響

Cluster Access Manager APIを使用することへの移行は、aws-auth ConfigMapの代わりにEKS RBACとサービスアカウントに影響を与え、アクセス制御管理を簡素化し、誤設定のリスクを減らし、セキュリティを強化します。これにより、IAM権限とKubernetesロールのより詳細で直接的な管理が可能になり、手動でのConfigMap編集を排除し、運用上の負担を軽減します。サービスアカウントにおいては、AWSリソースへの安全なポッドアクセスのためにIAM Roles for Service Accounts (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. The command queries the cluster.accessConfig property, which indicates the authentication mode of the cluster.
可能な出力:
出力に"authenticationmode": "API" or "authenticationmode": "API_AND_CONFIG_MAP"が表示される場合、Cluster Access Manager APIが有効になっていることを意味します。"authenticationmode": "CONFIG_MAP"のみが表示される場合、クラスターは従来のaws-authConfigMapアプローチを使用しています。

修復

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