Azure Kubernetes Serviceの Azure セキュリティ ベースライン (AKS)

このセキュリティ ベースラインは、Microsoft クラウド セキュリティ ベンチマーク バージョン 1.0 のガイダンスを Azure Kubernetes Service (AKS) に適用します。 Microsoft クラウド セキュリティ ベンチマークでは、Azure 上のクラウド ソリューションをセキュリティで保護する方法に関する推奨事項が提供されます。 コンテンツは、Microsoft クラウド セキュリティ ベンチマークで定義されているセキュリティ コントロールと、Azure Kubernetes Service (AKS) に適用される関連ガイダンスによってグループ化されます。

このセキュリティ ベースラインとその推奨事項は、Microsoft Defender for Cloud を使用して監視できます。 Azure Policy定義は、[クラウド ポータルのMicrosoft Defender] ページの [規制コンプライアンス] セクションに一覧表示されます。

機能に関連するAzure Policy定義がある場合は、Microsoft クラウド セキュリティ ベンチマークの制御と推奨事項への準拠を測定するのに役立つ、このベースラインに一覧表示されます。 一部の推奨事項では、特定のセキュリティ シナリオを有効にするために有料Microsoft Defenderプランが必要になる場合があります。

注意

Azure Kubernetes Service (AKS) に適用されない機能は除外されています。 Azure Kubernetes Service (AKS) が Microsoft クラウド セキュリティ ベンチマークに完全にマップされる方法については、完全なAzure Kubernetes Service (AKS) セキュリティ ベースライン マッピング ファイルを参照してください。

セキュリティ プロファイル

セキュリティ プロファイルは、Azure Kubernetes Service (AKS) の影響の大きい動作をまとめたものです。これにより、セキュリティに関する考慮事項が高まる可能性があります。

サービス動作属性
製品カテゴリ コンテナー
お客様は HOST/OS にアクセスできます アクセス権なし
サービスは顧客の仮想ネットワークにデプロイできます True
顧客のコンテンツを保存する True

ネットワークのセキュリティ

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: ネットワーク セキュリティ」を参照してください。

NS-1: ネットワーク セグメント化の境界を確立する

機能

Virtual Network 統合

説明: サービスは、顧客のプライベート Virtual Network (VNet) へのデプロイをサポートします。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True True Microsoft

構成ガイダンス: 既定のデプロイでこれが有効になっているので、追加の構成は必要ありません。

リファレンス: Azure Kubernetes Service (AKS) で独自の IP アドレス範囲で kubenet ネットワークを使用する

ネットワーク セキュリティ グループのサポート

説明: サービス ネットワーク トラフィックは、サブネット上のネットワーク セキュリティ グループルールの割り当てを尊重します。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True True Microsoft

構成ガイダンス: 既定のデプロイでこれが有効になっているので、追加の構成は必要ありません。

リファレンス: ネットワーク セキュリティ グループ

NS-2: ネットワーク制御を使用してクラウド サービスをセキュリティで保護する

機能

説明: ネットワーク トラフィックをフィルター処理するためのサービス ネイティブ IP フィルタリング機能 (NSG やAzure Firewallと混同しないように)。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Private Link機能をサポートするすべての Azure リソースのプライベート エンドポイントをデプロイして、リソースのプライベート アクセス ポイントを確立します。

リファレンス: プライベート Azure Kubernetes Service クラスターを作成する

パブリック ネットワーク アクセスの無効化

説明: サービスでは、サービス レベルの IP ACL フィルター規則 (NSG またはAzure Firewallではなく) または [パブリック ネットワーク アクセスの無効化] トグル スイッチを使用して、パブリック ネットワーク アクセスを無効にできます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Azure CLI を使用して、プライベート Azure Kubernetes Service クラスターでパブリック FQDN を無効にします。

リファレンス: プライベート Azure Kubernetes Service クラスターを作成する

Microsoft Defender for Cloud による監視

Azure Policy 組み込み定義 - Microsoft.ContainerService:

名前
(Azure portal)
説明 効果 Version
(GitHub)
Kubernetes Services では、許可する IP の範囲を定義する必要があります Kubernetes Service Management API へのアクセスは、特定の範囲の IP にのみ API アクセスに許可して制限する必要があります。 許可されたネットワークのアプリケーションのみがクラスターにアクセスできるよう、許可する IP 範囲にアクセスを制限することをお勧めします。 Audit、Disabled 2.0.1

