AWS工作职能的 托管策略 - AWS Identity and Access Management

AWS工作职能的 托管策略

我们建议使用授予最低权限的策略,或仅授予执行任务所需的许可。授予最小权限的最安全方式是编写一个仅具有团队所需权限的自定义策略。您必须创建一个流程,以允许您的团队在必要时请求更多权限。创建仅为团队提供所需权限的 IAM 客户托管策略需要时间和专业知识。

要开始向您的 IAM 身份(用户、用户组和角色)添加权限,您可以使用 AWS托管式策略。AWS 托管策略涵盖常见使用案例,可在您的 AWS 账户中使用。AWS 托管策略不会授予最低权限。您必须考虑授予您的委托人超出其完成工作所需的更多权限所带来的安全风险。

您可以将 AWS 托管策略(包括任务函数)附加到任何 IAM 身份。要切换到最小权限,您可以运行 AWS Identity and Access Management Access Analyzer 以使用 AWS 托管策略监控委托人。了解他们使用的权限后,您可以编写自定义策略或生成仅包含团队所需权限的策略。这中方法不太安全,但您能够以更灵活的方式了解您的团队如何使用 AWS。

AWS 工作职能托管策略,旨在贴合 IT 行业的常见工作职能。您可以使用这些策略,给特定工作职能的某人,授予执行预期任务所需的权限。这些策略将许多服务的权限整合到单个策略,比起分散在多个策略之间的权限,处理起来更加简单。

使用角色来合并服务

某些策略使用 IAM 服务角色帮助您利用在其他 AWS 服务中发现的功能。这些策略授予对 iam:passrole 的访问权限,允许使用策略的用户将角色传递给 AWS 服务。此角色向 AWS 服务委派代表您执行操作的 IAM 权限。

您必须根据需求创建角色。例如,网络管理员策略允许具有策略的用户向 Amazon CloudWatch 服务传递名为 “flow-logs-vpc”的角色。CloudWatch 使用该角色记录和捕获用户创建的 VPC 的 IP 流量。

要遵循安全最佳实践,工作职能的策略包括限制可传递的有效角色名称的筛选器。这有助于避免授予不必要的权限。如果您的用户确实需要可选的服务角色,您必须按照策略中指定的命名约定创建一个角色。随后才能给角色授予权限。完成该操作后,用户方可配置服务来使用该角色,为服务授予角色提供的任何权限。

在以下部分中,每个策略的名称都是指向 AWS Management Console中策略详细信息页面的链接。您可以在该页面中查看策略文档并了解它所授予的权限。

管理员任务函数

AWS 托管策略名称:AdministratorAccess

使用案例:此用户具有完全访问权限,而且可以为 AWS; 中的每个服务和资源委派权限。

策略更新:AWS 维护和更新此策略。有关此策略的更改历史记录,请在 IAM 控制台中查看策略,然后选择 Policy versions(策略版本)选项卡。有关任务函数策略更新的更多信息,请参阅 工作职能的 AWS 托管策略

策略描述:此策略为账户中的所有 AWS 服务和所有资源授予所有操作权限。

注意

您必须先激活 IAM 用户和角色访问权限,然后 IAM 用户或角色才能使用此策略中的权限访问 AWS Billing and Cost Management 控制台。为此,请按照“向账单控制台委派访问权限”教程:第 1 步中的说明进行操作。

账单任务函数

AWS 托管策略名称:Billing

使用案例:此用户需要查看账单信息、设置付款和授权付款。用户可以监控整个 AWS 服务累积的各项成本。

策略更新:AWS 维护和更新此策略。有关此策略的更改历史记录,请在 IAM 控制台中查看策略,然后选择 Policy versions(策略版本)选项卡。有关任务函数策略更新的更多信息,请参阅 工作职能的 AWS 托管策略

策略描述:此策略授予管理账单、成本、付款方式、预算和报告的完整权限。

注意

您必须先激活 IAM 用户和角色访问权限,然后 IAM 用户或角色才能使用此策略中的权限访问 AWS Billing and Cost Management 控制台。为此,请按照“向账单控制台委派访问权限”教程:第 1 步中的说明进行操作。

数据库管理员任务函数

AWS 托管策略名称:DatabaseAdministrator

使用案例:此用户设置、配置和维护 AWS 云中的数据库。

