本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将审计报告与您的私有 CA 一起使用
您可以创建审核报告,以列出您的私有 CA 已颁发和吊销的所有证书。该报告将保存在您通过输入指定的新的或现有 S3 存储桶中。
有关向审计报告添加加密保护的信息,请参阅 加密审计报告 。
审计报告文件具有以下路径和文件名。Amazon S3 桶的 ARN 是 amzn-s3-demo-bucket 的值。CA_ID 是颁发 CA 的唯一标识符。UUID 是审计报告的唯一标识符。
amzn-s3-demo-bucket/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"
}
] 注意
Amazon Certificate Manager 续订证书时,私有 CA 审计报告会在该requestedByServicePrincipal字段中填充。acm.amazonaws.com这表示该 Amazon Certificate Manager 服务代表客户调 Amazon 私有 CA 用了 API 的IssueCertificate操作来续订证书。
为审计报告准备一个 Amazon S3 存储桶
重要
Amazon Private CA 不支持使用 A mazon S3 对象锁。如果您在存储桶上启用对象锁定,则 Amazon Private CA 无法向存储桶写入审计报告。
要存储您的审计报告,您需要准备 Amazon S3 桶。有关更多信息,请参阅如何创建 S3 桶?
您的 S3 存储桶必须受权限策略的保护,该策略 Amazon Private CA 允许访问和写入您指定的 S3 存储桶。授权用户和服务委托人需要Put权限 Amazon 私有 CA 才能在存储桶中放置对象,以及检索对象的Get权限。我们建议您应用以下政策,该政策限制对 Amazon 账户和私有 CA 的 ARN 的访问权限。或者,您可以使用 a ws: SourceOrg ID 条件键来限制对中特定组织的访问权限。 Amazon Organizations有关存储桶策略的更多信息,请参阅 Amazon 简单存储服务的存储桶策略。
创建审计报告
可从控制台或 Amazon CLI创建审计报告。
创建审计报告(控制台)
-
登录您的 Amazon 帐户并在https://console.aws.amazon.com/acm-pca/家
中打开主 Amazon 私有 CA 机。 -
在私有证书颁发机构页面,从列表中选择您的私有 CA。
-
从操作菜单中,选择生成审计报告。
-
在审计报告目标下,对于创建新的 S3 桶?,选择是并键入唯一桶名称,或选择否并从列表中选择现有的桶。
如果您选择 “是”,则 Amazon 私有 CA 会创建默认策略并将其附加到您的存储桶。默认策略包括
aws:SourceAccount条件密钥,该密钥限制对特定 Amazon 账户的访问权限。如果您想进一步限制访问权限,则可以在策略中添加其他条件密钥,如前面的示例所示。如果您选择否,则必须先将策略附加到桶,然后才能生成审计报告。使用 为审计报告准备一个 Amazon S3 存储桶 中所述的策略模式。有关附加策略的信息,请参阅使用 Amazon S3 控制台添加存储桶策略。
-
在输出格式下,为 JavaScript 对象表示法选择 JSON,为逗号分隔值选择 CSV。
-
选择 Generate audit report (生成审核报告)。
创建审计报告 (Amazon CLI)
-
如果您没有 S3 桶可用,则请创建一个。
-
将策略附加到您的桶。使用 为审计报告准备一个 Amazon S3 存储桶 中所述的策略模式。有关附加策略的信息,请参阅使用 Amazon S3 控制台添加桶策略
-
使用 create-certificate-authority-audit-repor t 命令创建审计报告并将其放入准备好的 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-nameamzn-s3-demo-bucket\ --audit-report-response-format JSON
检索审计报告
要检索审计报告以进行检查,请使用 Amazon S3 控制台、API、CLI 或软件开发工具包。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的下载对象。
加密审计报告
您可以选择在包含审计报告的 Amazon S3 存储桶上配置加密。 Amazon 私有 CA 支持 S3 中资产的两种加密模式:
-
使用 Amazon S3 托管的 AES-256 密钥自动进行服务器端加密。
-
客户使用管理加密 Amazon Key Management Service ,并根据您的规格 Amazon KMS key 进行配置。
注意
Amazon 私有 CA 不支持使用 S3 自动生成的默认 KMS 密钥。
以下过程介绍如何设置每个加密选项。
配置自动加密
完成以下步骤以启用 S3 服务器端加密。
打开 Amazon S3 控制台,网址为 https://console.aws.amazon.com/s3/
。 -
在 Buckets 表中,选择用于存放您的 Amazon 私有 CA 资产的存储桶。
-
在存储桶页面上,选择属性选项卡。
-
选择默认加密卡。
-
请选择启用。
-
选择 Amazon S3 密钥(SSE-S3)。
-
选择保存更改。
配置自定义加密
完成以下步骤以启用使用自定义密钥的加密。
打开 Amazon S3 控制台,网址为 https://console.aws.amazon.com/s3/
。 -
在 Buckets 表中,选择用于存放您的 Amazon 私有 CA 资产的存储桶。
-
在存储桶页面上,选择属性选项卡。
-
选择默认加密卡。
-
请选择启用。
-
选择Amazon Key Management Service 密钥 (SSE-KMS)。
-
选择 “从 Amazon KMS 密钥中选择” 或 “输入 Amazon KMS key ARN”。
-
选择保存更改。
-
(可选)如果您还没有 KMS 密钥,请使用以下 Amazon CLI create-key 命令创建一个:
$aws kms create-key输出包含 KMS 密钥的密钥 ID 和 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" } } -
使用以下步骤,您可以向 Amazon 私有 CA 服务主体授予使用 KMS 密钥的权限。默认情况下,所有 KMS 密钥均为私有;只有资源拥有者可以使用 KMS 密钥加密和解密数据。但是,资源拥有者可以将 KMS 密钥的访问权限授予其他用户和资源。该服务主体必须位于存储 KMS 密钥的相同区域内。
-
首先,
policy.json使用以下get-key-policy命令保存 KMS 密钥的默认策略:$aws kms get-key-policy --key-idkey-id--policy-name default --output text > ./policy.json -
在文本编辑器中打开
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/*" ] } } } -
最后,使用以下put-key-policy命令应用更新的策略:
$aws kms put-key-policy --key-idkey_id--policy-name default --policy file://policy.json
-