ID 管理

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: ID 管理」を参照してください。

IM-1: 一元的な ID および認証システムを使用する

機能

データ プレーン アクセスに必要な Azure AD Authentication

説明: サービスでは、データ プレーン アクセスに Azure AD 認証を使用できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: データ プレーンアクセスを制御するための既定の認証方法として Azure Active Directory (Azure AD) を使用します。

リファレンス: AKS で管理される Azure Active Directory 統合

データ プレーン アクセスのローカル認証方法

説明: ローカルユーザー名やパスワードなど、データ プレーンアクセスでサポートされるローカル認証方法。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

機能に関するメモ: ローカル認証方法またはアカウントの使用は避けてください。これらは可能な限り無効にする必要があります。 代わりに、可能な場合は Azure AD を使用して認証します。

構成ガイダンス: Kubernetes ロールベースのアクセス制御 (Kubernetes RBAC) を使用するか、Azure Active Directory と Azure RBAC を使用して、Kubernetes クラスターへのアクセスを認証、承認、セキュリティで保護、制御できます。

リファレンス: Azure Kubernetes Service (AKS) のアクセスと ID のオプション

IM-3: アプリケーション ID を安全かつ自動的に管理する

機能

マネージド ID

説明: データ プレーン アクションでは、マネージド ID を使用した認証がサポートされます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True True Microsoft

機能に関するメモ: 既定では、AKS クラスターを作成すると、システム割り当てマネージド ID が自動的に作成されます。 デプロイに Azure CLI を使用せず、独自の VNet、アタッチされた Azure ディスク、静的 IP アドレス、ルート テーブル、またはワーカー ノード リソース グループの外部にあるユーザー割り当て kubelet ID を使用する場合は、ユーザー割り当てコントロール プレーン ID を使用することをお勧めします。

構成ガイダンス: 既定のデプロイでこれが有効になっているので、追加の構成は必要ありません。

リファレンス: Azure Kubernetes Serviceでマネージド ID を使用する

サービス プリンシパル

説明: データ プレーンでは、サービス プリンシパルを使用した認証がサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: この機能の構成に関する現在の Microsoft ガイダンスはありません。 organizationがこのセキュリティ機能を構成するかどうかを確認して確認してください。

リファレンス: サービス プリンシパルを作成する

IM-7: 条件に基づいてリソースへのアクセスを制限する

機能

データ プレーンへの条件付きアクセス

説明: データ プレーンアクセスは、Azure AD 条件付きアクセス ポリシーを使用して制御できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: ワークロード内の Azure Active Directory (Azure AD) 条件付きアクセスに適用できる条件と条件を定義します。 特定の場所からのアクセスのブロックや許可、危険なサインイン動作のブロック、特定のアプリケーションに対するorganizationマネージド デバイスの要求など、一般的なユース ケースを検討してください。

リファレンス: Azure AD と AKS で条件付きアクセスを使用する

IM-8: 資格情報とシークレットの公開を制限する

機能

Azure Key Vault での、サービス資格情報とシークレットの統合とストレージのサポート

説明: データ プレーンでは、資格情報とシークレット ストアに対する Azure Key Vaultのネイティブな使用がサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: シークレットと資格情報は、コードファイルや構成ファイルに埋め込むのではなく、Azure Key Vaultなどのセキュリティで保護された場所に格納されていることを確認します。

リファレンス: CSI シークレット ストア

特権アクセス

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: 特権アクセス」を参照してください。

PA-1: 高い特権を持つ/管理者ユーザーを分離して制限する

機能

ローカル 管理 アカウント

説明: サービスには、ローカル管理アカウントの概念があります。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

機能に関するメモ: ローカル認証方法またはアカウントの使用は避けてください。これらは可能な限り無効にする必要があります。 代わりに、可能な場合は Azure AD を使用して認証します。

構成ガイダンス: Kubernetes ロールベースのアクセス制御 (Kubernetes RBAC) を使用するか、Azure Active Directory と Azure RBAC を使用して、Kubernetes クラスターへのアクセスを認証、承認、セキュリティで保護、制御できます。

日常的な管理操作に必要ない場合は、緊急使用専用のローカル管理者アカウントを無効または制限します。

リファレンス: Azure Kubernetes Service (AKS) のアクセスと ID のオプション

PA-7: Just Enough Administration (最小限の特権の原則) に従う