策略更新:AWS 维护和更新此策略。有关此策略的更改历史记录,请在 IAM 控制台中查看策略,然后选择 Policy versions(策略版本)选项卡。有关任务函数策略更新的更多信息,请参阅 工作职能的 AWS 托管策略

策略说明:此策略授予创建、配置和维护数据库的权限。它包括访问 AWS 数据库服务(例如 Amazon DynamoDB、Amazon Relational Database Service (RDS) 和 Amazon Redshift)。有关此策略支持的数据库服务的完整列表,请查看此策略。

此作业功能策略支持将角色传递给 AWS 服务的功能。该策略仅允许对下表中指定的角色执行 iam:PassRole 操作。有关更多信息,请参阅本主题后面的 创建角色并附加策略(控制台)

适合数据库管理员工作职能的可选 IAM 服务角色
使用案例 角色名称 (* 为通配符) 可选择的服务角色类型 选择此 AWS 托管策略
允许用户监控 RDS 数据库 rds-monitoring-role Amazon RDS 角色用于增强监控 AmazonRDSEnhancedMonitoringRole
允许 AWS Lambda 监控您的数据库和访问外部数据库 rdbms-lambda-access Amazon EC2 AWSLambda_FullAccess
允许 Lambda 使用 DynamoDB 将文件上传到 Amazon S3 和 Amazon Redshift 集群 lambda_exec_role AWS Lambda 按照 AWS 大数据博客中的定义,新建一个托管策略
允许 Lambda 函数触发您的 DynamoDB 表 lambda-dynamodb-* AWS Lambda AWSLambdaDynamoDBExecutionRole
允许 Lambda 函数访问 VPC 中的 Amazon RDS lambda-vpc-execution-role 使用 AWS Lambda 开发人员指南中定义的信任策略创建一个角色 AWSLambdaVPCAccessExecutionRole
允许 AWS Data Pipeline 访问您的 AWS 资源 DataPipelineDefaultRole 使用 AWS Data Pipeline 开发人员指南中定义的信任策略创建一个角色 AWS Data Pipeline 文档列出了此使用案例所需的权限。请参阅适用于 AWS Data Pipeline 的 IAM 角色
允许您在 Amazon EC2 实例上运行的应用程序访问您的 AWS 资源 DataPipelineDefaultResourceRole 使用 AWS Data Pipeline 开发人员指南中定义的信任策略创建一个角色 AmazonEC2RoleforDataPipelineRole

数据科学家任务函数

AWS 托管策略名称:DataScientist

使用案例: 此用户运行 Hadoop 作业和查询。该用户还访问并分析有关数据分析和商业智能的信息。

策略更新:AWS 维护和更新此策略。有关此策略的更改历史记录,请在 IAM 控制台中查看策略,然后选择 Policy versions(策略版本)选项卡。有关任务函数策略更新的更多信息,请参阅 工作职能的 AWS 托管策略

策略描述:此策略授予在 Amazon EMR 集群上创建、管理和运行查询的权限,以及使用 Amazon QuickSight 等工具执行数据分析的权限。该策略包括访问其他数据科学家服务,例如 AWS Data Pipeline、Amazon EC2、Amazon Kinesis、Amazon Machine Learning 和 SageMaker。有关此策略支持的数据科学家服务的完整列表,请查看此策略。

此作业功能策略支持将角色传递给 AWS 服务的功能。一个语句允许将任何角色传递给 SageMaker。另一个语句仅允许对下表中指定的角色执行 iam:PassRole 操作。有关更多信息,请参阅本主题后面的 创建角色并附加策略(控制台)

适合数据科学家工作职能的可选 IAM 服务角色
使用案例 角色名称 (* 为通配符) 可选择的服务角色类型 AWS可选择的 托管策略
允许 Amazon EC2 实例访问适合集群的服务和资源 EMR-EC2_DefaultRole Amazon EMR for EC2 AmazonElasticMapReduceforEC2Role
允许 Amazon EMR 访问适合集群的 Amazon EC2 服务和资源 EMR_DefaultRole Amazon EMR AmazonEMRServicePolicy_v2
允许 Kinesis Kinesis Data Analytics 访问串流数据源 kinesis-* 使用AWS 大数据博客中定义的信任策略创建一个角色。 请参阅 AWS; 大数据博客,其中根据您的使用情况概述了四种可能的选项。
允许 AWS Data Pipeline 访问您的 AWS 资源 DataPipelineDefaultRole 使用 AWS Data Pipeline 开发人员指南中定义的信任策略创建一个角色 AWS Data Pipeline 文档列出了此使用案例所需的权限。请参阅适用于 AWS Data Pipeline 的 IAM 角色
允许您在 Amazon EC2 实例上运行的应用程序访问您的 AWS 资源 DataPipelineDefaultResourceRole 使用 AWS Data Pipeline 开发人员指南中定义的信任策略创建一个角色 AmazonEC2RoleforDataPipelineRole

