如何使用EC2 IAM角色主体与自动扩展在SecretsManager资源策略中共同使用。

0

【以下的问题经过翻译处理】 我有一个名为example-role的角色,它附加到一个EC2实例上,并且具有对SecretsManager的完全访问权限。该实例的ID是i-1234123431。

另一方面,我有一个受资源策略保护的秘密,该策略仅应授予具有example-role分配的EC2实例对秘密的访问权限。我在秘密上使用了以下资源策略。

最终,我想将该机制用作安全组。

问题1:我注意到如果我省略#1或#2,它将无法工作,我需要两个都。为什么都需要?

问题2:因为我需要使用#2,如何才能在ID不断更改的自动缩放组中使用此功能?我尝试使用\ *,但看起来NotPrincipal不支持它。我该如何解决这个问题?

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "secretsmanager:GetSecretValue",
      "NotPrincipal": {
          "AWS": [
              "arn:aws:iam::123456789:root",
              "arn:aws:iam::123456789:role/example-role", #1
              "arn:aws:sts::123456789:assumed-role/example-role/i-1234123431" #2
              ]
      },
      "Resource": "*"
    }
  ]
}

profile picture
EXPERTE
gefragt vor 5 Monaten29 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 请查看aws:PrincipalArnaws:userId条件密钥。

带有PrincipalArn的策略如下所示:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "secretsmanager:GetSecretValue",
      "Principal": {
          "AWS": "*"
      },
      "Resource": "*",
      "Condition": {
          "ArnNotEquals": {
              "aws:PrincipalArn": "arn:aws:iam::123456789:role/example-role"
          }
      }
    }
  ]
}

带有aws:userId的策略如下所示:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "secretsmanager:GetSecretValue",
      "Principal": {
          "AWS": "*"
      },
      "Resource": "*",
      "Condition": {
          "StringNotLike": {
              "aws:userId": "AROAABCDEFGHIJ:*"         #这将是角色的唯一标识符
          }
      }
    }
  ]
}

这两个策略避免了需要指定假设角色负责人的情况。不同之处在于aws:PrincipalArn将策略与角色名称绑定,而aws:userId将策略与角色的唯一标识符绑定。这意味着,如果要删除并重新创建该角色,PrincipalArn策略仍将按预期正常工作。如果使用相同的名称但具有不同唯一 ID 重新创建角色,则aws:userId策略将停止工作。

如果您删除角色并不重新创建它,属于该帐户的其他人可以创建具有相同名称的角色。

参考这篇关于aws:userid的文章,了解有关获取角色的唯一 ID 的更多信息。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen