プライベート CA での監査レポートの使用 - AWS Private Certificate Authority

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

プライベート CA での監査レポートの使用

プライベート CA が発行または取り消したすべての証明書を一覧表示する監査報告書を作成できます。このレポートは、入力時に指定する新しい S3 バケットまたは既存の S3 バケットに保存されます。

監査報告書に暗号化保護を追加する方法については、「監査報告書の暗号化 」を参照してください 。

監査レポートファイルのパスとファイル名は次のとおりです。Amazon S3 バケットARNの は の値ですbucket-nameCA_IDは発行元の CA の一意の識別子です。 UUIDは監査レポートの一意の識別子です。

bucket-name/audit-report/CA_ID/UUID.[json|csv]

30 分ごとに新しい報告書を生成し、バケットからダウンロードできます。次の例は、 CSVで区切られたレポートを示しています。

awsAccountId,requestedByServicePrincipal,certificateArn,serial,subject,notBefore,notAfter,issuedAt,revokedAt,revocationReason,templateArn 123456789012,,arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID,00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff,"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4e5f6a,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US",2020-03-02T21:43:57+0000,2020-04-07T22:43:57+0000,2020-03-02T22:43:58+0000,,UNSPECIFIED,arn:aws:acm-pca:::template/EndEntityCertificate/V1 123456789012,acm.amazonaws.com,arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID,ff:ee:dd:cc:bb:aa:99:88:77:66:55:44:33:22:11:00,"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4d5e6f,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US",2020-03-02T20:53:39+0000,2020-04-07T21:53:39+0000,2020-03-02T21:53:40+0000,,,arn:aws:acm-pca:::template/EndEntityCertificate/V1

次の例は、 JSON形式のレポートを示しています。

[ { "awsAccountId":"123456789012", "certificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial":"00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff", "subject":"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4d5e6f,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US", "notBefore":"2020-02-26T18:39:57+0000", "notAfter":"2021-02-26T19:39:57+0000", "issuedAt":"2020-02-26T19:39:58+0000", "revokedAt":"2020-02-26T20:00:36+0000", "revocationReason":"UNSPECIFIED", "templateArn":"arn:aws:acm-pca:::template/EndEntityCertificate/V1" }, { "awsAccountId":"123456789012", "requestedByServicePrincipal":"acm.amazonaws.com", "certificateArn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID", "serial":"ff:ee:dd:cc:bb:aa:99:88:77:66:55:44:33:22:11:00", "subject":"2.5.4.5=#012345678901,2.5.4.44=#0a1b3c4d,2.5.4.65=#0a1b3c4d5e6f,2.5.4.43=#0a1b3c4d5e,2.5.4.42=#0123456789abcdef0123456789abcdef0123,2.5.4.4=#0123456789abcdef01234567,2.5.4.12=#0a1b3c4d5e,2.5.4.46=#0123456789ab,CN=www.example1.com,OU=Sales,O=Example Company,L=Seattle,ST=Washington,C=US", "notBefore":"2020-01-22T20:10:49+0000", "notAfter":"2021-01-17T21:10:49+0000", "issuedAt":"2020-01-22T21:10:49+0000", "templateArn":"arn:aws:acm-pca:::template/EndEntityCertificate/V1" } ]
注記

が証明書 AWS Certificate Manager を更新すると、プライベート CA 監査レポートによって requestedByServicePrincipalフィールドに が入力されますacm.amazonaws.com。これは、 AWS Certificate Manager サービスが顧客に代わって AWS Private CA APIの IssueCertificate アクションを呼び出して証明書を更新したことを示します。

監査レポート用の Amazon S3 バケットを準備する

重要

AWS Private CA は Amazon S3 オブジェクトロック の使用をサポートしていません。バケットでオブジェクトロックを有効にした場合、 AWS Private CA は監査レポートをバケットに書き込むことができません。

監査レポートを保存するには、Amazon S3 バケットを準備する必要があります。詳細については、「S3 バケットを作成するには」を参照してください。

S3 バケットは、アタッチされたアクセス許可ポリシーによって保護されている必要があります。許可されたユーザーとサービスプリンシパルには、 がバケットにオブジェクトを配置 AWS Private CA するためのPutアクセス許可と、オブジェクトを取得するGetアクセス許可が必要です。プライベート CA ARNの AWS アカウントと の両方へのアクセスを制限する、以下に示すポリシーを適用することをお勧めします。詳細については、「Amazon S3 コンソールを使用したバケットポリシーの追加」を参照してください。

注記

監査レポートを作成するコンソール手順で、 で新しいバケット AWS Private CA を作成し、デフォルトのアクセス許可ポリシーを適用することを選択できます。デフォルトポリシーは CA に SourceArn 制限を適用しないため、推奨ポリシーよりも許容範囲が広くなります。デフォルトを選択した場合は、後でいつでも変更できます。

{ "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:::DOC-EXAMPLE-BUCKET/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":"account", "aws:SourceArn":"arn:partition:acm-pca:region:account:certificate-authority/CA_ID" } } } ] }

監査レポートの作成

監査レポートは、コンソールまたは AWS CLIから作成できます。

