本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
日志记录 AWS 私有证书颁发机构 使用 API 调用 AWS CloudTrail
AWS 私有证书颁发机构 与 AWS CloudTrail一项服务集成,该服务提供用户、角色或 AWS 服务在中执行的操作的记录 AWS 私有 CA。 CloudTrail 捕获 AWS 私有 CA 作为事件的 API 调用和签名操作。捕获的调用包括来自 AWS 私有 CA 控制台的调用和 AWS 私有 CA 对 API 操作的代码调用。如果您创建跟踪,则可以启用向 Amazon S3 存储桶持续交付事件,包括的事件 AWS 私有 CA。 CloudTrail 如果您未配置跟踪,仍可以在 CloudTrail 控制台的事件历史记录中查看最新事件。使用收集的信息 CloudTrail,您可以确定向谁发出了请求 AWS 私有 CA、发出请求的 IP 地址、谁提出了请求、何时提出请求以及其他详细信息。
要了解更多信息 CloudTrail,请参阅AWS CloudTrail 用户指南。
AWS 私有 CA 中的信息 CloudTrail
CloudTrail 在您创建帐户 AWS 账户 时已在您的上启用。当活动发生在中时 AWS 私有 CA,该活动将与 CloudTrail 事件历史记录中的其他 AWS 服务事件一起记录在事件中。您可以在中查看、搜索和下载最近的事件 AWS 账户。有关更多信息,请参阅使用事件历史记录查看 CloudTrail 事件。
要持续记录您的 AWS 账户事件(包括的事件) AWS 私有 CA,请创建跟踪。跟踪可以 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下,在控制台中创建跟踪记录时,此跟踪记录应用于所有 AWS 区域。该跟踪记录 AWS 分区中所有区域的事件,并将日志文件传输到您指定的 Amazon S3 存储桶。此外,您可以配置其他 AWS 服务,以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息,请参阅下列内容:
所有 AWS 私有 CA 操作均由 API 参考记录 CloudTrail 并记录在 AWS 私有 CA API 参考中。例如,对IssueCertificate和CreateAuditReport操作的ImportCACertificate调用会在 CloudTrail 日志文件中生成条目。
每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容:
-
请求是使用根或 AWS Identity and Access Management (IAM) 用户证书发出的。
-
请求是使用角色还是联合用户的临时安全凭证发出的。
-
请求是否由其他 AWS 服务发出。
有关更多信息,请参阅 CloudTrail userIdentity 元素。
注意
除了 Amazon S3,您还可以配置您的 CloudTrail 跟踪,将事件传送到亚马逊 CloudWatch 日志。配置后, CloudWatch 日志将接收与传送到您的 S3 存储桶相同 AWS 私有 CA 的事件。 AWS 私有 CA 不会将事件直接发布到 CloudWatch 日志。有关更多信息,请参阅《AWS CloudTrail 用户指南》中的向 CloudWatch 日志发送事件。
有关如何交 CloudTrail 付事件的信息(包括交付时间、耐久性以及与其他 AWS 服务的集成),请参阅获取和查看您的 CloudTrail 日志文件和AWS CloudTrail 服务等级协议
AWS 私有 CA 管理事件
AWS 私有 CA 与集成 CloudTrail 以记录用户、角色或 AWS 服务在中执行的 API 操作 AWS 私有 CA。您可以使用 CloudTrail 实时监控 AWS 私有 CA API 请求并将日志存储在亚马逊简单存储服务、亚马逊 CloudWatch 日志和亚马逊 CloudWatch 事件中。 AWS 私有 CA 支持将以下操作和操作作为事件记录在 CloudTrail 日志文件中:
GenerateOCSPResponse- AWS 私有 CA 生成 OCSP 响应时触发。SignCertificate-当您的客户致电时生成IssueCertificate。SignOCSPResponse- AWS 私有 CA 签署 OCSP 响应时生成。GenerateCRL-生成证书吊销列表 (CRL) 时生 AWS 私有 CA 成。SignCACSR- AWS 私有 CA 签署证书颁发机构 (CA) 证书签名请求 (CSR) 时生成。SignCRL- AWS 私有 CA 签署 CRL 时生成。
注意
CloudTrail 提供 API 调用和签名操作的实时事件流。有关您的私有 CA 颁发或吊销的所有证书的完整时间点清单,包括有效日期和吊销状态,请参阅。将审计报告与您的私有 CA 一起使用
识别原始请求者
当中间服务IssueCertificate代表最终用户或工作负载调用时,该 CloudTrail 事件会在userIdentity字段中记录中间服务的 IAM 身份,而不是原始请求者。
为了将证书颁发追溯到原始请求者,中间服务可以使用标准的 IAM 机制传播身份信息:
-
会话标签 — 中间服务在通过担任其 IAM 角色时将识别信息(例如原始请求者的 ID)作为会话标签传递。 AWS STS这些标签显示在 CloudTrail 事件
userIdentity区块下方sessionContext。有关更多信息,请参阅在 AWS STS中传递会话标签。 -
源身份 -中间服务在担任其角色时设置源身份。源身份在角色链中 CloudTrail 是不可变的,并显示为。
sourceIdentity有关更多信息,请参阅监控和控制使用假定角色采取的操作。 -
任何地方的 IAM 角色 — 如果调用工作负载通过 IAM Roles Anywhere 使用证书进行身份验证,则证书的主体、颁发者和使用者备用名称 (SAN) 字段将自动映射到会话主体标签。 X.509 例如,SAN 中的 SPIFFE ID 显示为
aws:PrincipalTag/x509SAN/URI。有关更多信息,请参阅 IAM 角色无处不在的信任模型。
这些身份属性记录在所有 AWS 服务调用的 CloudTrail 事件中,包括 AWS 私有 CA API 操作。
示例 AWS 私有 CA events
跟踪是一种配置,它允许将事件作为日志文件传输到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。事件代表来自任何来源的单个请求,包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪,因此它们不按任何特定顺序出现。
以下是 AWS 私有 CA CloudTrail 事件示例。
示例 1:管理事件,IssueCertificate
以下示例显示了演示IssueCertificate操作的 CloudTrail 日志条目。
{ "version":"0", "id":"event_ID", "detail-type":"ACM Private CA Certificate Issuance", "source":"aws.acm-pca", "account":"account", "time":"2019-11-04T19:57:46Z", "region":"region", "resources":[ "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566", "arn:aws:acm-pca:region:account:certificate-authority/CA_ID/certificate/certificate_ID" ], "detail":{ "result":"success" } }
示例 2:管理事件,ImportCertificateAuthorityCertificate
以下示例显示了演示ImportCertificateAuthorityCertificate操作的 CloudTrail 日志条目。
{ "eventVersion":"1.05", "userIdentity":{ "type":"IAMUser", "principalId":"account", "arn":"arn:aws:iam::account:user/name", "accountId":"account", "accessKeyId":"key_ID" }, "eventTime":"2018-01-26T21:53:28Z", "eventSource":"acm-pca.amazonaws.com", "eventName":"ImportCertificateAuthorityCertificate", "awsRegion":"region", "sourceIPAddress":"IP_address", "userAgent":"agent", "requestParameters":{ "certificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566", "certificate":{ "hb":[ 45, 45, ...10 ], "offset":0, "isReadOnly":false, "bigEndian":true, "nativeByteOrder":false, "mark":-1, "position":1257, "limit":1257, "capacity":1257, "address":0 }, "certificateChain":{ "hb":[ 45, 45, ...10 ], "offset":0, "isReadOnly":false, "bigEndian":true, "nativeByteOrder":false, "mark":-1, "position":1139, "limit":1139, "capacity":1139, "address":0 } }, "responseElements":null, "requestID":"request_ID", "eventID":"event_ID", "eventType":"AwsApiCall", "recipientAccountId":"account" }