クラスターの初期化 - AWS CloudHSM

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

クラスターの初期化

AWS CloudHSM クラスターを初期化するには、以下のトピックの手順を実行します。

注記

クラスターを初期化する前に、HSM のアイデンティティと正当性を検証するプロセスを確認します。このプロセスはオプションですが、使用期間はクラスターが初期化されるまでの間に限ります。クラスターの初期化後は、このプロセスを使用して証明書の取得や HSM の検証を行うことはできません。

クラスター CSR の取得

クラスターを初期化する前に、クラスターの最初の HSM によって生成された証明書署名リクエスト (CSR) をダウンロードして署名する必要があります。「クラスターの HSM のアイデンティティの確認」のステップに従っていれば、既に CSR があり、「CSR の署名」に進むことができます。それ以外の場合は、AWS CloudHSM コンソールAWS Command Line Interface (AWS CLI)、または AWS CloudHSM API を使用して CSR を取得します。

重要

クラスターを初期化するには、トラストアンカーが RFC 5280 に準拠し、次の要件を満たしている必要があります。

  • X509v3 エクステンションを使用する場合は、X509v3 基本制約エクステンションが必要です。

  • トラストアンカーは自己署名証明書でなければなりません。

  • エクステンションの値は互いに矛盾してはいけません。

