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

Key Management Service:ECSシークレットをBastionhostに統合する

最終更新日:Jan 20, 2025

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インスタンスへのリモート接続を確立する方法を示しています。

image
  1. シークレット管理者は、KMSでECSシークレットを作成します。

  2. Bastionhost管理者は、BastionhostのKMSからECSシークレットをインポートします。

  3. Bastionhost O&MエンジニアがECSインスタンスへのリモート接続リクエストを開始します。

  4. Bastionhostは、KMSのListSecretsおよびGetSecretValue操作を呼び出して、KMSからECSシークレットの値をリアルタイムで取得します。

  5. 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 ユーザーへの権限の付与」をご参照ください。

手順

  1. KMSでECSシークレットを作成します。 詳細については、「手順1: ECSシークレットの作成」をご参照ください。

    1. KMS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、リソース > 資格情報管理 を選択します。

    2. ECS Secrets タブをクリックし、インスタンス管理 ドロップダウンリストから必要なインスタンスIDを選択し、資格情報の作成 をクリックします。 次に、パラメーターを設定し、[OK] をクリックします。

      パラメーター

      説明

      資格情報名

      秘密の名前。 シークレット名は現在のリージョン内で一意です。

      Managed Instance

      Alibaba Cloudアカウント内で管理する既存のECSインスタンス。

      Managed User

      LinuxオペレーティングシステムのルートユーザーやWindowsオペレーティングシステムの管理者ユーザーなど、ECSインスタンス上の既存のユーザーの名前。

      Initial Secret Value

      値の長さは30,720バイトを超えることはできません。これはサイズが30 KBに相当します。

      • パスワード: ECSインスタンスへのログインに使用されるユーザーのパスワード。

      • キーペア: ECSインスタンスへのログインに使用されるユーザーのSSHキーペア。

        SSHキーペアの取得

        • ECSで作成されたSSHキーペア

          • 秘密鍵: SSHキーペアを作成すると、ブラウザは自動的に秘密鍵ファイルをコンピュータにダウンロードします。 ファイルの名前はキーペア名. pem形式を指定します。 詳細については、「SSHキーペアの作成」をご参照ください。

          • 公開キー: 公開キーに関する情報を表示する方法の詳細については、「公開キー情報の表示」をご参照ください。

        • 自動生成されたSSHキーペア

          鍵ペアが生成された後に、鍵ペアの秘密鍵と公開鍵を保存します。 たとえば、ssh-keygenコマンドを実行して、3072ビットのRivest-Shamir-Adleman (RSA) キーペアを生成して保存します。

          ssh-keygen -t RSA -b 3072 -m PEM -f ~/.ssh/sshKey_demo -N ""

          次のファイルが生成されます。

          • ~/.ssh/sshKey_demo: プライベートキーが含まれます。

          • ~/.ssh/sshKey_demo.pub: 公開キーが含まれます。

      説明

      有効なシークレット値を入力します。 無効なシークレット値を入力した場合、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ロールに関する情報の表示」および「ポリシーに関する基本情報の表示」をご参照ください。

  2. BastionhostでECSシークレットをインポートします。

    ECSシークレットをインポートすると、BastionhostはKMSからECSシークレットの値を取得し、ECSインスタンスにログインします。

    1. 要塞ホストのコンソールにログインします。 詳細については、「bastionホストのコンソールへのログイン」をご参照ください。

    2. 左側のナビゲーションウィンドウで、Assets > Hostsを選択します。

    3. ホストリストで、管理するホストを見つけて、[操作] 列の KMS 資格情報のインポート をクリックします。

    4. KMS 資格情報のインポート ダイアログボックスで、インポートするECSシークレットを選択し、[インポート] をクリックします。

      ECSシークレットがインポートされたら、ホストリストでホストの名前をクリックできます。 [ホストアカウント] タブで、インポートされたECSシークレットを表示および管理します。

次に何をすべきか

  1. ECSインスタンスの管理権限をBastionhostユーザーに付与します。 詳細については、「アセットとアセットアカウントの管理権限」をご参照ください。

  2. ECSインスタンスをbastionhostユーザーとして管理します。 詳細については、「O&Mの概要」をご参照ください。

関連ドキュメント

BasicおよびEnterpriseエディションの概要