

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

# 向 OpsWorks 堆栈用户授予每个堆栈的权限
<a name="opsworks-security-users-console"></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 用户权限的最简单方法是使用堆栈的 “**权限**” 页面。每个堆栈均有其自己的页面，该页面可授予针对该堆栈的权限。

您必须以管理员用户或者 **Manage** 用户的身份登录，才能修改任何权限设置。该列表仅显示那些已导入 OpsWorks Stacks 的用户。有关如何创建和导入用户的信息，请参阅[管理用户](opsworks-security-users-manage.md)。

默认权限级别为“IAM Policies Only”，该级别仅向用户授予其附加 IAM policy 中的那些权限。
+ 当您从 IAM; 或另一个区域导入用户时，将使用 **IAM Policies Only** 权限级别将用户添加到所有现有堆栈的列表中。
+ 默认情况下，您刚从其他区域导入的用户无法访问目标区域中的堆栈。如果从其他区域导入用户，要让他们管理目标区域中的堆栈，则在导入用户之后，必须为这些堆栈分配权限。
+ 当您创建新堆栈时，会使用 **IAM Policies Only** 权限级别将所有当前用户添加到列表中。

**Topics**
+ [设置用户的权限](#opsworks-security-users-console-set)
+ [查看您的权限](#opsworks-security-users-console-viewing)
+ [使用 IAM; 条件键来验证临时凭证](#w2ab1c14c67c15c37c21)

## 设置用户的权限
<a name="opsworks-security-users-console-set"></a>

**设置用户的权限**

1. 在导航窗格中，选择 **Permissions (权限)**。

1. 在 **Permissions (权限)** 页面上，选择 **Edit (编辑)**。

1. 更改 **Permission level (权限级别)** 和 **Instance access (实例访问)** 设置：
   + 使用 **Permissions level** 设置为每个用户分配其中一个标准权限级别，从而确定用户是否可访问此堆栈以及用户可以执行哪些操作。如果用户拥有 IAM 策略， OpsWorks Stacks 会评估这两组权限。有关示例，请参阅[示例策略](opsworks-security-users-examples.md)。
   + **Instance access** **SSH/RDP** 设置可指定用户是否对堆栈的实例具有 SSH (Linux) 或 RDP (Windows) 访问权。

     如果您授予 **SSH/RDP** 访问权，则可以选择 **sudo/admin**，这样可授予用户对堆栈实例的 sudo (Linux) 或管理 (Windows) 特权。  
![\[利用“Permissions”页面管理用户。\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/permissions-edit.png)

您可以将每个用户分配到以下某个权限级别。有关每个级别所允许的操作列表，请参阅[OpsWorks 堆栈权限级别权限级别](opsworks-security-users-standard.md)。

**拒绝**  
用户无法在堆栈上执行任何 OpsWorks Stacks 操作，即使他们拥有授予 OpsWorks Stacks 完全访问权限的 IAM 策略。例如，您可以利用这一点来拒绝某些用户访问堆栈以获取未发布的产品。

**IAM Policies Only**  
默认级别，该级别分配给所有新导入的用户，以及新创建堆栈的所有用户。用户的权限由其所附加的 IAM policy 确定。如果用户没有 IAM 策略，或者他们的策略没有明确的 OpsWorks 堆栈权限，则他们无法访问堆栈。通常会向管理用户分配该级别，因为它们的附加 IAM 策略已经授予完全访问权限。

**Show (显式)**  
用户可查看堆栈，但不能执行任何操作。例如，管理员可能希望监控账户的堆栈，但不需要以任何方式部署应用程序或修改堆栈。

**部署**  
包括 **Show** 权限，并允许用户部署应用程序。例如，应用程序开发人员可能需要将更新部署到堆栈的实例，但不能向堆栈添加层或实例。

**Manage**  
包括 **Deploy** 权限，并允许用户执行各种堆栈管理工作，其中包括：  
+ 添加或删除层和实例。
+ 使用堆栈的 **Permissions** 页面将权限级别分配给用户。
+ 注册或取消注册资源。
例如，每个堆栈均可能具有指定的管理员，负责确保堆栈具有适当数量和类型的实例、处理软件包和操作系统更新等等。  
Manage 级别不允许用户创建或克隆堆栈。必须由附加的 IAM policy 授予这些权限。有关示例，请参阅[Manage 权限](opsworks-security-users-examples.md#opsworks-security-users-examples-manage)。

如果用户还有 IAM 策略， OpsWorks Stacks 会评估这两组权限。这将允许您为用户分配权限级别，然后将策略附加到用户以限制或扩充相应级别允许的操作。例如，您可以附加一种策略，该策略允许 **Manage** 用户创建或克隆堆栈，或拒绝该用户注册或取消注册资源。要获取此类策略的一些示例，请参阅[示例策略](opsworks-security-users-examples.md)。

**注意**  
如果用户的策略允许其他操作，则可能显示结果以覆盖 **Permissions** 页面设置。例如，如果用户拥有允许该[CreateLayer](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateLayer.html)操作的策略，但您使用 “**权限**” 页面来指定**部署**权限，则仍允许该用户创建图层。此规则的例外是 “**拒绝**” 选项，该选项甚至拒绝使用 AWSOpsWorks\$1FullAccess 策略的用户访问堆栈。有关更多信息，请参阅[使用策略控制对 AWS 资源的访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html)。

## 查看您的权限
<a name="opsworks-security-users-console-viewing"></a>

如果启用了[自我管理](opsworks-security-users-manage-edit.md)，则用户通过选择右上角的 **My Settings**，可查看其针对每个堆栈的权限级别汇总。如果用户的策略授予[DescribeMyUserProfile](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeMyUserProfile.html)和[UpdateMyUserProfile](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_UpdateMyUserProfile.html)操作的权限，则用户也可以访问 “**我的设置”**。

## 使用 IAM; 条件键来验证临时凭证
<a name="w2ab1c14c67c15c37c21"></a>

OpsWorks Stacks 具有内置的授权层，支持其他授权案例（例如简化个人用户对堆栈的只读或读写访问权限的管理）。此授权层需要使用临时凭证。因此，如 [IAM 文档的 JSON 策略元素参考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_Null)所述，您不能使用 `aws:TokenIssueTime` 条件来验证用户是否正在使用长期凭证，或阻止使用临时凭证的用户执行相应操作。