Key Management Service (KMS) で管理されるElastic Compute Service (ECS) シークレットは、Bastionhostに統合されています。 ECSインスタンスのアカウントパスワードまたはSSHキーペアをKMSでECSシークレットとして保存した後、BastionhostでECSシークレットをインポートできます。 BastionhostがECSインスタンスへのリモート接続を確立すると、BastionhostはKMSからECSシークレットの値を取得します。 BastionhostでアカウントパスワードまたはSSHキーペアを入力する必要はありません。 このトピックでは、ECSシークレットを使用してBastionhostでECSインスタンスへのリモート接続を確立する方法について説明します。
概要
KMSでECSインスタンスのアカウントパスワードまたはSSHキーペアをECSシークレットとして保存した後、ECSインスタンスにログインするには、BastionhostでECSシークレットをインポートするだけです。 BastionhostでアカウントパスワードまたはSSHキーペアを入力する必要はありません。 BastionhostでECSインスタンスへのリモート接続を確立すると、BastionhostはKMSからECSシークレットの値をリアルタイムで取得し、ECSインスタンスにログインします。
KMSでは、ECSシークレットの自動ローテーションを設定できます。 Bastionhostは、KMSからACSCurrentバージョンのシークレット値をリアルタイムで取得します。 シークレットローテーションは、BastionhostとECSインスタンス間の接続には影響しません。 詳細については、「シークレットバージョン」をご参照ください。
次の図は、ECSシークレットを使用してBastionhostでECSインスタンスへのリモート接続を確立する方法を示しています。
シークレット管理者は、KMSでECSシークレットを作成します。
Bastionhost管理者は、BastionhostのKMSからECSシークレットをインポートします。
Bastionhost O&MエンジニアがECSインスタンスへのリモート接続リクエストを開始します。
Bastionhostは、KMSのListSecretsおよびGetSecretValue操作を呼び出して、KMSからECSシークレットの値をリアルタイムで取得します。
Bastionhostは、ECSシークレットの値を使用してECSインスタンスにログインします。
使用上の注意
ECSシークレットは、Bastionhost Basic EditionおよびBastionhost Enterprise Edition V3.2.40以降でのみ統合できます。
KMSからECSシークレットを削除した場合、BastionhostはECSシークレットの値を取得できません。 この場合、システムはECSインスタンスへの接続に失敗します。
前提条件
ECSインスタンスがBastionhostにインポートされます。 詳細は、「ECSインスタンスのインポート」をご参照ください。
Resource Access Management (RAM) ユーザーを使用してECSシークレットと要塞ホストを管理する場合、RAMユーザーには、KMSシークレットを管理するためのAliyunKMSSecretAdminAccess権限と、要塞ホストを管理するためのAliyunKMSSecretAdminAccess権限が付与されます。 詳細については、「RAM ユーザーへの権限の付与」をご参照ください。
手順
KMSでECSシークレットを作成します。 詳細については、「手順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シークレットを管理し、ECSパスワードとSSHキーペアをローテーションします。
RAMコンソールにログインして、サービスにリンクされたロールとポリシーの詳細を表示できます。 詳細については、「RAMロールに関する情報の表示」および「ポリシーに関する基本情報の表示」をご参照ください。
BastionhostでECSシークレットをインポートします。
ECSシークレットをインポートすると、BastionhostはKMSからECSシークレットの値を取得し、ECSインスタンスにログインします。
要塞ホストのコンソールにログインします。 詳細については、「bastionホストのコンソールへのログイン」をご参照ください。
左側のナビゲーションウィンドウで、を選択します。
ホストリストで、管理するホストを見つけて、[操作] 列の KMS 資格情報のインポート をクリックします。
KMS 資格情報のインポート ダイアログボックスで、インポートするECSシークレットを選択し、[インポート] をクリックします。
ECSシークレットがインポートされたら、ホストリストでホストの名前をクリックできます。 [ホストアカウント] タブで、インポートされたECSシークレットを表示および管理します。
次に何をすべきか
ECSインスタンスの管理権限をBastionhostユーザーに付与します。 詳細については、「アセットとアセットアカウントの管理権限」をご参照ください。
ECSインスタンスをbastionhostユーザーとして管理します。 詳細については、「O&Mの概要」をご参照ください。