当前位置: 首页 > news >正文

从用户到权限:解密 AWS IAM Identity Center 的授权之道

大家好,今天我们来解决一个非常具体的实战问题:如何让 IAM Identity Center 中创建的用户真正获得 AWS 账户的操作权限,从而取代老旧的 IAM 用户管理模式?

如果我们盯着用户详情页,想找一个“附加角色”的按钮,那我们可能会失望。因为 IAM Identity Center 的魔法发生在更高一个层级。
在这里插入图片描述

核心理念:解耦“人”与“权限”

传统 IAM 用户模式下,“人”(用户)和“权限”(策略)是紧密绑定的。而在 IAM Identity Center 中,这个绑定被优雅地解开了,中间引入了两个关键概念:权限集 (Permission Sets)分配 (Assignments)

正确的流程是这样的:

  1. 用户和组 (Users & Groups):定义“谁是这个人”。我们已经完成了这一步,dave 是一个人,他属于 dev 这个组。
  2. 权限集 (Permission Sets):定义“可以做什么”。这就是 IAM Identity Center 里的“角色蓝图”。我们可以在这里创建一系列权限模板,比如 “数据库管理员权限”、“开发者只读权限”或“EC2完全访问权限”。
  3. 分配 (Assignments):将“谁”和“可以做什么”在具体的“哪个地方”(AWS 账户)连接起来。
实战步骤:三步完成授权

现在,让我们来完成从 dave 到实际权限的最后几步。

第 1 步:创建权限集 (Permission Set) - 我们的“权限模板”

这是最关键的一步。权限集定义了一套具体的权限,它在被分配到某个 AWS 账户时,IAM Identity Center 会自动在该账户中为我们创建一个对应的 IAM 角色。

  1. 在 IAM Identity Center 控制台的左侧导航栏中,找到并点击 “权限集” (Permission sets)
  2. 点击 “创建权限集” (Create permission set) 按钮。
  3. 我们有三个选择:
    • 使用 AWS 托管策略:最简单的方式。比如,我们可以选择 AdministratorAccessPowerUserAccess 策略来创建一个“管理员权限集”。
    • 复制现有权限集:如果我们已经有一个模板,可以复制并微调。
    • 自定义权限集:最灵活的方式。我们可以像创建普通 IAM 角色一样,内联编写 JSON 策略,或者附加多个 AWS 托管策略和自定义策略。

实用建议: 为我们的 dev 组创建一个名为 DeveloperAccess 的权限集。在自定义权限时,我们可以附加 AmazonEC2FullAccessAmazonS3ReadOnlyAccess 策略,以满足开发者的常见需求。

第 2 步:分配对 AWS 账户的访问权限 - 连接一切

现在,我们有了用户组 (dev) 和权限模板 (DeveloperAccess),是时候把它们应用到具体的 AWS 账户上了。

  1. 在 IAM Identity Center 控制台的左侧导航栏中,点击 “AWS 账户” (AWS accounts)。这里会列出我们 AWS Organization 中的所有账户。
  2. 勾选我们希望 dev 组能够访问的一个或多个 AWS 账户(例如,dev-account)。
  3. 点击 “分配用户或组” (Assign users or groups) 按钮。
  4. 在“用户和组”页签下,选择 dev,然后点击“下一步”。
  5. 在“权限集”页签下,勾选我们刚刚创建的 DeveloperAccess 权限集,然后点击“下一步”。
  6. 检查我们的分配(将 dev 组以 DeveloperAccess 权限分配到 dev-account),然后点击 “提交”

幕后发生了什么? 当我们点击提交后,IAM Identity Center 会自动在 dev-account 这个 AWS 账户中,创建一个名为 AWSReservedSSO_DeveloperAccess_xxxxxxxx 的 IAM 角色。这个角色的权限策略就是我们在权限集中定义的,并且其信任策略被精确地设置为信任我们的 IAM Identity Center 实例。

第 3 步:用户登录并使用权限

现在,用户 dave 的授权之旅已经完成!他可以:

  1. 访问我们公司的专属 AWS 访问门户 URL(形如 d-xxxxxxxxxx.awsapps.com/start)。
  2. 使用他的用户名 dave 和密码登录。
  3. 登录后,他会看到一个清晰的卡片,上面写着 dev-account
  4. 点击这个账户,如果他被分配了多个权限集(角色),他可以选择以 DeveloperAccess 的身份登录。
  5. 点击后,他就可以选择是通过“管理控制台”还是“命令行/API”获取访问凭证。选择控制台会直接将他无缝重定向到 dev-account 的 AWS 控制台,并已承担好对应的角色,无需再次输入密码。
结论:拥抱新范式

总结一下,我们不需要在用户 dave 的页面上寻找关联角色的地方。正确的做法是:

  1. 定义“权限蓝图” -> 创建 Permission Set
  2. 连接“人、权限、地点” -> 在 AWS Accounts 页面,将 GroupPermission Set 分配给目标账户。

这种方式极大地简化了多账户环境下的权限管理。当我们有新的开发者加入时,只需将他加入 dev 组,他就自动获得了所有已分配给该组的账户和权限,安全、高效且易于审计。这正是 IAM Identity Center 取代传统 IAM 用户的核心优势所在。

http://www.lqws.cn/news/560899.html

相关文章:

  • Linux更改国内镜像源
  • ZooKeeper深度面试指南三
  • Hadoop集群异常:两个NameNode全部为StandBy状态
  • 【中文核心期刊推荐】《计算机工程与设计》
  • linux学习第26天(信号集)
  • llm 基本案例实现
  • 从OCR瓶颈到结构化理解来有效提升RAG的效果
  • C++ - 浅看vector源码
  • SpringBoot -- 以 jar 包运行(以及常见错误分析)
  • HarmonyOS NEXT仓颉开发语言实战案例:动态广场
  • Java面试题030:一文深入了解MySQL(2)
  • SpringMVC系列(六)(Restful架构风格(中))
  • Python助力自动驾驶:深度学习模型优化全攻略
  • 什么是 PoS(权益证明)
  • 如何用VS Code、Sublime Text开发51单片机
  • uni-app subPackages 分包加载:优化应用性能的利器
  • Geollama 辅助笔记:raw_to_prompt_strings_geo.py
  • IDEA2024.3 tomcat需要按两次停止按钮停止问题
  • 区块链使用那些技术?
  • 太速科技-670-3U VPX PCIe桥扩展3路M.2高速存储模块
  • Linux测试是否能联网
  • 大事件项目记录8-文章分类接口开发-文章分类列表
  • 2025年健康医疗大数据开放共享:现状、挑战与未来发展
  • 计算机操作系统(十七)内存管理
  • Grab×亚矩阵云手机:以“云端超级节点”重塑东南亚出行与数字生活生态
  • 用鸿蒙打造真正的跨设备数据库:从零实现分布式存储
  • 【AI智能体】Dify 核心组件从使用到实战操作详解
  • 信号处理学习——文献精读与code复现之TFN——嵌入时频变换的可解释神经网络(上)
  • 数据湖 vs 数据仓库:数据界的“自来水厂”与“瓶装水厂”?
  • 阿里 Qwen3 模型更新,吉卜力风格get