Elastic Compute Service (ECS) インスタンスのパスワードまたはSSHキーペアをkey Management Service (KMS) のECSシークレットに保存できます。 この場合、Alibaba Cloud SDK、KMSインスタンスSDK、またはシークレットSDKをアプリケーションとAlibaba Cloudサービスに統合すると、アプリケーションとAlibaba CloudサービスはKMSからシークレットを動的に取得できます。 シークレットローテーションを設定して、アカウントのパスワード漏洩のリスクを減らすことができます。 このトピックでは、ECSシークレットを管理および使用する方法について説明します。
ECSシークレットローテーション
ECSシークレットに対して自動ローテーションまたは即時ローテーションがトリガーされると、KMSはCloud Assistantにシークレットローテーションコマンドを送信します。 次に、Cloud Assistantは、ECSシークレットが作成されたECSインスタンスにインストールされているシークレットプラグインを呼び出して、シークレットのローテーションを完了します。 ECSシークレットがローテーションされた後、新しいシークレットを使用してECSインスタンスにログインできます。
ECSシークレットがローテーションされると、シークレット内の関連付けられたECSインスタンスのパスワードまたはSSHキーペアが更新されます。 シークレットに関連付けられているECSインスタンスは削除しないことを推奨します。 そうすると、秘密のローテーションが失敗する可能性があります。