高级开发人员用户任务函数

AWS 托管策略名称:PowerUserAccess

使用案例:此用户执行应用程序开发任务,并可创建和配置特定的资源和服务,它们为能够识别 AWS 的应用程序开发提供支持。

策略更新:AWS 维护和更新此策略。有关此策略的更改历史记录,请在 IAM 控制台中查看策略,然后选择 Policy versions(策略版本)选项卡。有关任务函数策略更新的更多信息,请参阅 工作职能的 AWS 托管策略

策略描述:此策略的第一条语句使用 NotAction 元素以允许对于所有 AWS 服务和所有资源执行所有操作(AWS Identity and Access Management 和 AWS Organizations 除外)。第二条语句授予创建服务相关角色的 IAM 权限。这是某些服务访问其他服务(如 Amazon S3 存储桶)中的资源所必需的。该策略还授予 Organizations 权限以查看有关用户所在企业的信息,包括管理账户电子邮件和企业限制。尽管此策略限制 IAM 和 Organizations 访问权限,但它允许用户执行所有 AWS SSO 操作(如果 AWS SSO 已启用)。

网络管理员任务函数

AWS托管策略名称:NetworkAdministrator

使用案例:此用户分配到的任务是设置和维护 AWS 网络资源。

策略更新:AWS 维护和更新此策略。有关此策略的更改历史记录,请在 IAM 控制台中查看策略,然后选择 Policy versions(策略版本)选项卡。有关任务函数策略更新的更多信息,请参阅 工作职能的 AWS 托管策略

策略说明:此策略授予在 Auto Scaling、Amazon EC2、AWS Direct Connect、Route 53、Amazon CloudFront、Elastic Load Balancing、AWS Elastic Beanstalk、Amazon SNS、CloudWatch、CloudWatch Logs、Amazon S3、IAM 以及 Amazon Virtual Private Cloud 中创建和维护网络资源的权限。

此工作职能需要将角色传递给 AWS 服务的能力。该策略仅为下表中列出的角色授予 iam:GetRoleiam:PassRole 的权限。有关更多信息,请参阅本主题后面的 创建角色并附加策略(控制台)

适合网络管理员工作职能的可选 IAM 服务角色
使用案例 角色名称 (* 为通配符) 可选择的服务角色类型 AWS可选择的 托管策略
允许 Amazon VPC 代表用户在 CloudWatch Logs 中创建和管理日志,以监控进出您的 VPC 的 IP 流量 flow-logs-* 使用 Amazon VPC 用户指南中定义的信任策略创建一个角色 此使用案例没有现成的 AWS 托管策略,但是,文档列出了所需权限。参阅 Amazon VPC 用户指南

只读访问权限

AWS 托管策略名称: ReadOnlyAccess

使用案例:此用户需要对 AWS 账户中所有资源的只读访问权限。

策略更新:AWS 维护和更新此策略。有关此策略的更改历史记录,请在 IAM 控制台中查看策略,然后选择 Policy versions(策略版本)选项卡。有关任务函数策略更新的更多信息,请参阅 工作职能的 AWS 托管策略

策略说明:此策略授予列出、获取、描述和查看资源及其属性的权限。它不包括创建或删除等转换功能。此策略包含对与安全相关的 AWS 服务(例如 AWS Identity and Access Management 和 AWS Billing and Cost Management)的只读访问权限。有关此策略支持的服务和操作的完整列表,请查看此策略。

安全审计员任务函数

AWS 托管策略名称:SecurityAudit

使用案例: 此用户监控账户是否符合安全要求。此用户可以访问日志和事件来调查潜在的安全漏洞或潜在的恶意活动。

策略更新:AWS 维护和更新此策略。有关此策略的更改历史记录,请在 IAM 控制台中查看策略,然后选择 Policy versions(策略版本)选项卡。有关任务函数策略更新的更多信息,请参阅 工作职能的 AWS 托管策略

