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

已限制IAM用户查看密钥,如何限制联合用户查看AWS Secrets Manager密钥?

限制联合用户访问指定Secrets Manager密钥的方法

首先优化你现有的IAM用户策略:当前策略的Resource设为*会限制所有密钥,你需要改成指定密钥的ARN(比如arn:aws:secretsmanager:us-east-1:123831926524:secret:your-target-secret-xxxx),这样才能精准限制单密钥,避免影响其他资源。

针对联合用户(通常通过IAM角色完成身份联合),可以通过以下两种方式实现访问限制:

方式1:直接允许特定IAM角色的联合用户访问

联合用户登录后会扮演指定IAM角色,你可以将该角色的ARN加入NotPrincipal列表,这样只有指定IAM用户、root和该角色的联合用户能访问目标密钥:

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Deny",
        "NotPrincipal": {
            "AWS": [
                "arn:aws:iam::123831926524:user/指定IAM用户名",
                "arn:aws:iam::123831926524:root",
                "arn:aws:iam::123831926524:role/允许访问的联合用户角色名"
            ]
        },
        "Action": "secretsmanager:GetSecretValue",
        "Resource": "arn:aws:secretsmanager:区域ID:123831926524:secret:你的目标密钥ARN"
    }]
}

方式2:基于联合用户身份属性精细控制

如果需要根据联合用户的身份提供商(IdP)属性(如SAML签发者、用户组)或会话标签限制访问,可以使用Condition条件:

比如仅允许来自特定SAML IdP的联合用户访问:

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Deny",
        "NotPrincipal": {
            "AWS": [
                "arn:aws:iam::123831926524:user/指定IAM用户名",
                "arn:aws:iam::123831926524:root"
            ]
        },
        "Action": "secretsmanager:GetSecretValue",
        "Resource": "arn:aws:secretsmanager:区域ID:123831926524:secret:你的目标密钥ARN",
        "Condition": {
            "StringNotEquals": {
                "saml:issuer": "https://你的IdP签发地址"
            }
        }
    }]
}

或者仅允许带有指定会话标签的联合用户访问:

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Deny",
        "NotPrincipal": {
            "AWS": [
                "arn:aws:iam::123831926524:user/指定IAM用户名",
                "arn:aws:iam::123831926524:root"
            ]
        },
        "Action": "secretsmanager:GetSecretValue",
        "Resource": "arn:aws:secretsmanager:区域ID:123831926524:secret:你的目标密钥ARN",
        "Condition": {
            "StringNotEquals": {
                "aws:PrincipalTag/AccessGroup": "SecretAccess"
            }
        }
    }]
}

注意事项

  • 联合用户的身份主体格式通常为arn:aws:sts::123831926524:assumed-role/角色名/会话名,但在NotPrincipal中直接使用角色ARN即可覆盖所有扮演该角色的会话。
  • 务必确保策略中的Resource是目标密钥的精确ARN,避免误限制其他资源。
  • Deny策略优先级高于Allow策略,只要匹配Deny条件的用户都会被拒绝访问。

内容的提问来源于stack exchange,提问作者Alex Pătroi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 22:12:24