機能

Azure RBAC for Data Plane

説明: Azure Role-Based Access Control (Azure RBAC) を使用して、サービスのデータ プレーン アクションへのアクセスを管理できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: 組み込みのロールの割り当てを使用して Azure リソース アクセスを管理するには、Azure ロールベースのアクセス制御 (Azure RBAC) を使用します。 Azure RBAC ロールは、ユーザー、グループ、サービス プリンシパル、マネージド ID に割り当てることができます。

リファレンス: Kubernetes 承認に Azure RBAC を使用する

Microsoft Defender for Cloud による監視

Azure Policy 組み込み定義 - Microsoft.ContainerService:

名前
(Azure portal)
説明 効果 Version
(GitHub)
Kubernetes Services では Azure ロールベースのアクセス制御 (RBAC) を使用する必要がある ユーザーが実行できるアクションについてきめ細かくフィルター処理できるようにするには、Azure ロールベースのアクセス制御 (RBAC) を使って Kubernetes Service クラスターでのアクセス許可を管理し、関連する承認ポリシーを構成します。 Audit、Disabled 1.0.3

PA-8: クラウド プロバイダー サポートのアクセス プロセスを決定する

機能

カスタマー ロックボックス

説明: カスタマー ロックボックスは、Microsoft サポート へのアクセスに使用できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Microsoft がデータにアクセスする必要があるサポート シナリオでは、カスタマー ロックボックスを使用して確認し、各 Microsoft のデータ アクセス要求を承認または拒否します。

リファレンス: Microsoft Azure のカスタマー ロックボックス

データの保護

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: データ保護」を参照してください。

DP-1:機密データを検出、分類、ラベル付けする

機能

機密データの検出と分類

説明: ツール (Azure Purview や Azure Information Protection など) は、サービスでのデータの検出と分類に使用できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
False 適用しない 適用しない

構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。

DP-2: 機密データをターゲットにした異常と脅威を監視する

機能

データ漏えい/損失防止

説明: サービスでは、(顧客のコンテンツ内の) 機密データの移動を監視するための DLP ソリューションがサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: データ損失防止 (DLP) のコンプライアンスに必要な場合は、Azure Marketplaceのホスト ベースの DLP ソリューションまたは Microsoft 365 DLP ソリューションを使用して、データ流出を防ぐために検出や予防の制御を適用できます。

リファレンス: コンテナーのMicrosoft Defenderを有効にする

DP-3: 転送中の機密データの暗号化

機能

転送中データの暗号化

説明: サービスでは、データ プレーンの転送中のデータ暗号化がサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: 転送中のネイティブ データ暗号化機能が組み込まれているサービスでセキュリティで保護された転送を有効にします。 任意の Web アプリケーションとサービスに HTTPS を適用し、TLS v1.2 以降が使用されていることを確認します。 SSL 3.0、TLS v1.0 などのレガシ バージョンは無効にする必要があります。 Virtual Machinesのリモート管理には、暗号化されていないプロトコルではなく SSH (Linux の場合) または RDP/TLS (Windows の場合) を使用します。

リファレンス: Azure Kubernetes Service (AKS) でイングレス コントローラーで TLS を使用する

Microsoft Defender for Cloud による監視

Azure Policy 組み込み定義 - Microsoft.ContainerService:

名前
(Azure portal)
説明 効果 Version
(GitHub)
Kubernetes クラスターは HTTPS 経由でのみアクセス可能である必要がある HTTPS を使用すると、認証が確実に実行され、転送中のデータがネットワーク層の傍受攻撃から保護されます。 この機能は、Kubernetes Service (AKS)、および Azure Arc 対応 Kubernetes のプレビューで現在一般提供されています。 詳細については、https://aka.ms/kubepolicydoc を参照してください。 audit、Audit、deny、Deny、disabled、Disabled 8.1.0

DP-4: 保存データ暗号化を既定で有効にする

機能

プラットフォーム キーを使用した保存データの暗号化

説明: プラットフォーム キーを使用した保存データの暗号化がサポートされており、保存中のすべての顧客コンテンツは、これらの Microsoft マネージド キーで暗号化されます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

機能ノート: ホストベースの暗号化は、Azure Storage で使用されるサーバー側暗号化 (SSE) とは異なります。 Azure マネージド ディスクでは、Azure Storage を使用してデータの保存時に保存データを自動的に暗号化します。 ホスト ベースの暗号化では、VM のホストを使用して、データが Azure Storage を通過する前に暗号化を処理します。