監査報告書を作成するには (コンソール)
  1. AWS アカウントにサインインし、https://console.aws.amazon.com/acm-pca/ホーム で AWS Private CA コンソールを開きます。

  2. [プライベート証明書認証局] ページで、リストからプライベート CA を選択します。

  3. [アクション] メニューで、[監査報告書の生成] を選択します。

  4. [新しい S3 バケットを作成しますか?][監査レポート送信先] で、[はい] を選択して一意のバケット名を入力するか、[いいえ] を選択してリストから既存のバケットを選択します。

    はい を選択した場合、 はデフォルトポリシー AWS Private CA を作成してバケットにアタッチします。[いいえ] を選択した場合は、監査報告書を生成する前にポリシーをバケットにアタッチする必要があります。監査レポート用の Amazon S3 バケットを準備する で説明されているポリシーパターンを使用してください。ポリシーを適用する方法の詳細については、「Amazon S3 コンソールを使用したバケットポリシーの追加」を参照してください

  5. 出力形式 JSONで、 JavaScript オブジェクト表記の場合は 、カンマ区切り値CSVの場合は を選択します。

  6. [監査報告書の生成] を選択します。

監査報告書を作成するには (AWS CLI)
  1. 使用する S3 バケットがまだなければ作成してください。

  2. バケットにポリシーをアタッチする 監査レポート用の Amazon S3 バケットを準備する で説明されているポリシーパターンを使用してください。ポリシーを適用する方法の詳細については、「Amazon S3 コンソールを使用したバケットポリシーの追加」を参照してください

  3. create-certificate-authority-audit-report コマンドを使用して監査レポートを作成し、準備済みの S3 バケットに配置します。

    $ aws acm-pca create-certificate-authority-audit-report \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566 \ --s3-bucket-name bucket_name \ --audit-report-response-format JSON

監査レポートの取得

検査用の監査レポートを取得するには、Amazon S3 コンソール、API、CLI、または を使用しますSDK。詳細については、「Amazon Simple Storage Service ユーザーガイド」の「オブジェクトのダウンロード」を参照してください。

監査報告書の暗号化

オプションで、監査レポートを含む Amazon S3 バケットで暗号化を設定できます。 は、S3 のアセットに対して 2 つの暗号化モード AWS Private CA をサポートしています。

  • Amazon S3-managed AES-256 キーによるサーバー側の自動暗号化。

  • AWS Key Management Service および仕様に AWS KMS key 設定された を使用したカスタマーマネージド暗号化。

注記

AWS Private CA は、S3 によって自動的に生成されたデフォルトKMSキーの使用をサポートしていません。

次の手順では、各暗号化オプションを設定する方法について説明します。

自動暗号化を設定するには

S3 サーバー側の暗号化を有効にするには、以下のステップを実行します。

  1. で Amazon S3 コンソールを開きますhttps://console.aws.amazon.com/s3/

  2. バケット テーブルで、 AWS Private CA アセットを保持するバケットを選択します。

  3. バケットのページで、[プロパティ] タブを選択します。

  4. [デフォルト暗号化] カードを選択します。

  5. [Enable(有効化)] を選択します。

  6. Amazon S3 キー (SSE-S3) を選択します。

  7. [Save Changes] を選択します。

カスタム暗号化を設定するには

カスタムキーを使用して暗号化を有効にするには、以下のステップを実行します。

  1. で Amazon S3 コンソールを開きますhttps://console.aws.amazon.com/s3/

  2. バケット テーブルで、 AWS Private CA アセットを保持するバケットを選択します。

  3. バケットのページで、[プロパティ] タブを選択します。

  4. [デフォルト暗号化] カードを選択します。

  5. [Enable(有効化)] を選択します。

  6. AWS Key Management Service キー (SSE-KMS) を選択します。

  7. AWS KMS キーから選択するかを入力します AWS KMS key ARN

  8. [Save Changes] を選択します。

  9. (オプション) KMSキーがまだない場合は、次の AWS CLI create-key コマンドを使用してキーを作成します。

    $ aws kms create-key

    出力には、キー ID とKMSキーの Amazon リソースネーム (ARN) が含まれます。以下は、その出力例です。

    { "KeyMetadata": { "KeyId": "01234567-89ab-cdef-0123-456789abcdef", "Description": "", "Enabled": true, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/01234567-89ab-cdef-0123-456789abcdef", "AWSAccountId": "123456789012" } }
  10. 次の手順を使用して、 KMSキーを使用するアクセス許可を AWS Private CA サービスプリンシパルに付与します。デフォルトでは、すべてのKMSキーはプライベートです。リソース所有者のみがKMSキーを使用してデータを暗号化および復号できます。ただし、リソース所有者は、他のユーザーやリソースにKMSキーにアクセスするアクセス許可を付与できます。サービスプリンシパルは、KMSキーが保存されているリージョンと同じリージョンに存在する必要があります。

    1. まず、次のget-key-policyコマンドpolicy.jsonを使用して、KMSキーのデフォルトポリシーを として保存します。

      $ aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json
    2. テキストエディタで policy.json ファイルを開きます。次のポリシーステートメントのいずれかを選択し、既存のポリシーに追加します。

      Amazon S3 バケットキーが有効になっている場合は、次のステートメントを使用してください。

      { "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":"arn:aws:s3:::bucket-name" } } }

      Amazon S3 バケットキーが無効になっている場合は、次のステートメントを使用してください。

      { "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::bucket-name/acm-pca-permission-test-key", "arn:aws:s3:::bucket-name/acm-pca-permission-test-key-private", "arn:aws:s3:::bucket-name/audit-report/*", "arn:aws:s3:::bucket-name/crl/*" ] } } }
    3. 最後に、次のput-key-policyコマンドを使用して、更新されたポリシーを適用します。

      $ aws kms put-key-policy --key-id key_id --policy-name default --policy file://policy.json