将 IAM 条件键与 Amazon Aurora DSQL 结合使用
Condition 元素(或 Condition 块)指定策略语句生效的条件。您可以使用条件运算符(例如 StringEquals 或 StringLike)构建条件表达式,来将策略中的键与请求中的值进行匹配。条件键不同于资源 ARN 范围界定,后者使用 Resource 元素将操作限制为特定的资源。
Amazon Aurora DSQL 同时支持特定于服务的条件键和 AWS 全局条件键。您可以使用这些键来优化 IAM 策略语句适用的条件。有关 AWS 全局条件键的更多信息,请参阅《IAM 用户指南》中的 AWS 全局条件上下文键。
Amazon Aurora DSQL 的可用条件键
Amazon Aurora DSQL 支持特定于服务的条件键 dsql:WitnessRegion、dsql:FisActionId 和 dsql:FisTargetArns。您也可以使用 AWS 全局条件键,例如 aws:RequestTag、aws:ResourceTag 和 aws:TagKeys。有关您可以在策略中指定的 Amazon Aurora DSQL 操作、条件键和资源的完整列表,请参阅《服务授权参考》中的 Amazon Aurora DSQL 的操作、资源和条件键。
示例:限制多区域集群的见证区域
以下策略使用 dsql:WitnessRegion 条件键将多区域集群创建限制为见证区域为美国西部(俄勒冈州)的情况。如果没有此条件,则可以指定任何区域作为见证区域。
第一条语句将 dsql:WitnessRegion 条件应用于支持该条件的操作(dsql:CreateCluster 和 dsql:PutWitnessRegion)。第二条语句授予 dsql:PutMultiRegionProperties 和 dsql:AddPeerCluster(不使用条件),因为 dsql:WitnessRegion 条件键仅适用于 dsql:CreateCluster 和 dsql:PutWitnessRegion。
示例:创建集群时需要标签
以下策略使用 aws:RequestTag 和 aws:TagKeys 条件键来要求您在创建集群时使用 Environment 标签。
此策略同时使用两个条件键。aws:RequestTag/Environment 条件要求 Environment 标签具有支持的值之一。带有 ForAllValues 集合运算符的 aws:TagKeys 条件可确保请求仅包含 Environment 和 Owner 标签键。
示例:将故障注入限制为特定集群
以下策略使用 dsql:FisActionId 和 dsql:FisTargetArns 条件键将 AWS FIS 故障注入限制为特定的操作和目标集群。
dsql:FisActionId 条件限制了您可以执行的故障注入操作。dsql:FisTargetArns 条件使用 ForAllValues 集合运算符和 ArnLike 运算符。它们共同确保请求中的每个集群 ARN 都与支持的模式相匹配。这会阻止任何包含超出预期范围的集群 ARN 的请求。