【问题标题】:Query regarding AWS IAM ServiceAWS IAM服务查询
【发布时间】:2020-08-19 06:42:49
【问题描述】:

最近开始了解 AWS IAM 角色、组、角色和权限。

我知道组将添加一些权限,并且无论用户添加到该组中的谁,都将有权访问该组中提供的那些特定 AWS 服务。其中 as Role 用于提供从一项服务到其他服务的访问权限。 (假设 Lambda 想要访问 CloudWatch)。

我的查询是:假设组(例如“dev”)仅添加了 2 个权限策略(例如 S3FullAccess、LambdaFullAccess) 和为 Lambda 服务创建的角色(具有权限策略“cloudwatchFullAccess”),那么来自“dev”组的用户是否能够访问“cloudwatch”服务?

编辑: 另一个查询:我不明白我们如何将用户/组映射到仅特定角色? orelse 每个用户/组都可以访问角色(假设权限策略已经添加到角色中提到的那些服务的组中)?也请清除我这个

【问题讨论】:

    标签: amazon-web-services amazon-iam


    【解决方案1】:

    该角色的权限仅由担任该角色的principal(IAM 用户/IAM 角色/AWS 服务)允许。如果您的用户有权担任该 IAM 角色并做到了,那么是的,他们将拥有这些权限。

    但是,根据他们拥有的政策,他们无法担任该角色,但 Lambda(假设它具有适当的信任政策)可以担任相关的 IAM 角色。

    这意味着 Lambda 可以执行任何 CloudWatch 交互,这将允许开发组中的用户在 Lambda 函数中添加与 CloudWatch 交互的代码,然后在触发 Lambda 函数时查看它的输出。

    但是,他们无法在控制台中看到 CloudWatch 界面,也无法在 AWS CLI 上直接与其交互。

    解释用户、组和角色之间的区别:

    • IAM 用户是一个实体,您可以通过控制台或 CLI 直接与之交互。它需要凭据来执行这些交互并从策略中获得权限。通常建议不要将这些用于驻留在 AWS 中的应用程序。
    • IAM 组是一个实体,用于对相似的 IAM 用户进行分组,为他们提供相同的权限。这允许容易地维护层次结构。任何实体都不能成为组,这是对 IAM 用户的分配。
    • IAM 角色类似于用户,因为它可以与控制台或 CLI 交互。然而,要做到这一点,它必须被假定,这将为假定它的实体提供临时凭证。代入该角色的 AWS 服务会为您管理这些临时凭证。

    要让用户担任该角色,需要做好两件事。该角色需要具有允许 IAM 用户(或账户)的委托人担任该角色的信任策略。此外,用户需要有权对 IAM 角色资源执行 sts:AssumeRole 操作。

    更多信息可以在Granting a User Permissions to Switch Roles 文档中找到。

    【讨论】:

    • 所以,您的意思是 Lambda 服务可以执行 CloudWatch 交互,但用户无法访问 Cloudwatch 服务,因为“开发”组中未添加“Cloudwatch”权限策略..?顺便说一句,我刚刚编辑了我的查询,你能不能也回答一下..
    • 是的,他们不会直接拥有这些权限。该角色被分配给获得这些权限的 Lambda。我已经添加了额外的细节来回答。
    • 关于将用户映射到角色:可能您说的是正确的,但我无法理解它,因为我对 IAM 只有基本知识。是否有任何屏幕截图可以查看将用户映射到特定角色?顺便说一句,默认情况下,所有创建的角色都可以被任何用户访问吗?
    • 最好的办法是通过docs.aws.amazon.com/IAM/latest/UserGuide/…文档了解。
    • 没问题,如果您还有其他问题,请告诉我,我会尽力解释。初学者肯定会感到困惑:)
    猜你喜欢
    • 2019-04-18
    • 2017-12-31
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多