CSR を取得するには (コンソール)
  1. AWS CloudHSM コンソール (https://console.aws.amazon.com/cloudhsm/home) を開きます。

  2. 検証する HSM のクラスター ID の横にあるラジオボタンをオンにします。

  3. アクション を選択します。ドロップダウンメニューから 初期化 を選択します。

  4. HSM を作成する 前のステップ を完了していない場合は、作成する HSM のアベイラビリティーゾーン (AZ) を選択します。次に、作成 を選択します。

  5. CSR の準備ができると、CSR をダウンロードするためのリンクが表示されます。

    
						AWS CloudHSM コンソールで証明書書名リクエストページをダウンロードします。
  6. [Cluster CSR] を選択して CSR をダウンロードし、保存します。

CSR を取得するには (AWS CLI)
  • コマンドプロンプトで、次の describe-clusters コマンドを実行し、CSR を抽出してファイルに保存します。<cluster ID> を、前に作成したクラスターの ID に置き換えます。

    $ aws cloudhsmv2 describe-clusters --filters clusterIds=<cluster ID> \ --output text \ --query 'Clusters[].Certificates.ClusterCsr' \ > <cluster ID>_ClusterCsr.csr
CSR を取得するには (AWS CloudHSM API)
  1. DescribeClusters リクエストを送信します。

  2. レスポンスから CSR を抽出して保存します。

CSR の署名

現在、自己署名入りの署名証明書を作成し、これを使用してクラスターの CSR に署名する必要があります。このステップで AWS CLI は不要です。また、シェルを AWS アカウントに関連付ける必要はありません。CSR に署名するには、以下を行う必要があります。

  1. 前のセクションを完了してください (「クラスター CSR の取得」を参照)。

  2. プライベートキーを作成します。

  3. プライベートキー を使用して、署名証明書を作成します。

  4. クラスター CSR の署名。

プライベートキーを作成する

注記

実稼働用クラスターでは、作成しようとしているキーはランダム性の信頼できるソースを使用して安全な方法で作成されている必要があります。安全なオフサイトあるいはオフライン HSM またはその同等を使用することが推奨されます。キーを安全に保存します。このキーによってクラスターの ID が確立され、クラスターに含まれる HSM をユーザーが単独で制御できるようになります。

開発とテストには、クラスター証明書の作成と署名に任意のツール (OpenSSL) などを使用できます。以下の例では、 キーを作成する方法を示します。キーを使用して自己署名証明書 (以下を参照) を作成したら、安全な方法でキーを保存する必要があります。AWS CloudHSM インスタンスにサインインするには証明書が必要ですが、プライベートキーが存在する必要はありません。

次のコマンドを使用して、プライベートキーを作成します。AWS CloudHSM クラスターを初期化するときは、RSA 2048 証明書または RSA 4096 証明書を使用する必要があります。

$ openssl genrsa -aes256 -out customerCA.key 2048 Generating RSA private key, 2048 bit long modulus ........+++ ............+++ e is 65537 (0x10001) Enter pass phrase for customerCA.key: Verifying - Enter pass phrase for customerCA.key:

プライベートキーを使用して、自己署名証明書を作成します。

本稼働のクラスター用のプライベートキーの作成に使用する信頼できるハードウェアも、このキーを使用した自己署名証明書を生成するソフトウェアツールを提供していることが必要です。次の例では、OpenSSL および署名証明書を作成するために前のステップで作成したプライベートキーを使用しています。証明書の有効期間は 10 年 (3652 日) です。画面の指示を読み、プロンプトに従います。

$ openssl req -new -x509 -days 3652 -key customerCA.key -out customerCA.crt Enter pass phrase for customerCA.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:

このコマンドは customerCA.crt という名前の証明書を作成します。AWS CloudHSM クラスターに接続するすべてのホストにこの証明書を設置します。ファイルに別の名前を付与した場合、またはホストのルート以外のパスにファイルを保存した場合には、それぞれに応じてクライアント設定ファイルを編集する必要があります。作成したばかりの証明書およびプライベートキーを使用して、次のステップでクラスター証明書署名リクエスト (CSR) に署名します。

クラスターの CSR に署名する

本稼働のクラスター用のプライベートキーの作成に使用する信頼できるハードウェアも、このキーを使用して CSR に署名するツールを提供している必要があります。次の例では、OpenSSL を使用してクラスターの CSR に署名します。この例では、プライベートキーと前のステップで作成した自己署名証明書を使用します。

$ openssl x509 -req -days 3652 -in <cluster ID>_ClusterCsr.csr \ -CA customerCA.crt \ -CAkey customerCA.key \ -CAcreateserial \ -out <cluster ID>_CustomerHsmCertificate.crt Signature ok subject=/C=US/ST=CA/O=Cavium/OU=N3FIPS/L=SanJose/CN=HSM:<HSM identifer>:PARTN:<partition number>, for FIPS mode Getting CA Private Key Enter pass phrase for customerCA.key:

完了すると、このコマンドは <cluster ID>_CustomerHsmCertificate.crt という名前のファイルを作成します。クラスターを初期化する際は、これを署名済み証明書として使用します。

クラスターの初期化

署名済み HSM 証明書と署名証明書を使用して、クラスターを初期化します。AWS CloudHSM コンソールAWS CLI、AWS CloudHSM API を使用できます。

クラスターを初期化するには (コンソール)
  1. AWS CloudHSM コンソール (https://console.aws.amazon.com/cloudhsm/home) を開きます。

  2. 検証する HSM のクラスター ID の横にあるラジオボタンをオンにします。

  3. アクション を選択します。ドロップダウンメニューから 初期化 を選択します。

  4. HSM を作成する 前のステップ を完了していない場合は、作成する HSM のアベイラビリティーゾーン (AZ) を選択します。次に、作成 を選択します。

  5. [Download certificate signing request] ページで、[Next] を選択します。[Next] が利用できない場合は、最初にいずれかの CSR または証明書のリンクを選択します。続いて、[Next] (次へ) を選択します。

  6. [Sign certificate signing request (CSR)] ページで、[Next] を選択します。

  7. [Upload the certificates] ページで、以下の作業を行います。

    1. [Cluster certificate (クラスター証明書)] の横にある [Upload file (ファイルのアップロード)] を選択します。先に署名した HSM 証明書を探し選択します。前のセクションのステップを完了したら、<cluster ID>_CustomerHsmCertificate.crt という名前のファイルを選択します。

    2. [証明書の発行] の横にある [ファイルのアップロード] を選択します。次に、署名証明書を選択します。前のセクションのステップを完了したら、customerCA.crt という名前のファイルを選択します。

    3. [Upload and initialize] を選択します。

クラスターを初期化するには (AWS CLI)
  • コマンドラインプロンプトで、initialize-cluster コマンドを実行します。以下を指定します。

    • 前に作成したクラスターの ID。

    • 前に署名した HSM 証明書。前のセクションのステップを完了すると、<cluster ID>_CustomerHsmCertificate.crt というファイル名で保存されています。

    • 署名用証明書。 前のセクションのステップを完了すると、署名証明書は「customerCA.crt」というファイル名で保存されています。

    $ aws cloudhsmv2 initialize-cluster --cluster-id <cluster ID> \ --signed-cert file://<cluster ID>_CustomerHsmCertificate.crt \ --trust-anchor file://customerCA.crt { "State": "INITIALIZE_IN_PROGRESS", "StateMessage": "Cluster is initializing. State will change to INITIALIZED upon completion." }
クラスターを初期化するには (AWS CloudHSM API)
  • 以下を使用して InitializeCluster リクエストを送信します。

    • 前に作成したクラスターの ID。

    • 前に署名した HSM 証明書。

    • 署名用証明書。