構成ガイダンス: サービスによって自動的に構成されていないプラットフォームマネージド (Microsoft マネージド) キーを使用して、保存データの暗号化を有効にします。

リファレンス: Azure Kubernetes Serviceでのホストベースの暗号化 (AKS)

DP-5: 必要に応じて保存データ暗号化でカスタマー マネージド キー オプションを使用する

機能

CMK を使用した保存データの暗号化

説明: カスタマー マネージド キーを使用した保存データの暗号化は、サービスによって格納される顧客コンテンツでサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: 規制コンプライアンスに必要な場合は、カスタマー マネージド キーを使用した暗号化が必要なユース ケースとサービス スコープを定義します。 それらのサービスでカスタマー マネージド キーを使って、保存データ暗号化を有効にして実装します。

リファレンス: Azure Kubernetes Service (AKS) でのホストベースの暗号化

DP-6: セキュア キー管理プロセスの使用

機能

Azure Key Vault でのキー管理

説明: このサービスでは、カスタマー キー、シークレット、または証明書に対する Azure Key Vault統合がサポートされています。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Azure Key Vaultを使用して、キーの生成、配布、ストレージなど、暗号化キーのライフ サイクルを作成および制御します。 定義されたスケジュールに基づいて、またはキーの廃止や侵害が発生した場合に、Azure Key Vault とサービスのキーをローテーションして取り消します。 ワークロード、サービス、またはアプリケーション レベルでカスタマー マネージド キー (CMK) を使用する必要がある場合は、キー管理のベスト プラクティスに従ってください。キー階層を使用して、キー コンテナーにキー暗号化キー (KEK) を使用して別のデータ暗号化キー (DEK) を生成します。 キーが Azure Key Vaultに登録され、サービスまたはアプリケーションのキー ID を介して参照されていることを確認します。 独自のキー (BYOK) をサービスに持ち込む必要がある場合 (オンプレミスの HSM から Azure Key Vaultに HSM で保護されたキーをインポートする場合など)、初期キーの生成とキー転送を実行するための推奨ガイドラインに従ってください。

リファレンス: Azure Kubernetes Service (AKS) でのホストベースの暗号化

DP-7: セキュリティで保護された証明書管理プロセスを使用する

機能

Azure Key Vault での証明書管理

説明: このサービスでは、顧客証明書に対する Azure Key Vault統合がサポートされます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Azure Key Vaultを使用して、証明書の作成、インポート、ローテーション、失効、ストレージ、消去など、証明書のライフサイクルを作成および制御します。 キー サイズが不十分、有効期間が長い、安全でない暗号化など、セキュリティで保護されていないプロパティを使用せずに、証明書の生成が定義された標準に従っていることを確認します。 定義されたスケジュールまたは証明書の有効期限に基づいて、Azure Key Vault と Azure サービス (サポートされている場合) で証明書の自動ローテーションを設定します。 アプリケーションで自動ローテーションがサポートされていない場合は、Azure Key Vault とアプリケーションで手動の方法を使用してローテーションされていることを確認します。

リファレンス: シークレット ストア CSI ドライバーで独自の証明書で TLS を使用する

アセット管理

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: 資産管理」を参照してください。

AM-2: 承認済みのサービスのみを使用する

機能

Azure Policy のサポート

説明: サービス構成は、Azure Policy経由で監視および適用できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Microsoft Defender for Cloud を使用して、Azure リソースの構成を監査および適用するAzure Policyを構成します。 Azure Monitor を使用し、リソースで構成の逸脱が検出されたときにアラートを作成します。 [deny] と [deploy if not exists] 効果Azure Policy使用して、Azure リソース全体でセキュリティで保護された構成を適用します。

リファレンス: AKS 組み込みAzure Policy

ログと脅威検出

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: ログ記録と脅威検出」を参照してください。

LT-1: 脅威検出機能を有効にする

機能

サービス/製品のオファリングのための Microsoft Defender

説明: サービスには、セキュリティの問題を監視およびアラートするためのオファリング固有のMicrosoft Defender ソリューションがあります。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Microsoft Defender for Containers は、クラスター、コンテナー、およびそれらのアプリケーションのセキュリティを向上、監視、維持できるように、コンテナーをセキュリティで保護するために使用されるクラウドネイティブ ソリューションです。

