管理 AWS OpsWorks Stacks 用户权限 - AWS OpsWorks

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

管理 AWS OpsWorks Stacks 用户权限

处理 AWS OpsWorks Stacks 权限的一种方法是将 IAM AWSOpsWorksFullAccess 策略附加至每个 IAM 用户。但是,该策略允许用户在每个堆栈上执行每个 AWS OpsWorks Stacks 操作。通常需要将 AWS OpsWorks Stacks 用户限制为一组指定的操作或一组堆栈资源。您可以通过两种方式来控制 AWS OpsWorks Stacks 用户权限:使用 AWS OpsWorks Stacks Permissions (权限) 页面,或附加相应的 IAM 策略。

利用 OpsWorks Permissions (权限) 页面(或等效的 CLI 或 API 操作),可按堆栈控制多用户环境中的用户权限,方法是:为每个用户分配几个权限级别 中的其中一个。每个级别均为特定堆栈资源的一组标准操作授予权限。您可以使用 Permissions 页面来控制:

  • 谁可以访问每个堆栈。

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

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

  • 谁可以管理每个堆栈。

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

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

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

重要

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

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

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

  • 您可以设置 IAM 组(这些组可向多组用户授予权限),或定义可与联合身份用户相关联的角色

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

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

虽然不能明确在控制台中导入联合身份用户,但联合身份用户可以隐式创建用户配置文件,方法是:在 AWS OpsWorks Stacks 控制台右上角选择 My Settings (我的设置),然后选择 Users (用户)(也位于右上角)。在 Users 页面上,联合身份用户 (其账户是通过使用 API 或 CLI 创建的,或通过控制台隐式创建的) 可像非联合身份 IAM 用户一样管理其账户。

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

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

  1. 使用 IAM 控制台将 AWSOpsWorksFullAccess 策略附加至一个或多个管理用户。

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

    如果用户只需要访问 AWS OpsWorks Stacks,则您可能根本不需要附加策略。您可以使用 AWS OpsWorks Stacks Permissions (权限) 页面管理其权限。

  3. 使用 AWS OpsWorks Stacks Users (用户) 页面可将非管理用户导入到 AWS OpsWorks Stacks。

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

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

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

重要

作为最佳实践,请勿使用根 (账户所有者) 凭证在 AWS 中执行日常工作,而是创建具有适当权限的 IAM 管理员组。然后,为组织中需要执行管理任务的人员 (包括您自己) 创建 IAM 用户,并将这些用户添加到管理组中。有关更多信息,请参阅使用 IAM 指南中的 IAM 最佳实践