本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
用于 ACME 证书自动化的 IAM
ACME 证书自动化使用 IAM 角色来授权证书的颁发和吊销。本节介绍了 ACME 的权限模型。
PKI 管理员权限
创建和管理 ACME 资源的 PKI 管理员需要以下权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "acm:CreateAcmeEndpoint", "acm:DescribeAcmeEndpoint", "acm:ListAcmeEndpoints", "acm:UpdateAcmeEndpoint", "acm:DeleteAcmeEndpoint", "acm:CreateAcmeExternalAccountBinding", "acm:DescribeAcmeExternalAccountBinding", "acm:ListAcmeExternalAccountBindings", "acm:GetAcmeExternalAccountBindingCredentials", "acm:RevokeAcmeExternalAccountBinding", "acm:DeleteAcmeExternalAccountBinding", "acm:CreateAcmeDomainValidation", "acm:DescribeAcmeDomainValidation", "acm:ListAcmeDomainValidations", "acm:UpdateAcmeDomainValidation", "acm:DeleteAcmeDomainValidation" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/AcmeIssuanceRole", "Condition": { "StringEquals": { "iam:PassedToService": "acm-acme.amazonaws.com" } } } ] }
EAB 角色要求
每个外部账户绑定都与一个 IAM 角色相关联。ACM 使用此角色授权使用绑定凭证进行身份验证的 ACME 客户端颁发和吊销证书。
信任策略
该角色必须信任 ACME 服务主体,授予sts:AssumeRolests:TagSession、和。sts:SetSourceIdentity以下信任策略还使用条件开启sts:SourceIdentity来仅允许 ACM 为 ACME 建立的会话(以开头的源身份):acm-acme-
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "acm-acme.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "StringLikeIfExists": { "sts:SourceIdentity": "acm-acme-*" } } } ] }
权限策略
该角色需要权限才能执行您想要允许的证书操作。适用于直接 API 调用的相同 ACM 操作和条件键适用于此处:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "acm:RequestCertificate", "acm:RevokeCertificate" ], "Resource": "*" }] }
您可以使用支持的相同条件密钥来限制发放acm:RequestCertificate,例如acm:DomainNames或acm:KeyAlgorithm。有关更多信息,请参阅 将条件键与 ACM 结合使用。
角色会话名称和源标识
当 ACM 担任该角色时,它会设置角色会话名称和源标识,这些名称和源标识将显示在 CloudTrail 日志中,您可以使用sts:RoleSessionName和sts:SourceIdentity条件键进行引用:
-
在证书颁发和吊销时 — 角色会话名称为
acme-request-,源身份为request-idacm-acme-。acme-account-id -
在创建外部账户绑定时验证角色时,角色会话名称为
acme-verification,源身份为acm-acme-verification。
两个来源身份都以acm-acme-,因此信任策略中的sts:SourceIdentity条件允许两者兼而有之。ACM 还会在担任角色的会话上附加会话标签,包括、和。acme-endpoint-arn acme-account-url acme-operation
SCP 兼容性
由于 ACME 服务使用代入的角色进行标准 ACM API 调用,因此 Organiz AWS ations 服务控制策略 (SCP) 是在证书颁发时强制执行的。如果 SCP 拒绝acm:RequestCertificate该账户,ACME 证书颁发也会失败。这为 ACME-issued 证书提供了与直接通过 ACM API 颁发的证书相同的监管控制。