リファレンス: コンテナーのMicrosoft Defenderを有効にする

Microsoft Defender for Cloud による監視

Azure Policy 組み込み定義 - Microsoft.ContainerService:

名前
(Azure portal)
説明 効果 Version
(GitHub)
Azure Kubernetes Service クラスターで Defender プロファイルを有効にする必要がある Microsoft Defender for Containers では、環境のセキュリティ強化、ワークロード保護、ランタイム保護など、クラウドネイティブの Kubernetes セキュリティ機能が提供されます。 Azure Kubernetes Service クラスターで SecurityProfile.AzureDefender を有効にすると、セキュリティ イベント データを収集するために、エージェントがクラスターにデプロイされます。 https://docs.microsoft.com/azure/defender-for-cloud/defender-for-containers-introduction?tabs=defender-for-container-arch-aks の Microsoft Defender for Containers の詳細 Audit、Disabled 2.0.1

LT-4: セキュリティ調査のためのログを有効にする

機能

Azure リソース ログ

説明: サービスは、サービス固有のメトリックとログ記録を強化できるリソース ログを生成します。 お客様はこれらのリソース ログを構成し、ストレージ アカウントやログ分析ワークスペースなどの独自のデータ シンクに送信できます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: サービスのリソース ログを有効にします。 たとえば、Key Vaultでは、キー コンテナーからシークレットを取得するアクションや、データベースへの要求を追跡するリソース ログAzure SQLに対する追加のリソース ログがサポートされています。 リソース ログの内容は、Azure サービスとリソースの種類によって異なります。

リファレンス: リソース ログを収集する

体制と脆弱性の管理

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: 体制と脆弱性管理」を参照してください。

PV-3: コンピューティング リソースにセキュリティで保護された構成を確立する

機能

カスタム コンテナー イメージ

Desription: サービスでは、特定のベースライン構成が事前に適用された、ユーザー指定のコンテナー イメージまたはマーケットプレースからの事前構築済みイメージの使用がサポートされています。 詳細情報

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Azure Kubernetes Service (AKS) でAzure Container Registry (ACR) を使用する場合は、認証メカニズムを確立する必要があります。 ACR と AKS の間で必要なアクセス許可を構成するには、Azure CLI、Azure PowerShell、Azure portal を使用します。 AKS から ACR の統合により、AKS クラスター内のエージェント プールに関連付けられている Azure Active Directory (Azure AD) マネージド ID に AcrPull ロールが割り当てられます。

リファレンス: Azure Container Registryを Azure Kubernetes Service と統合する - Azure Kubernetes Service

PV-5: 脆弱性評価を実行する

機能

Microsoft Defenderを使用した脆弱性評価

Desription: Service can can scanned for vulnerability scan using Microsoft Defender for Cloud or other Microsoft Defender services embedded vulnerability assessment capability (サーバー、コンテナー レジストリ、App Service、SQL、DNS のMicrosoft Defenderを含む)。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: 既定では、Azure portalを使用してプランを有効にする場合、コンテナーのMicrosoft Defenderは、既定のワークスペースの割り当てを含め、プランによって提供される保護を提供するために必要なコンポーネントを自動的にインストールするように構成されます。

リファレンス: Azure Kubernetes Serviceの脆弱性管理 - Azure Kubernetes Service

バックアップと回復

詳細については、「 Microsoft クラウド セキュリティ ベンチマーク: バックアップと回復」を参照してください。

BR-1:定期的な自動バックアップを保証する

機能

Azure Backup

説明: サービスは、Azure Backup サービスによってバックアップできます。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
True False Customer

構成ガイダンス: Azure Backupを有効にし、必要な頻度で必要な保持期間でバックアップ ソース (Azure Virtual Machines、SQL Server、HANA データベース、ファイル共有など) を構成します。 Azure Virtual Machinesでは、Azure Policyを使用して自動バックアップを有効にすることができます。

リファレンス: Azure Backupを使用してAzure Kubernetes Serviceをバックアップする

サービス ネイティブ バックアップ機能

説明: サービスでは、独自のネイティブ バックアップ機能がサポートされます (Azure Backupを使用していない場合)。 詳細については、こちらを参照してください

サポートされています 既定で有効 構成の責任
False 適用しない 適用しない

構成ガイダンス: この機能は、このサービスをセキュリティで保護するためにサポートされていません。

次の手順