Amazon Web Services ブログ

AWS Certificate Managerでプライベート証明局を

本日から、AWS Certificate Manager (ACM) には新機能のプライベート認証局 (CA) が追加されました。この新サービスを使用した場合、ACM はプライベート下位 CA として機能することになります。従来、顧客がプライベート証明書を必要とする場合、顧客には、保守と運用に高額の費用が必要になる、特殊なインフラストラクチャとセキュリティに関する専門知識が必要でした。ACM の既存の証明書機能のアドオンとなる ACM プライベート CA を使用すると、従量制課金が適用されるプライベート証明書のライフサイクルを容易にかつ安全に管理することができるようになります。これにより開発者は、いくつかの API 呼び出しを行うだけで、証明書をプロビジョニングすることができます。一方、管理者は、粒度の細かい IAM ポリシーに基づいて、集中化管理コンソールからきめ細かいアクセス制御を行うことができます。ACM プライベート CA の鍵は、FIPS 140-2 レベル 3 セキュリティ基準に準拠した AWS マネージドハードウェアセキュリティモジュール (HSM) に安全に格納されます。ACM プライベート CA は、Amazon Simple Storage Service (S3) 内で証明書失効リスト (CRL) の自動的な維持管理を実施します。また、管理者に対しては、API またはコンソールを使用した証明書作成に関する監査レポートの発行を促します。このサービスには機能が満載されています。今すぐ、使用を開始し、CA をプロビジョニングしてください。

プライベート認証局 (CA) のプロビジョニング

最初にマイリージョンの ACM コンソールに移動して、サイドバーで新しい [Private CAs (プライベート CA)] セレクションを選択します。そこで、[Get Started (開始)] をクリックして、CA ウィザードを開始します。この段階でできることは下位 CA のプロビジョニングだけなので、それを選択し、スーパーセキュアデスクトップをルート CA として使用して、[Next (次へ)] をクリックします。これは本番環境で行う手順とは異なりますが、プライベート CA を試してみるのには役立つと思います。

次に、CA に一般的な詳細情報を構成します。ここで最も重要な情報は、コモンネームです。これは secure.internal として設定しますが、私の内部ドメインを表しています。

次に、鍵アルゴリズムを選択する必要があります。楕円曲線デジタル署名 (ECDSA) は、ニューフェースのアルゴリズムであり、はるかにサイズの小さい鍵を生成することができますが、脇に控えている既存の RSA とは相性が良くなく、互換性もありません。ニーズに合わせて最適のアルゴリズムを選択する必要はありますが、ACM は、今のところ、RSA CA に連鎖する証明書しか管理できないことを認識しておいてください。したがって、ここでは [RSA 2048] ビットを選択して、[Next (次へ)] をクリックします。

この次の画面では、私の証明書失効リスト (CRL) を作成することができます。CRL は、クライアントに、証明書が期限切れになる前に無効になっていることを知らせるために使用します。ACM は失効リストを自動的に維持管理するので、私は私の S3 バケットを顧客ドメインにルーティングすることができます。今回は、CRL を格納するために新しい S3 バケットを作成することにして、[Next (次へ)] をクリックします。

最後に、詳細情報をチェックして、ミススペルなどがないことを確認し、[Confirm and create (確認して作成)] をクリックします。

数秒後に、認証局のプロビジョニングに成功したことを知らせる画面が表示されます。万歳です。しかしすべてが終わったわけではありません。私の CA をアクティベートする必要があります。そのため、証明書署名リクエスト (CSR) を作成して、私のルート CA で署名する必要があります。[Get started (開始)] をクリックして、そのためのプロセスを開始します。

私のルート CA (またはクライアントの信頼できるルートへ連鎖する他の下位 CA) へのアクセス権を持つサーバーまたはデスクトップに CSR をコピーまたはダウンロードします。

ここでは openssl のようなツールを使用して私の証明書に署名し、証明書チェーンを生成することができます。


$openssl ca -config openssl_root.cnf -extensions v3_intermediate_ca -days 3650 -notext -md sha256 -in csr/CSR.pem -out certs/subordinate_cert.pem
Using configuration from openssl_root.cnf
Enter pass phrase for /Users/randhunt/dev/amzn/ca/private/root_private_key.pem:
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
stateOrProvinceName   :ASN.1 12:'Washington'
localityName          :ASN.1 12:'Seattle'
organizationName      :ASN.1 12:'Amazon'
organizationalUnitName:ASN.1 12:'Engineering'
commonName            :ASN.1 12:'secure.internal'
Certificate is to be certified until Mar 31 06:05:30 2028 GMT (3650 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

その後、 subordinate_cert.pem および証明書チェーンをコンソールにコピーして、[Next (次へ)] をクリックします。

最後に、情報をチェックして、[Confirm and import (確認してインポート)] をクリックします。CA が正常にアクティベートされたことを示す、下のような画面が表示されます。

プライベート CA ができたので、ACM コンソールに戻って新しい証明書を作成することによって、プライベート証明書をプロビジョニングすることができるようになりました。新しい証明書の作成をクリックした後、[Request a private certificate (プライベート証明書を要求)] ラジオボタンを選択し、[Request a certificate (証明書を要求)] をクリックします。

ここからは、ACM 内の通常の証明書のプロビジョニングに似ています。

これで、私の ELB、CloudFront ディストリビューション、API ゲートウェイなどにバインドすることができるプライベート証明書ができあがりました。またこの証明書は、内蔵デバイスや ACM マネージド環境の外部で使用するためにエクスポートすることもできます。

今すぐ利用可能
ACM Private CA はそれ自体がサービスであり、ブログ投稿には収まりきれない機能を完備しています。興味のある読者は、開発者向けガイドを読んで、証明書ベースのセキュリティに馴染んでおくことを強く推奨します。ACM プライベート CA は、米国東部 (バージニア州北部)、米国東部 (オハイオ州)、米国西部 (オレゴン州)、アジア太平洋地域 (シンガポール)、アジア太平洋地域 (シドニー)、アジア太平洋地域 (東京)、カナダ (中央部)、EU (フランクフルト)、および EU (アイルランド) で利用することができます。プライベート CA の料金は 1 つのプライベート CA ごとに月額 400 ドルです。ACM 内で作成され維持管理される証明書は課金されませんが、ACM の外部にエクスポートされた、または ACM の外部で作成された、プライベート鍵へのアクセス権を持つ証明書は課金されます。証明書ごとの料金は、最初の 1000 個の証明書は 1 つにつき、0.75 ドルから、10,000 個以降の証明書は 1 つにつき、0.001 ドルまで、階層化されています。

管理者や開発者がこの新しいサービスを享受することを期待しています。いつもと同様に、このサービスについてどう思うかを、Twitter または下記のフォームから、コメントをお寄せください。

Randall