gpt4 book ai didi

amazon-web-services - AWS IAM 基于用户的策略与基于资源的策略与两者

转载 作者:行者123 更新时间:2023-12-02 08:24:24 25 4
gpt4 key购买 nike

让我们假设一个基于用户的 IAM 策略,即可以附加到用户、组或角色的策略。

假设一个可以提供对 DynamoDB 表的完全访问权限:

{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "dynamodb:*",
"Resource": "arn:aws:dynamodb:us-west-2:123456789:table/Books"
}
}

根据此策略,任何以某种方式最终附加该策略(例如通过担任角色或直接)的用户都可以获得对该 DynamoDB 表的完全访问权限。

问题 1:是否值得在另一端(即 DynamoDB 表上)采用基于资源的策略来补充基于用户的策略?

示例:

{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::123456789012:user/bob"},
"Action": "dynamodb:*",
"Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/Books"
}

这里的动机是,之前的策略可能最终会意外地附加到某人,而使用基于资源的策略将确保只有用户Bob会被授予这些权限。

问题 2:使用更严格的资源策略可能更好吗?

问题 3:一般来说,是否有任何最佳实践/模式可以在基于用户基于资源策略之间进行选择(例如支持基于资源策略的服务是)?

最佳答案

答案 0:DynamoDB 不支持基于资源的策略。

控制台 GUI 看起来很像,但 API 没有相应的操作。并且文档很清楚:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-overview.html#access-control-manage-access-resource-based

答案 1:不要在同一资源上使用 IAM 和资源策略

访问控制的挑战是长期维护它:

  • 必须正确、迅速地设置新员工的权限(他们想要工作!)
  • 必须迅速取消离职者的权限(无论出于何种原因)
  • 必须有人定期审查并批准权限

如果只需要寻找一个位置,则上述所有 3 个任务都会容易得多。如果您想限制访问,请使用“效果”:“拒绝”。任何“意外分配”都会被审查发现。

答案 1b:

当然这取决于用例(例如四眼原则可以要求它)。有些权限无法在 IAM 中设置(例如“Everyone”),必须在资源上设置。或者,如果您销毁/重新创建资源,基于资源的权限就会消失。

答案 2:IAM 策略更易于管理

如果情况允许 IAM 和资源策略,则它们具有相同的语法并且可以同样严格,至少在您的情况下是如此。假设所有其他条件相同,IAM 策略更容易管理。

答案 3:最佳实践

不幸的是,除了“最低权限”之外,我不知道 AWS 发布了最佳实践。对于 AWS 之外的其他权限,我建议您采用可维护性方面的最佳实践。

关于amazon-web-services - AWS IAM 基于用户的策略与基于资源的策略与两者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42027547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com