使用上の注意
ECSインスタンス用に作成されたECSシークレットを使用するには、ECSインスタンスのパスワードとSSHキーペアを管理する権限をKMSに付与する必要があります。 ECSインスタンスにログインする必要がある場合、KMSからシークレットを取得できます。
KMSでECSインスタンスのパスワードとSSHキーペアを管理する場合、Elastic Compute Service (ECS) でパスワードと公開-秘密キーペアを変更または削除しないことを推奨します。 そうすると、サービス障害が発生する可能性があります。
ECSインスタンスの1つのパスワードまたはSSHキーペアに対して複数のECSシークレットを作成しないでください。 ECSインスタンスの単一のパスワードまたはSSHキーペアに対して複数のECSシークレットを作成し、ECSシークレットの1つがローテーションされると、ECSシークレットに保存されているパスワードまたはSSHキーペアが変更されます。 この場合、他のECSシークレットのシークレット値を使用してECSインスタンスにログインすることはできません。
制限事項
LinuxベースのECSインスタンスはパスワードとSSHキーペアのローテーションをサポートしていますが、WindowsベースのECSインスタンスはパスワードのローテーションのみをサポートしています。
前提条件
KMSインスタンスが作成され、有効になっています。 詳細については、「KMSインスタンスの購入と有効化」をご参照ください。
シークレットを暗号化するための対称キーがKMSインスタンスで作成されます。 詳細については、「キーの作成」をご参照ください。
ECS インスタンスを作成済み。 詳細は、「インスタンスの作成」をご参照ください。
Resource Access Management (RAM) ユーザーまたはRAMロールを使用してECSシークレットを管理する場合、AliyunKMSSecretAdminAccessシステムポリシーがRAMユーザーまたはRAMロールにアタッチされます。 詳細については、「RAMユーザーへの権限の付与」または「RAMロールへの権限の付与」をご参照ください。
ステップ1: ECSシークレットの作成
シークレットを作成するときに、シークレットの自動ローテーションを設定できます。 これは、秘密の漏れのリスクを減らすのに役立ちます。
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
ECS Secrets タブをクリックし、インスタンス管理 ドロップダウンリストからインスタンスIDを選択し、資格情報の作成 をクリックします。 次に、パラメーターを設定し、[OK] をクリックします。
パラメーター
説明
資格情報名
秘密の名前。 シークレット名は現在のリージョン内で一意です。
Managed Instance
Alibaba Cloudアカウント内で管理する既存のECSインスタンス。
Managed User
LinuxオペレーティングシステムのルートユーザーやWindowsオペレーティングシステムの管理者ユーザーなど、ECSインスタンス上の既存のユーザーの名前。
Initial Secret Value
値の長さは30,720バイトを超えることはできません。これはサイズが30 KBに相当します。
パスワード: ECSインスタンスへのログインに使用されるユーザーのパスワード。
キーペア: ECSインスタンスへのログインに使用されるユーザーのSSHキーペア。
説明有効なシークレット値を入力します。 無効なシークレット値を入力した場合、KMSから取得したパスワードまたはキーペアは、初めてECSシークレットがローテーションされる前にECSインスタンスにログインするために使用できません。
CMK
シークレットの現在の値を暗号化するために使用されるキー。
重要キーとシークレットは同じKMSインスタンスに属している必要があります。 キーは対称キーである必要があります。 KMSでサポートされている対称キーの詳細については、「キーの種類と仕様」をご参照ください。
RAMユーザーまたはRAMロールの場合は、キーを使用してGenerateDataKey操作を呼び出す権限が必要です。
タグ
シークレットに追加するタグ。 タグを使用して、シークレットを分類および管理できます。 タグはキーと値のペアで構成されます。
説明タグキーまたはタグ値の長さは最大128文字で、英数字、スラッシュ (/) 、バックスラッシュ (\) 、アンダースコア (_) 、ハイフン (-) 、ピリオド (.) 、プラス記号 (+) 、等号 (=) 、コロン (:) 、アット記号 (@) 、およびスペースを使用できます。
タグキーをaliyunまたはacs: で始めることはできません。
シークレットごとに最大20個のキーと値のペアを設定できます。
自動ローテーション
自動シークレットローテーションを有効にするかどうかを指定します。
ローテーション期間
自動秘密ローテーションの間隔。 この設定は、自動回転を有効にする場合にのみ必要です。 値の範囲は1時間から365日です。
KMSは、このパラメーターの値に基づいてシークレットを定期的に更新します。
説明
The description of the secret.
ポリシー設定
シークレットのポリシー設定。 詳細については、「Overview」をご参照ください。
デフォルトのポリシーを使用し、シークレットの作成後にビジネス要件に基づいてポリシーを変更できます。
説明ECSシークレットを作成すると、AliyunServiceRoleForKMSSecretsManagerForECSサービスにリンクされたロールが自動的に作成され、そのロールにAliyunServiceRolePolicyForKMSSecretsManagerForECSポリシーがアタッチされます。 KMSはこのロールを引き受け、ECSシークレットを管理およびローテーションします。
RAMコンソールにログインして、サービスにリンクされたロールとポリシーの詳細を表示できます。 詳細については、「RAMロールに関する情報の表示」および「ポリシーに関する基本情報の表示」をご参照ください。
ステップ2: ECSシークレットをアプリケーションに統合する
KMSは、Alibaba Cloud SDK、KMSインスタンスSDK、およびシークレットを取得するためのシークレットクライアントを提供します。 シークレットクライアントは、シークレットキャッシュ機能、ベストプラクティス、およびデザインパターンをカプセル化します。 これにより、開発者がシークレットクライアントをアプリケーションに統合するプロセスが簡素化されます。 シークレットクライアントを使用することを推奨します。 詳細については、「シークレットクライアント」をご参照ください。 SDKの詳細については、「SDKリファレンス」をご参照ください。
SDKを使用して、ECSシークレットの作成やECSタグの変更などの管理操作を実行する場合、Alibaba Cloud SDKのみを使用できます。
その他操作
ECSシークレットの回転
シークレットの自動ローテーションを設定して、シークレットリークのリスクを減らすことができます。 シークレットが漏洩した場合は、KMSコンソールでシークレットをすぐに回転させて、侵入のリスクを排除できます。
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
ECS Secretsタブをクリックして、インスタンス管理ドロップダウンリストからインスタンスIDを選択して、回転するシークレットを見つけて、操作列の詳細をクリックします。
秘密のローテーションポリシーを設定します。
自動回転: ページの右上隅にある Configure Rotation Policy をクリックし、自動回転を有効または無効にして、[OK] をクリックします。
即時回転: ページの右上隅にある Rotate Now をクリックします。 Configure Rotation Policy ダイアログボックスで、Use Custom Secrets をオンまたはオフにし、[OK] をクリックします。
スイッチをオンにする場合は、新しいシークレット値を指定する必要があります。
スイッチをオフにすると、KMSは自動的に32文字のランダムパスワードまたはRSA-2048 SSHキーペアを作成します。
ECSシークレットの削除
すぐにシークレットを削除するか、スケジュールされたタスクを作成してシークレットを削除できます。
RAMシークレットを削除する前に、RAMシークレットが使用されていないことを確認してください。 使用中のRAMシークレットを削除すると、サービス障害が発生する可能性があります。
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
ECS Secretsタブをクリックして、インスタンス管理ドロップダウンリストからインスタンスIDを選択して、削除するシークレットを見つけて、操作列のSchedule Deletionをクリックします。
Schedule Deletion ダイアログボックスで、シークレットを削除する方法を選択し、[OK] をクリックします。
Schedule Deletion を選択した場合、保持期間 (7〜30日) を設定します。 スケジュールされた削除期間が終了すると、KMSはシークレットを削除します。
Delete Immediately を選択すると、シークレットがすぐに削除されます。
スケジュールされた削除期間中に、操作 列の [OK] をクリックして削除をキャンセルできます。
秘密にタグを追加する
タグを使用して、シークレットを分類および管理できます。 タグはキーと値のペアで構成されます。
タグキーまたはタグ値の長さは最大128文字で、英数字、スラッシュ (/) 、バックスラッシュ (\) 、アンダースコア (_) 、ハイフン (-) 、ピリオド (.) 、プラス記号 (+) 、等号 (=) 、コロン (:) 、アット記号 (@) 、およびスペースを使用できます。
タグキーをaliyunまたはacs: で始めることはできません。
シークレットごとに最大20個のキーと値のペアを設定できます。
シークレットのタグの追加
解決策 | 説明 |
方法1: Secretsページにタグを追加する |
|
方法2: Secret Detailsページにタグを追加する |
|
一度に複数のシークレットのタグを設定
KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。
シークレットのタイプに基づいてタブをクリックし、インスタンス管理 ドロップダウンリストから必要なインスタンスIDを選択し、シークレットリストから必要なシークレットを選択します。
タグの追加: シークレットリストの下部にある [タグの追加] をクリックします。 [タグの追加] ダイアログボックスで、複数の [タグキー] と [タグ値] を入力し、[OK] をクリックします。 表示されるメッセージで、[閉じる] をクリックします。
タグの削除: シークレットリストの下部にある [タグの削除] をクリックします。 [一括削除] ダイアログボックスで、削除するタグを選択し、[削除] をクリックします。 表示されるメッセージで、[閉じる] をクリックします。