本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
您可以将资源级访问控制和基于属性的访问控制 (ABAC) 标签用于成本异常监控器和异常订阅。每个异常监控器和异常订阅资源都有一个唯一的 Amazon 资源名称 () ARN。您还可以将标签(键值对)添加到每个特征。资源ARNs和ABAC标签都可用于对您 AWS 账户中的用户角色或群组进行精细的访问控制。
有关资源级访问控制和ABAC标签的更多信息,请参阅。AWS 成本管理如何运作 IAM
注意
成本异常检测不支持基于资源的策略。基于资源的策略直接与 AWS 资源挂钩。有关策略和权限之间区别的更多信息,请参阅《用户指南》中的基于身份的策略和基于资源的策略。IAM
使用资源层面的策略限制访问。
您可以使用资源级权限来允许或拒绝访问策略中的一个或多个成本异常检测资源。IAM或者,使用资源级权限来允许或拒绝访问所有成本异常检测资源。
创建时IAM,请使用以下 Amazon 资源名称 (ARN) 格式:
-
AnomalyMonitor
资源 ARNarn:${partition}:ce::${account-id}:anomalymonitor/${monitor-id}
-
AnomalySubscription
资源 ARNarn:${partition}:ce::${account-id}:anomalysubscription/${subscription-id}
要允许IAM实体获取和创建异常监控器或异常订阅,请使用类似于此示例策略的策略。
注意
-
对于
ce:GetAnomalyMonitor
和ce:GetAnomalySubscription
,用户拥有全部或完全没有资源级访问控制。这要求策略使用arn:${partition}:ce::${account-id}:anomalymonitor/*
arn:${partition}:ce::${account-id}:anomalysubscription/*
、或形式的仿制药ARN*
。 -
对于
ce:CreateAnomalyMonitor
和ce:CreateAnomalySubscription
,我们没有此ARN资源的资源。因此,该策略始终使用上一个 bullet 中提到的通用ARN名称。 -
对于
ce:GetAnomalies
,请使用可选monitorArn
参数。与该参数一起使用时,我们会确认用户是否有权访问monitorArn
。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ce:GetAnomalyMonitors",
"ce:CreateAnomalyMonitor"
],
"Effect": "Allow",
"Resource": "arn:aws:ce::999999999999:anomalymonitor/*"
},
{
"Action": [
"ce:GetAnomalySubscriptions",
"ce:CreateAnomalySubscription"
],
"Effect": "Allow",
"Resource": "arn:aws:ce::999999999999:anomalysubscription/*"
}
]
}
要允许IAM实体更新或删除异常监控器,请使用类似于此示例策略的策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ce:UpdateAnomalyMonitor",
"ce:DeleteAnomalyMonitor"
],
"Resource": [
"arn:aws:ce::999999999999:anomalymonitor/f558fa8a-bd3c-462b-974a-000abc12a000",
"arn:aws:ce::999999999999:anomalymonitor/f111fa8a-bd3c-462b-974a-000abc12a001"
]
}
]
}
使用标签控制访问权限 (ABAC)
您可以使用标签 (ABAC) 来控制对支持标记的成本异常检测资源的访问权限。要根据标签控制访问,您需要在策略的 Condition
元素中提供标签信息。然后,您可以根据资源的标签创建允许或拒绝对资源的访问的IAM策略。您可以使用标签条件键以控制对资源、请求或授权过程任何部分的访问。有关使用标签的IAM角色的更多信息,请参阅《用户指南》中的使用标签控制IAM用户和角色的访问权限。
创建允许更新异常监控的基于身份的策略。如果监控标签 Owner
的值为用户名,请使用与此示例策略类似的策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ce:UpdateAnomalyMonitor"
],
"Resource": "arn:aws:ce::*:anomalymonitor/*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/Owner": "${aws:username}"
}
}
},
{
"Effect": "Allow",
"Action": "ce:GetAnomalyMonitors",
"Resource": "*"
}
]
}