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