策略描述:此策略可授予查看多项 AWS 服务的配置数据并检查其日志的权限。

支持用户任务函数

AWS 托管策略名称:SupportUser

使用案例:此用户与 AWS Support 联系,创建支持案例并查看现有案例的状态。

策略更新:AWS 维护和更新此策略。有关此策略的更改历史记录,请在 IAM 控制台中查看策略,然后选择 Policy versions(策略版本)选项卡。有关任务函数策略更新的更多信息,请参阅 工作职能的 AWS 托管策略

策略描述:此策略授予创建和更新 AWS Support 案例的权限。

系统管理员任务函数

AWS 托管策略名称:SystemAdministrator

使用案例: 此用户设置和维护用于开发操作的资源。

策略更新:AWS 维护和更新此策略。有关此策略的更改历史记录,请在 IAM 控制台中查看策略,然后选择 Policy versions(策略版本)选项卡。有关任务函数策略更新的更多信息,请参阅 工作职能的 AWS 托管策略

策略说明:此策略授予权限,以跨诸多 AWS 服务(包括 AWS CloudTrail、Amazon CloudWatch、AWS CodeCommit、AWS CodeDeploy、AWS Config、AWS Directory Service、Amazon EC2、AWS Identity and Access Management、AWS Key Management Service、AWS Lambda、Amazon RDS、Route 53、Amazon S3、Amazon SES、Amazon SQS、 AWS Trusted Advisor 和 Amazon VPC)创建和维护资源。

此工作职能需要将角色传递给 AWS 服务的能力。该策略仅为下表中列出的角色授予 iam:GetRoleiam:PassRole 的权限。有关更多信息,请参阅本主题后面的 创建角色并附加策略(控制台)

适合系统管理员工作职能的可选 IAM 服务角色
使用案例 角色名称 (* 为通配符) 可选择的服务角色类型 AWS可选择的 托管策略
允许 Amazon ECS 集群中在 EC2 实例中运行的应用程序访问 Amazon ECS ecr-sysadmin-* 适合 EC2 Container Service 的 Amazon EC2 角色 AmazonEC2ContainerServiceforEC2Role
允许用户监控数据库 rds-monitoring-role Amazon RDS 角色用于增强监控 AmazonRDSEnhancedMonitoringRole
允许在 EC2 实例中运行的应用程序访问 AWS 资源。 ec2-sysadmin-* Amazon EC2 角色的示例策略,授予对 S3 存储桶的访问权限,如适用于 Linux 实例的 Amazon EC2 用户指南中所示;可根据需要自定义
允许 Lambda 读取 DynamoDB 流并写入 CloudWatch Logs lambda-sysadmin-* AWS Lambda AWSLambdaDynamoDBExecutionRole

“仅查看”用户任务函数

AWS 托管策略名称:ViewOnlyAccess

使用案例:此用户可以查看账户中所有服务的 AWS 资源和基本元数据的列表。用户不得读取超出资源配额和列表信息的资源内容和元数据。

策略更新:AWS 维护和更新此策略。有关此策略的更改历史记录,请在 IAM 控制台中查看策略,然后选择 Policy versions(策略版本)选项卡。有关任务函数策略更新的更多信息,请参阅 工作职能的 AWS 托管策略

策略描述:此策略授予针对大多数 List* 服务的资源的 Describe*Get*View*Lookup* 和 AWS 访问权限。要查看此策略包含针对每种服务的哪些操作,请参阅 ViewOnlyAccess

工作职能的 AWS 托管策略

这些策略均由 AWS 维护并随时保持更新,以便在 AWS 添加新服务和新功能时,包括对它们的支持。这些策略不能由客户修改。您可以复制策略并对副本进行修改,但在 AWS 推出新的服务和 API 操作时,不会自动更新该副本。

对于任务函数策略,您可以在 IAM 控制台中查看版本历史记录以及每次更新的时间和日期。为此,请使用此页上的链接查看策略详细信息。然后选择 Policy versions(策略版本)选项卡以查看版本。此页显示策略的最新 25 个版本。要查看策略的所有版本,请调用 get-policy-version AWS CLI 命令或 GetPolicyVersion API 操作。

注意

您最多可以有五个版本的客户托管策略,但 AWS 会保留 AWS 托管策略的完整版本历史记录。