管理 AWS OpsWorks 堆栈用户权限 - AWS OpsWorks

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

管理 AWS OpsWorks 堆栈用户权限

重要

该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre mium Su AWS pp ort 与 AWS Support 团队联系。

最佳做法是,将 AWS OpsWorks Stacks 用户限制为使用一组指定的操作或堆栈资源。您可以通过两种方式控制 AWS OpsWorks Stacks 用户权限:使用 AWS OpsWorks 堆栈权限页面和应用适当的 IAM 策略。

“ OpsWorks 权限” 页面(或等效的 CLI 或 API 操作)允许您通过为每个用户分配多个权限级别中的一个,在每个堆栈的基础上控制多用户环境中的用户权限。每个级别均为特定堆栈资源的一组标准操作授予权限。您可以使用 Permissions 页面来控制:

  • 谁可以访问每个堆栈。

  • 每个用户可以在每个堆栈上执行哪些操作。

    例如,您可以允许一些用户只能查看堆栈,而其他用户可以部署应用程序、添加实例等等。

  • 谁可以管理每个堆栈。

    您可以将每个堆栈的管理工作委托给一个或多个指定用户。

  • 谁对每个堆栈的 Amazon EC2 实例拥有用户级 SSH 访问权和 sudo 特权 (Linux),或 RDP 访问权和管理员特权 (Windows)。

    您可以随时针对每个用户单独授予或删除这些权限。

重要

拒绝 SSH/RDP 访问权不一定会阻止用户登录到实例。如果为实例指定 Amazon EC2 密钥对,则具有相应私有密钥的任何用户都可以登录或使用密钥来找回 Windows 管理员密码。有关更多信息,请参阅 管理 SSH 访问

您可以使用 IAM 控制台、CLI 或 API,将策略附加至针对各种 AWS OpsWorks Stacks 资源和操作授予显式权限的用户。

  • 使用 IAM policy 指定权限比使用权限级别更灵活。

  • 您可以设置 IAM 身份(用户、用户组和角色),向用户和用户组等 IAM 身份授予权限,或者定义可以与联合用户关联的角色

  • IAM 策略是授予某些关键 AWS OpsWorks 堆栈操作权限的唯一方法。

    例如,您必须使用 IAM; 授予针对 opsworks:CreateStackopsworks:CloneStack 的权限,这两个代码分别用于创建和克隆堆栈。

虽然无法在控制台中明确导入联合用户,但联合用户可以通过选择 AWS OpsWorks Stacks 控制台右上角的 “我的设置”,然后选择右上角的 “用户” 来隐式创建用户个人资料。在 用户 页面上,联合身份用户 (其账户是通过使用 API 或 CLI 创建的,或通过控制台隐式创建的) 可像非联合身份用户一样管理其账户。

这两种方法并不相互排斥,有时将这两种方法结合使用非常有用;随后 AWS OpsWorks Stacks 会评估两组权限。例如,假设您想允许用户添加或删除实例,但不允许其添加或删除层。 AWS OpsWorks Stacks 的所有权限级别均未授予该特定权限集。不过,您可以使用 权限 页面授予用户 管理 权限级别,这允许他们执行大部分堆栈操作,然后附加可拒绝添加或删除层的权限的 IAM policy。有关更多信息,请参阅使用策略控制访问 AWS 资源

以下是管理用户权限的典型模型。在每种情况下,均假定读者 (您) 为管理用户。

  1. 使用 IAM 控制台将 AWSOpsWorks_FullAccess 策略应用于一个或多个管理用户。

  2. 利用不授予任何 AWS OpsWorks Stacks 权限的策略为每个非管理用户创建一个用户。

    如果用户只需要访问 AWS OpsWorks 堆栈,则可能根本不需要应用策略。相反,您可以通过 “ AWS OpsWorks 堆栈权限” 页面管理他们的权限

  3. 使用 “ AWS OpsWorks 堆栈用户” 页面将非管理用户导入堆栈。 AWS OpsWorks

  4. 对于每个堆栈,请使用堆栈的 Permissions 页面向每个用户分配权限级别。

  5. 根据需要,通过附加适当配置的 IAM policy 自定义用户的权限级别。

有关管理用户的更多建议,请参阅 最佳实践:管理权限

有关 IAM 最佳实践的更多信息,请参阅IAM 用户指南中的 IAM 中的安全最佳实践