Amazon web services AWS机密管理器-仅当设置了特定的主体列表时,授予每个人访问权限

Amazon web services AWS机密管理器-仅当设置了特定的主体列表时,授予每个人访问权限,amazon-web-services,aws-secrets-manager,resource-based-authorization,Amazon Web Services,Aws Secrets Manager,Resource Based Authorization,我可以看到这里有一个机密管理器的策略评估规则 我有一个附加到secrets manager资源的策略,如下所示 { "Version" : "2012-10-17", "Statement" : [ { "Sid" : "minimumNeeded", "Effect" : "Allow", "Principal&

我可以看到这里有一个机密管理器的策略评估规则

我有一个附加到secrets manager资源的策略,如下所示

{
  "Version" : "2012-10-17",
  "Statement" : [ {
    "Sid" : "minimumNeeded",
    "Effect" : "Allow",
    "Principal" : {
      "AWS" : [ "arn:aws:sts::SLJFLSDKFJLSJDKF:assumed-role/xxx/USER1", "arn:aws:sts::SLJFLSDKFJLSJDKF:assumed-role/xxx/USER2" ]
    },
    "Action" : "secretsmanager:*",
    "Resource" : "*"
  }]
}
当另一个用户试图从aws CLI针对上述资源执行
put secret value
时,该操作有效,并且上述策略没有阻止他们。我对上述AWS文件的理解是:

  • 如果角色XXX明确允许secrets manager操作,则USER2将拥有一个ALLOW
  • 这个假设正确吗?如果是这样的话,除了某些人,我如何阻止所有人


    关于,

    我想我需要像文档中提到的那样,使用DENY执行
    NotPrincipal


    访问同一帐户内的资源时,如果资源策略明确授予访问权限,或者IAM用户/角色策略明确授予访问权限,则授予访问权限

    使用资源策略进行跨帐户访问时,必须同时使用用户/角色IAM策略和资源策略

    此外,如果任何地方都有拒绝语句(IAM或资源策略)。如果在任何地方未明确授予访问权限,则默认情况下会拒绝访问(本地帐户或交叉帐户)


    您没有提供用户是否在同一个帐户或不同帐户中的详细信息,但听起来好像他们在同一个帐户中。如果用户在同一帐户中,则在IAM策略中不能授予他们访问权限,或者在资源策略中必须有明确的拒绝语句。您还可以将策略与非主体声明一起更改为拒绝。然后,只要IAM用户/角色策略允许,只有允许的主体才能访问该机密。

    这意味着其他用户已被授予访问您的机密的权限。问题是,如果你不想让他们访问sercret,为什么这些其他用途首先被允许?基本上,我们想阻止除我们自己的人群之外的所有人。你必须查看explicit
    Deny
    @Marcin,那么你是在用类似
    StrringNotEquals
    的东西来指
    条件吗?如果是这样的话,请您回答一下,我将非常感谢您用Deny写的
    NotPrincipal
    。文档还解释了这是一个复杂的场景。您必须小心,因为“策略可能会拒绝访问包含主体的整个帐户。”