翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
の CRL を設定する AWS Private CA
CA 作成プロセスの一部として証明書失効リスト (CRL) を設定する前に、いくつかの事前設定が必要になる場合があります。このセクションでは、CRL が添付された CA を作成する前に理解しておくべき前提条件とオプションについて説明します。
CRL の代替または補足としてオンライン証明書ステータスプロトコル (OCSP) を使用する方法については、「Certificate revocation options」および「の OCSP URL をカスタマイズする AWS Private CA」を参照してください。
トピック
CRL タイプ
-
完了 - デフォルト設定。 は、何らかの理由で取り消された CA によって発行された期限切れでないすべての証明書について、パーティション分割されていない 1 つの CRL ファイル AWS Private CA を維持します。 AWS Private CA 発行する各証明書は、RFC 5280 で定義されている CRL ディストリビューションポイント (CDP) 拡張機能を介して特定の CRL
にバインドされます。 -
パーティション分割 - 完全な CRLs と比較して、パーティション分割された CRLsはプライベート CA が発行できる証明書の数を大幅に増やし、CAs を頻繁にローテーションしないようにします。
重要
パーティション化された CRLs を使用する場合は、CRL に関連付けられた発行ディストリビューションポイント (IDP) URI が証明書の CDP URI と一致することを検証して、適切な CRL がフェッチされたことを確認する必要があります。 は IDP 拡張機能を重要として AWS Private CA マークし、クライアントが処理できる必要があります。
CRL 構造
各 CRL は、DER でエンコードされたファイルです。ファイルをダウンロードし、OpenSSL
openssl crl -inform DER -in
path-to-crl-file
-text -noout
CRL の形式は次のとおりです。
Certificate Revocation List (CRL):
Version 2 (0x1)
Signature Algorithm: sha256WithRSAEncryption
Issuer: /C=US/ST=WA/L=Seattle/O=Example Company CA/OU=Corporate/CN=www.example.com
Last Update: Feb 26 19:28:25 2018 GMT
Next Update: Feb 26 20:28:25 2019 GMT
CRL extensions:
X509v3 Authority Key Identifier:
keyid:AA:6E:C1:8A:EC:2F:8F:21:BC:BE:80:3D:C5:65:93:79:99:E7:71:65
X509v3 CRL Number:
1519676905984
Revoked Certificates:
Serial Number: E8CBD2BEDB122329F97706BCFEC990F8
Revocation Date: Feb 26 20:00:36 2018 GMT
CRL entry extensions:
X509v3 CRL Reason Code:
Key Compromise
Serial Number: F7D7A3FD88B82C6776483467BBF0B38C
Revocation Date: Jan 30 21:21:31 2018 GMT
CRL entry extensions:
X509v3 CRL Reason Code:
Key Compromise
Signature Algorithm: sha256WithRSAEncryption
82:9a:40:76:86:a5:f5:4e:1e:43:e2:ea:83:ac:89:07:49:bf:
c2:fd:45:7d:15:d0:76:fe:64:ce:7b:3d:bb:4c:a0:6c:4b:4f:
9e:1d:27:f8:69:5e:d1:93:5b:95:da:78:50:6d:a8:59:bb:6f:
49:9b:04:fa:38:f2:fc:4c:0d:97:ac:02:51:26:7d:3e:fe:a6:
c6:83:34:b4:84:0b:5d:b1:c4:25:2f:66:0a:2e:30:f6:52:88:
e8:d2:05:78:84:09:01:e8:9d:c2:9e:b5:83:bd:8a:3a:e4:94:
62:ed:92:e0:be:ea:d2:59:5b:c7:c3:61:35:dc:a9:98:9d:80:
1c:2a:f7:23:9b:fe:ad:6f:16:7e:22:09:9a:79:8f:44:69:89:
2a:78:ae:92:a4:32:46:8d:76:ee:68:25:63:5c:bd:41:a5:5a:
57:18:d7:71:35:85:5c:cd:20:28:c6:d5:59:88:47:c9:36:44:
53:55:28:4d:6b:f8:6a:00:eb:b4:62:de:15:56:c8:9c:45:d7:
83:83:07:21:84:b4:eb:0b:23:f2:61:dd:95:03:02:df:0d:0f:
97:32:e0:9d:38:de:7c:15:e4:36:66:7a:18:da:ce:a3:34:94:
58:a6:5d:5c:04:90:35:f1:8b:55:a9:3c:dd:72:a2:d7:5f:73:
5a:2c:88:85
注記
CRL は、それを参照する証明書が発行された後にのみ Amazon S3 に保管されます。それ以前は、Amazon S3 バケットに表示される acm-pca-permission-test-key
ファイルのみが存在します。
Amazon S3 の CRL のアクセスポリシー
CRL を作成する場合は、Amazon S3 バケットを に保存するように準備する必要があります。 は、指定した Amazon S3 バケットに CRL AWS Private CA を自動的に預金し、定期的に更新します。詳細については、「バケットの作成」を参照してください。
S3 バケットは、アタッチされた IAM アクセス許可ポリシーによって保護されている必要があります。権限のあるユーザーとサービスプリンシパルには、 AWS Private CA
にバケットへのオブジェクトの配置を許可する Put
権限と、そのオブジェクトを取得する Get
権限が必要です。CA を作成するコンソール手順中に、 で新しいバケット AWS Private CA を作成し、デフォルトのアクセス許可ポリシーを適用することを選択できます。
注記
IAM ポリシーの設定は、 AWS リージョン 関連する によって異なります。リージョンは次の 2 つのカテゴリに分類されます。
-
デフォルト対応リージョン – すべての に対してデフォルトで有効になっているリージョン AWS アカウント。
-
デフォルト無効リージョン — デフォルトでは無効になっているが、ユーザーが手動で有効にできるリージョン。
デフォルトが無効になっているリージョンの詳細とリストについては、「管理 AWS リージョン」を参照してください。IAM のコンテキストにおけるサービスプリンシパルの説明については、「オプトインリージョンのAWS サービスプリンシパル」を参照してください。
CRLs を証明書失効方法として設定すると、 は CRL AWS Private CA を作成し、S3 バケットに発行します。S3 バケットには、 AWS Private CA サービスプリンシパルがバケットに書き込むことを許可する IAM ポリシーが必要です。サービスプリンシパルの名前は使用するリージョンによって異なり、すべてのオプションがサポートされているわけではありません。
PCA | S3 | サービスプリンシパル |
---|---|---|
どちらも同じリージョンにあります。 |
|
|
有効 |
有効 |
|
無効 | 有効 |
|
有効 | 無効 |
サポートされていません |
デフォルトポリシーでは CA に SourceArn
制限は適用されません。特定の AWS アカウントと特定のプライベート CA の両方へのアクセスを制限する、次のような制限の低いポリシーを適用することをお勧めします。または、aws:SourceOrgID 条件キーを使用して、 の特定の組織へのアクセスを制限することもできます AWS Organizations。バケットポリシーの詳細については、「Amazon Simple Storage Service のバケットポリシー」を参照してください。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:s3:::
amzn-s3-demo-bucket
/*", "arn:aws:s3:::amzn-s3-demo-bucket1
" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":"111122223333
", "aws:SourceArn":"arn:partition:acm-pca:region:111122223333
:certificate-authority/CA_ID
" } } } ] }
デフォルトポリシーを許可することを選択した場合は、後でいつでも変更できます。
CloudFront で S3 ブロックパブリックアクセス (BPA) を有効にする
新しい Amazon S3 バケットは、パブリックアクセスのブロック (BPA) 機能が有効化された状態でデフォルトで設定されます。Amazon S3 のセキュリティベストプラクティスに含まれている BPA は、ユーザーが S3 バケット内のオブジェクトやバケット全体へのアクセスの微調整に使用できるアクセス制御のセットです。BPA がアクティブで正しく設定されている場合、承認および認証された AWS ユーザーのみがバケットとそのコンテンツにアクセスできます。
AWS では、機密情報が潜在的な攻撃者に公開されないように、すべての S3 バケットで BPA を使用することをお勧めします。ただし、PKI クライアントがパブリックインターネット経由で CRLs を取得する場合 (つまり、 AWS アカウントにログインしていない場合)、追加の計画が必要です。このセクションでは、コンテンツ配信ネットワーク (CDN) である Amazon CloudFront を使用してプライベート PKI ソリューションを設定し、認証されたクライアントが S3 バケットにアクセスせずに CRL を処理できるようにする方法について説明します。
注記
CloudFront を使用すると、 AWS アカウントに追加のコストが発生します。詳細については、「Amazon CloudFront の料金
BPA が有効な S3 バケットに CRL を保存し、CloudFront を使用しないでおく場合は、別の CDN ソリューションを構築して PKI クライアントが CRL にアクセスできるようにする必要があります。
BPA 用 CloudFront のセットアップ
プライベート S3 バケットにアクセスでき、認証されていないクライアントに CRL を提供できる CloudFront ディストリビューションを作成します。
CRL 用の CloudFront ディストリビューションを設定するには
-
「Amazon CloudFront 開発者ガイド」の「ディストリビューションの作成」の手順を使用して、新しい CloudFront ディストリビューションを作成します。
手順を完了する際、以下の設定を適用します。
-
[オリジンドメイン名] で S3 バケットを選択します。
-
[バケットアクセスの制限] で、[はい] を選択します。
-
[オリジンアクセスアイデンティティ] で [新しいアイデンティティを作成] を選択します。
-
[バケットへの読み取り権限の付与] で [はい、バケットポリシーを更新します] を選択します。
注記
この手順では、CloudFront はバケットポリシーを変更して、バケットオブジェクトにアクセスできるようにします。このポリシーを編集して、
crl
フォルダ内のオブジェクトにのみアクセスを許可することも検討してください。
-
-
ディストリビューションが初期化されたら、CloudFront コンソールでそのドメイン名を見つけて保存し、次の手順に備えます。
注記
S3 バケットが us-east-1 以外のリージョンで新しく作成された場合、CloudFront を介して公開アプリケーションにアクセスすると、HTTP 307 の一時的なリダイレクトエラーが発生する可能性があります。バケットのアドレスが反映されるまでに数時間かかることがあります。
BPA 用に CA を設定する
新しい CA を設定する際には、CloudFront ディストリビューションにエイリアスを含めてください。
CloudFront 用の CNAME を使用して CA を設定するには
-
でプライベート CA を作成する AWS Private CA を使用して CA を作成します。
このプロシージャを実行する場合、非パブリック CRL オブジェクトを指定し、CloudFront のディストリビューションエンドポイントに URL を提供する次の行を失効ファイル
revoke_config.txt
に含める必要があります。"S3ObjectAcl":"BUCKET_OWNER_FULL_CONTROL", "CustomCname":"
abcdef012345.cloudfront.net
"その後、この CA で証明書を発行すると、次のようなブロックが含まれます。
X509v3 CRL Distribution Points: Full Name: URI:http://abcdef012345.cloudfront.net/crl/01234567-89ab-cdef-0123-456789abcdef.crl
注記
この CA が発行した古い証明書を持っている場合、その証明書は CRL にアクセスできなくなります。
CRL ディストリビューションポイント (CDP) URI の決定
ワークフローで CRL ディストリビューションポイント (CDP) URI を使用する必要がある場合は、その証明書で CRL URI を使用して証明書を発行するか、次の方法を使用できます。これは完全な CRLs。パーティション化された CRLs にはランダムな GUID が付加されます。
CA の CRL ディストリビューションポイント (CDP) として S3 バケットを使用する場合、CDP URI は次の形式のいずれかになります。
http://
amzn-s3-demo-bucket
.s3.region-code
.amazonaws.com/crl/CA-ID
.crlhttp://s3.
region-code
.amazonaws.com/amzn-s3-demo-bucket
/crl/CA-ID
.crl
CA にカスタム CNAME を設定している場合、CDP URI には CNAME が含まれます。例えば、 http://
alternative.example.com
/crl/CA-ID
.crl