

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

# 管理 OpsWorks 堆栈用户权限
<a name="opsworks-security-users"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

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

*“ OpsWorks **权限”** 页面（或等效的 CLI 或 API 操作）允许您通过为每个用户分配多个权限级别中的一个，在每个堆栈的基础上控制多用户环境中的用户权限。*每个级别均为特定堆栈资源的一组标准操作授予权限。您可以使用 **Permissions** 页面来控制：
+ 谁可以访问每个堆栈。
+ 每个用户可以在每个堆栈上执行哪些操作。

  例如，您可以允许一些用户只能查看堆栈，而其他用户可以部署应用程序、添加实例等等。
+ 谁可以管理每个堆栈。

  您可以将每个堆栈的管理工作委托给一个或多个指定用户。
+ 谁在每个堆栈的亚马逊实例上拥有用户级 SSH 访问权限和 sudo 权限 (Linux) 或 RDP 访问权限和管理员权限 (Windows)。 EC2 

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

**重要**  
拒绝 SSH/RDP 访问并不一定会阻止用户登录实例。如果您为实例指定 Amazon EC2 密钥对，则任何拥有相应私钥的用户都可以登录或使用该密钥检索 Windows 管理员密码。有关更多信息，请参阅 [管理 SSH 访问](security-ssh-access.md)。

您可以使用 [IAM 控制台](https://console.aws.amazon.com/iam)、CLI 或 API，将策略附加至针对各种 OpsWorks Stacks 资源和操作授予显式权限的用户。
+ 使用 IAM policy 指定权限比使用权限级别更灵活。
+ 您可以设置 [IAM 身份（用户、用户组和角色）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)，向用户和用户组等 IAM 身份授予权限，或者定义可以与联合用户关联的[角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。
+ IAM 策略是授予某些关键 OpsWorks 堆栈操作权限的唯一方法。

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

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

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

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

1. 使用 [IAM 控制台](https://console.aws.amazon.com/iam)将 AWSOpsWorks\$1FullAccess 策略应用于一个或多个管理用户。

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

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

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

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

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

有关管理用户的更多建议，请参阅 [最佳实践：管理权限](best-practices-permissions.md)。

有关 IAM 最佳实践的更多信息，请参阅*IAM 用户指南*中的 [IAM 中的安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

**Topics**
+ [管理 OpsWorks 堆栈用户](opsworks-security-users-manage.md)
+ [向 OpsWorks 堆栈用户授予每个堆栈的权限](opsworks-security-users-console.md)
+ [通过附加 IAM 策略管理 OpsWorks 堆栈权限](opsworks-security-users-policy.md)
+ [示例策略](opsworks-security-users-examples.md)
+ [OpsWorks 堆栈权限级别](opsworks-security-users-standard.md)