すべてのプロダクト
Search
ドキュメントセンター

Key Management Service:KMS を使用した Kubernetes Secret の保管時の暗号化

最終更新日:Apr 10, 2026

Container Service for Kubernetes (ACK) では、Key Management Service (KMS) のカスタマーマスターキー (CMK) を使用して、Kubernetes Secret の保管時の暗号化を有効にできます。この機能により、簡単な構成でクラスターの機密データを保護できます。

利用シーン

Kubernetes は、さまざまなプロダクト、サービス、モジュール間の通信に必要な機密情報を管理します。この情報には、パスワード、証明書、認証情報、アクセスキーなどが含まれます。Kubernetes は Secret オブジェクトを使用して、クラスターシステムとそのアプリケーションの機密データを保存および管理します。これらの Secret は、クラスターの etcd に保存され、複製されます。

たとえば、ワークロードがない新規 Kubernetes クラスターでも、約 50 のデフォルトの Secret が含まれています。これらの Secret のいずれかが漏洩すると、クラスター、アプリケーション、およびビジネス運用に重大なリスクをもたらします。したがって、クラスターに保存されている認証情報を潜在的なセキュリティ脅威から保護することが重要です。

仕組み

ACK Pro マネージドクラスターでは、KMS で作成されたカスタマーマスターキー (CMK) を使用して Kubernetes Secret を暗号化できます。この暗号化プロセスは、Kubernetes の KMS 暗号化プロバイダーメカニズム に基づいており、エンベロープ暗暗号化を使用して etcd に保存されている Kubernetes Secret キーを自動的に暗号化および復号します。エンベロープ暗号化の詳細については、「KMS のエンベロープ暗号化を使用してローカルでデータを暗号化および復号する」をご参照ください。Kubernetes Secret キーの暗号化と復号のプロセスは次のとおりです:

  • Kubernetes API を使用して Secret を保存すると、API サーバーはまずランダムに生成されたデータキーでデータを暗号化します。次に、API サーバーは、指定された KMS の CMK でこのデータキーを暗号化し、etcd に保存される暗号化されたデータキーを作成します。

  • Secret を取得すると、API サーバーは KMS の Decrypt API を呼び出して、暗号化されたデータキーを復号します。次に、API サーバーは結果のプレーンテキストキーを使用して Secret データを復号し、クライアントに返します。

前提条件

  • ご利用の Kubernetes クラスターを管理するために使用する Alibaba Cloud アカウントには、AliyunCSManagedSecurityRole ロールが必要です。このロールが付与されていない場合、新規または既存の ACK Pro クラスターで保管時の暗号化を有効にするときに、ロールを付与するように求められます。

  • RAM ユーザーとしてログインする場合は、その RAM ユーザーに AliyunKMSCryptoAdminAccess 権限があることを確認してください。詳細については、「RAM ユーザーの権限管理」をご参照ください。

  • KMS コンソールでカスタマーマスターキー (CMK) を作成済みであることを確認してください。詳細については、「キーの作成」をご参照ください。

    説明

    Aliyun_AES_256 タイプの CMK のみがサポートされています。

新規クラスターでの Secret 暗号化の有効化

  1. コンテナサービス管理コンソールにログインします。

  2. クラスターリスト ページで、右上の クラスターテンプレート をクリックします。

  3. クラスターテンプレートの選択 ダイアログボックスで、Professional マネージド Kubernetes クラスター を選択し、作成する をクリックします。

  4. ACK マネージドクラスター タブで シークレット暗号化 セクションを見つけ、キーの選択 チェックボックスをオンにし、ドロップダウンリストからキー ID を選択します。

  5. プロンプトに従って他のパラメーターを設定します。

    詳細については、「ACK Pro クラスターの作成」をご参照ください。

既存クラスターでの Secret 暗号化の有効化

  1. クラスターリスト ページで、対象の ACK Pro クラスターの名前をクリックします。

  2. 基本情報 タブをクリックし、基本情報 セクションで シークレット暗号化 スイッチをオンにします。

  3. シークレット暗号化 ダイアログボックスで、ドロップダウンリストからキー ID を選択し、OK をクリックします。

    クラスターのステータスが 更新中 から ランニング に変わると、保管時の暗号化機能が有効になります。

結果の確認

Secret の保管時の暗号化が有効になっていることを ActionTrail コンソールで確認できます。[イベントクエリ] ページで AliyunCSManagedSecurityRole に関連付けられた暗号化および復号イベントが見つかった場合、この機能が有効であることを示しています。ActionTrail を使用して、KMS へのすべての API 呼び出しを監査できます。