本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将条件键与 ACM 结合使用
AWS Certificate Manager 使用 AWS Identity and Access Management(IAM)条件密钥来限制对证书请求的访问权限。使用 IAM policy 或服务控制策略(SCP)中的条件密钥,您可以创建符合组织准则的证书请求。
注意
将 ACM 条件密钥与 AWS 全局条件密钥(例如 aws:PrincipalArn
)结合,从而进一步将操作限制为特定用户或角色。
支持的 ACM 条件
使用滚动条查看表的其余部分。
条件键 | 支持的 ACM API 操作 | 类型 | 描述 |
---|---|---|---|
|
字符串( |
依据 ACM 验证方法筛选请求 |
|
|
字符串数组 |
依据 ACM 请求中的域名筛选 |
|
|
String |
依据 ACM 密钥算法和大小筛选请求 |
|
|
字符串( |
依据 ACM 证书透明度日志记录首选项筛选请求 |
|
|
ARN |
依据 ACM 请求中的证书颁发机构筛选请求 |
示例 1:限制验证方法
以下策略使用电子邮件验证方法来拒绝新的证书请求,但使用 arn:aws:iam::123456789012:role/AllowedEmailValidation
角色发出的请求除外。
{ "Version":"2012-10-17", "Statement":{ "Effect":"Deny", "Action":"acm:RequestCertificate", "Resource":"*", "Condition":{ "StringLike" : { "acm:ValidationMethod":"EMAIL" }, "ArnNotLike": { "aws:PrincipalArn": [ "arn:aws:iam::123456789012:role/AllowedEmailValidation"] } } } }
示例 2:阻止通配符域
以下策略拒绝使用通配符域的任何新 ACM 证书请求。
{ "Version":"2012-10-17", "Statement":{ "Effect":"Deny", "Action":"acm:RequestCertificate", "Resource":"*", "Condition": { "ForAnyValue:StringLike": { "acm:DomainNames": [ "${*}.*" ] } } } }
示例 3:限制证书域
以下策略拒绝非 *.amazonaws.com
结尾的域的任何新 ACM 证书请求
{ "Version":"2012-10-17", "Statement":{ "Effect":"Deny", "Action":"acm:RequestCertificate", "Resource":"*", "Condition": { "ForAnyValue:StringNotLike": { "acm:DomainNames": ["*.amazonaws.com"] } } } }
该策略可以进一步限制为特定的子域。此政策仅允许其中每个域都与至少一个条件域名匹配的请求。
{ "Version":"2012-10-17", "Statement":{ "Effect":"Deny", "Action":"acm:RequestCertificate", "Resource":"*", "Condition": { "ForAllValues:StringNotLike": { "acm:DomainNames": ["support.amazonaws.com", "developer.amazonaws.com"] } } } }
示例 4:限制密钥算法
以下策略使用条件密钥 StringNotLike
来仅允许使用 ECDSA 384 位 (EC_secp384r1
) 密钥算法请求的证书。
{ "Version":"2012-10-17", "Statement":{ "Effect":"Deny", "Action":"acm:RequestCertificate", "Resource":"*", "Condition":{ "StringNotLike" : { "acm:KeyAlgorithm":"EC_secp384r1" } } } }
以下策略使用条件密钥 StringLike
和通配符 *
匹配来阻止在 ACM 中使用任何 RSA
密钥算法的新证书。
{ "Version":"2012-10-17", "Statement":{ "Effect":"Deny", "Action":"acm:RequestCertificate", "Resource":"*", "Condition":{ "StringLike" : { "acm:KeyAlgorithm":"RSA*" } } } }
示例 5:限制证书颁发机构
以下策略仅允许使用提供的私有证书颁发机构(PCA)ARN 的私有证书请求。
{ "Version":"2012-10-17", "Statement":{ "Effect":"Deny", "Action":"acm:RequestCertificate", "Resource":"*", "Condition":{ "StringNotLike": { "acm:CertificateAuthority":"
arn:aws:acm-pca:
" } } } }region
:account
:certificate-authority/CA_ID
此策略使用 acm:CertificateAuthority
条件来仅允许 Amazon Trust Services 颁发的公开信任证书的请求。将证书颁发机构 ARN 设置为 false
能阻止来自 PCA 的私有证书请求。
{ "Version":"2012-10-17", "Statement":{ "Effect":"Deny", "Action":"acm:RequestCertificate", "Resource":"*", "Condition":{ "Null" : { "acm:CertificateAuthority":"false" } } } }