You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过IAM策略限制Amazon SageMaker Studio特定实例类型失效排查

SageMaker Studio实例规格限制IAM策略不生效的排查原因
  • 条件运算符使用错误
    你这里用了ForAnyValue:StringLike,但sagemaker:InstanceTypes在CreateApp请求里是单个值,并非多值数组。ForAnyValue:是针对请求中多值参数的匹配场景,单值参数直接用StringLike即可,加前缀反而会导致匹配失效。

  • 实例类型匹配格式不符合实际规范
    *.*.48xlarge的写法不匹配SageMaker实例类型的真实格式,比如实际实例类型是ml.p3.48xlarge、ml.g5.32xlarge,正确的匹配规则应该是ml.*.48xlarge或者*.48xlarge,前者更精准,能避免误匹配其他非SageMaker的标识。

  • "system"和"default"属于无效匹配值
    用户选择默认实例类型时,请求中传递的是具体实例类型(比如ml.t3.medium),而非"system"或"default"字符串。添加这两个值不仅起不到作用,还可能干扰策略逻辑,建议先删除。

  • 存在权限冲突风险
    如果用户同时拥有其他允许sagemaker:CreateApp的策略(比如管理员权限策略),需确认你的拒绝策略条件是否真正触发。IAM中拒绝策略优先级更高,但如果其他策略允许所有CreateApp操作,且你的拒绝条件未匹配到请求参数,实例仍能被正常启动。

修正后的策略示例

{
    "Action": [
        "sagemaker:CreateApp"
    ],
    "Resource": [
        "*"
    ],
    "Effect": "Deny",
    "Sid": "BlockSagemakerLargeInstances",
    "Condition": {
        "StringLike": {
            "sagemaker:InstanceTypes": [
                "ml.*.48xlarge",
                "ml.*.32xlarge",
                "ml.*.24xlarge"
            ]
        }
    }
}

验证步骤

  1. 用IAM Access Analyzer检查策略的语法和逻辑是否合规。
  2. 开启CloudTrail日志,查看CreateApp请求中的InstanceTypes参数值,确认是否与策略匹配规则一致。
  3. 给测试账号仅附加修正后的策略,尝试启动目标规格实例,验证是否被拒绝。

内容的提问来源于stack exchange,提问作者Purple_haze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 21:15:28