

# 工作职能的 AWS 托管策略
<a name="access_policies_job-functions"></a>

我们建议使用[授予最低权限](best-practices.md#grant-least-privilege)的策略，或仅授予执行任务所需的许可。授予最小权限的最安全方式是编写一个仅具有团队所需权限的自定义策略。您必须创建一个流程，以允许您的团队在必要时请求更多权限。创建仅为团队提供所需权限的 [IAM 客户管理型策略](access_policies_create-console.md)需要时间和专业知识。

要开始向您的 IAM 身份（用户、用户组和角色）添加权限，您可以使用 [AWS托管策略](access_policies_managed-vs-inline.md#aws-managed-policies)。AWS 托管策略涵盖常见使用案例，并且可在您的 AWS 账户 中使用。AWS 托管策略不会授予最低权限。您必须考虑授予您的主体超出其完成工作所需的更多权限所带来的安全风险。

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

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

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

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

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

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

## 管理员任务函数
<a name="jf_administrator"></a>

**AWS 托管策略名称：**[AdministratorAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AdministratorAccess)

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

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略描述：**此策略为账户中的所有 AWS 服务和所有资源授予所有操作权限。有关托管式策略的更多信息，请参阅《AWS 托管策略参考指南》中的 [AdministratorAccess](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/AdministratorAccess.html)**。

**注意**  
您必须先激活 IAM 用户和角色访问权限，然后 IAM 用户或角色才能使用此策略中的权限访问 AWS 账单与成本管理 控制台。为此，请按照[授予对账单控制台的访问权限](getting-started-account-iam.md)中的说明进行操作，委派账单控制台的访问权限。

## 账单任务函数
<a name="jf_accounts-payable"></a>

**AWS 托管策略名称：**[Billing](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/Billing)

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

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略描述：**此策略授予管理账单、成本、付款方式、预算和报告的完整权限。有关其他成本管理策略示例，请参阅《AWS 账单与成本管理 用户指南》中的[AWS Billing 策略示例](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-example-policies.html)**。有关托管式策略的更多信息，请参阅《AWS 托管式策略参考指南》中的 [Billing](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/Billing.html)**。

**注意**  
您必须先激活 IAM 用户和角色访问权限，然后 IAM 用户或角色才能使用此策略中的权限访问 AWS 账单与成本管理 控制台。为此，请按照[授予对账单控制台的访问权限](getting-started-account-iam.md)中的说明进行操作，委派账单控制台的访问权限。

## 数据库管理员任务函数
<a name="jf_database-administrator"></a>

**AWS 托管策略名称：**[DatabaseAdministrator](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/DatabaseAdministrator)

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

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略说明：**此策略授予创建、配置和维护数据库的权限。它包括访问 AWS 数据库服务（例如 Amazon DynamoDB、Amazon Relational Database Service (RDS) 和 Amazon Redshift）。有关此策略支持的数据库服务的完整列表，请查看此策略。有关托管式策略的更多信息，请参阅《AWS 托管式策略参考指南》中的 [DatabaseAdministrator](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/DatabaseAdministrator.html)**。

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


| 使用案例 | 角色名称 (\$1 为通配符) | 可选择的服务角色类型 | 选择此 AWS 托管策略 | 
| --- | --- | --- | --- | 
| 允许用户监控 RDS 数据库 | [rds-monitoring-role](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html) | Amazon RDS 角色用于增强监控 | [AmazonRDSEnhancedMonitoringRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonRDSEnhancedMonitoringRole) | 
| 允许 AWS Lambda 监控您的数据库和访问外部数据库 | [rdbms-lambda-access](https://aws.amazon.com/blogs/big-data/from-sql-to-microservices-integrating-aws-lambda-with-relational-databases) | Amazon EC2 | [AWSLambda\$1FullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSLambda_FullAccess) | 
| 允许 Lambda 使用 DynamoDB 将文件上传到 Amazon S3 和 Amazon Redshift 集群 | [lambda\$1exec\$1role](https://aws.amazon.com/blogs/big-data/a-zero-administration-amazon-redshift-database-loader) | AWS Lambda | 按照 [AWS 大数据博客](https://aws.amazon.com/blogs/big-data/a-zero-administration-amazon-redshift-database-loader)中的定义，新建一个托管策略 | 
| 允许 Lambda 函数触发您的 DynamoDB 表 | [lambda-dynamodb-\$1](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html) | AWS Lambda | [AWSLambdaDynamoDBExecutionRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSLambdaDynamoDBExecutionRole) | 
| 允许 Lambda 函数访问 VPC 中的 Amazon RDS | [lambda-vpc-execution-role](https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds.html) | 使用 [AWS Lambda 开发人员指南](https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds.html)中定义的信任策略创建一个角色 | [AWSLambdaVPCAccessExecutionRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole) | 
| 允许 AWS Data Pipeline 访问您的 AWS 资源 | [DataPipelineDefaultRole](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html) | 使用 [AWS Data Pipeline 开发人员指南](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html)中定义的信任策略创建一个角色 | AWS Data Pipeline 文档列出了此使用案例所需的权限。请参阅[适用于 AWS Data Pipeline 的 IAM 角色](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html) | 
| 允许您在 Amazon EC2 实例上运行的应用程序访问您的 AWS 资源 | [DataPipelineDefaultResourceRole](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html) | 使用 [AWS Data Pipeline 开发人员指南](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html)中定义的信任策略创建一个角色 | [AmazonEC2RoleforDataPipelineRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforDataPipelineRole) | 

## 数据科学家任务函数
<a name="jf_data-scientist"></a>

**AWS 托管策略名称：**[DataScientist](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/DataScientist)

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

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略描述：**此策略授予在 Amazon EMR 集群上创建、管理和运行查询的权限，以及使用 Amazon QuickSight 等工具执行数据分析的权限。该策略包括访问其他数据科学家服务，例如 AWS Data Pipeline、Amazon EC2、Amazon Kinesis、Amazon Machine Learning 和 SageMaker AI。有关此策略支持的数据科学家服务的完整列表，请查看此策略。有关托管式策略的更多信息，请参阅《AWS 托管式策略参考指南》中的 [DataScientist](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/DataScientist.html)**。

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


| 使用案例 | 角色名称 (\$1 为通配符) | 可选择的服务角色类型 | 可选择的 AWS 托管策略 | 
| --- | --- | --- | --- | 
| 允许 Amazon EC2 实例访问适合集群的服务和资源 | [EMR-EC2\$1DefaultRole](https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-iam-roles-defaultroles.html) | Amazon EMR for EC2  | [AmazonElasticMapReduceforEC2Role](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonElasticMapReduceforEC2Role) | 
| 允许 Amazon EMR 访问适合集群的 Amazon EC2 服务和资源 | [EMR\$1DefaultRole](https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-iam-roles-defaultroles.html) | Amazon EMR | [AmazonEMRServicePolicy\$1v2](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEMRServicePolicy_v2) | 
| 允许适用于 Apache Flink 的 Kinesis 托管服务访问串流数据来源 | [kinesis-\$1](https://aws.amazon.com/blogs/big-data/a-zero-administration-amazon-redshift-database-loader) | 使用[AWS 大数据博客](https://aws.amazon.com/blogs/big-data/a-zero-administration-amazon-redshift-database-loader)中定义的信任策略创建一个角色。 | 请参阅 [AWS; 大数据博客](https://aws.amazon.com/blogs/big-data/a-zero-administration-amazon-redshift-database-loader)，其中根据您的使用情况概述了四种可能的选项。 | 
| 允许 AWS Data Pipeline 访问您的 AWS 资源 | [DataPipelineDefaultRole](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html) | 使用 [AWS Data Pipeline 开发人员指南](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html)中定义的信任策略创建一个角色 | AWS Data Pipeline 文档列出了此使用案例所需的权限。请参阅[适用于 AWS Data Pipeline 的 IAM 角色](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html) | 
| 允许您在 Amazon EC2 实例上运行的应用程序访问您的 AWS 资源 | [DataPipelineDefaultResourceRole](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html) | 使用 [AWS Data Pipeline 开发人员指南](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html)中定义的信任策略创建一个角色 | [AmazonEC2RoleforDataPipelineRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforDataPipelineRole) | 

## 高级开发人员用户任务函数
<a name="jf_developer-power-user"></a>

**AWS 托管策略名称：**[PowerUserAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/PowerUserAccess)

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

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略描述：**此策略的第一条语句使用 [`NotAction`](reference_policies_elements_notaction.md) 元素以允许对于所有 AWS 服务和所有资源执行所有操作（AWS Identity and Access Management、AWS Organizations 和 AWS 账户管理 除外）。第二条语句授予创建服务相关角色的 IAM 权限。这是某些服务访问其他服务（如 Amazon S3 存储桶）中的资源所必需的。该策略还授予 AWS Organizations 权限以查看有关用户所在组织的信息，包括管理账户电子邮件和企业限制。尽管此策略限制 IAM、AWS Organizations，但它允许用户执行所有 IAM Identity Center 操作（如果 IAM Identity Center 已启用）。它还授予账户管理权限以查看为账户启用或禁用了哪些 AWS 区域。

## 网络管理员任务函数
<a name="jf_network-administrator"></a>

**AWS托管策略名称：**[NetworkAdministrator](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/NetworkAdministrator)

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

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略说明：**此策略授予在 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 托管式策略参考指南》中的 [NetworkAdministrator](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/NetworkAdministrator.html)**。

此工作职能需要将角色传递给 AWS 服务的能力。该策略仅为下表中列出的角色授予 `iam:GetRole` 和 `iam:PassRole` 的权限。有关更多信息，请参阅本主题后面的[创建角色并附加策略（控制台）](access_policies_job-functions_create-policies.md)。


| 使用案例 | 角色名称 (\$1 为通配符) | 可选择的服务角色类型 | 可选择的 AWS 托管策略 | 
| --- | --- | --- | --- | 
| 允许 Amazon VPC 代表用户在 CloudWatch Logs 中创建和管理日志，以监控进出您的 VPC 的 IP 流量 | [flow-logs-\$1](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-logs-iam) | 使用 [Amazon VPC 用户指南](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-logs-iam)中定义的信任策略创建一个角色 | 此使用案例没有现成的 AWS 托管策略，但是，文档列出了所需权限。参阅 [Amazon VPC 用户指南](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-logs-iam)。 | 

## 只读访问权限
<a name="awsmp_readonlyaccess"></a>

**AWS 托管策略名称：** [ReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/ReadOnlyAccess)

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

**重要**  
该用户还可以读取 Amazon S3 存储桶和 Amazon DynamoDB 表等存储服务中的数据。

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略说明：**此策略授予列出、获取、描述和查看资源及其属性的权限。它不包括创建或删除等转换功能。此策略包含对与安全相关的 AWS 服务（例如 AWS Identity and Access Management 和 AWS 账单与成本管理）的只读访问权限。有关此策略支持的服务和操作的完整列表，请查看此策略。有关托管式策略的更多信息，请参阅*《AWS 托管式策略参考指南》*中的 [ReadOnlyAccess](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/ReadOnlyAccess.html)。如果需要不授予存储服务中数据读取权限的类似策略，请参阅 [“仅查看”用户任务函数](#jf_view-only-user)。

## MCP 服务操作完全访问权限
<a name="jf_mcp-service-actions"></a>

**AWS 托管策略名称：**[AWSMcpServiceActionsFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSMcpServiceActionsFullAccess)

**使用案例：**此用户需要使用 AWS MCP 服务器才能访问 AWS 服务。此策略不向其他 AWS 服务授予对 MCP 服务所采取操作的访问权限。

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略描述：**此策略授予调用任何 AWS MCP 服务操作的权限。如果您无需为每个 AWS MCP 服务指定权限，可以使用此策略。其不会向其他 AWS 服务授予 MCP 服务所执行操作的权限，这些权限必须始终单独授予，且在 MCP 服务操作权限之外授予。有关托管式策略的更多信息，请参阅《AWS Managed Policy Reference Guide》**中的 [AWSMcpServiceActionsFullAccess](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/AWSMcpServiceActionsFullAccess.html)。

## 安全审计员任务函数
<a name="jf_security-auditor"></a>

**AWS 托管策略名称：**[SecurityAudit](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/SecurityAudit)

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

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略描述：**此策略可授予查看多项 AWS 服务的配置数据并检查其日志的权限。有关托管式策略的更多信息，请参阅《AWS 托管式策略参考指南》中的 [SecurityAudit](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/SecurityAudit.html)**。

## 支持用户任务函数
<a name="jf_support-user"></a>

**AWS 托管式策略名称：** [AWSSupportAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSSupportAccess)

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

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略描述：**此策略授予创建和更新 支持 工单的权限。有关托管式策略的更多信息，请参阅*《AWS 托管式策略参考指南》*中的 [AWSSupportAccess](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/AWSSupportAccess.html)。

## 系统管理员任务函数
<a name="jf_system-administrator"></a>

**AWS 托管策略名称：**[SystemAdministrator](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/SystemAdministrator)

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

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略说明：**此策略授予权限，以跨诸多 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 托管策略参考指南》中的 [SystemAdministrator](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/SystemAdministrator.html)**。

此工作职能需要将角色传递给 AWS 服务的能力。该策略仅为下表中列出的角色授予 `iam:GetRole` 和 `iam:PassRole` 的权限。有关更多信息，请参阅本主题后面的[创建角色并附加策略（控制台）](access_policies_job-functions_create-policies.md)。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。


| 使用案例 | 角色名称 (\$1 为通配符) | 可选择的服务角色类型 | 可选择的 AWS 托管策略 | 
| --- | --- | --- | --- | 
| 允许 Amazon ECS 集群中在 EC2 实例中运行的应用程序访问 Amazon ECS | [ecr-sysadmin-\$1](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html) | 适合 EC2 Container Service 的 Amazon EC2 角色  | [AmazonEC2ContainerServiceforEC2Role](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role) | 
| 允许用户监控数据库 | [rds-monitoring-role](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html) | Amazon RDS 角色用于增强监控 | [AmazonRDSEnhancedMonitoringRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AmazonRDSEnhancedMonitoringRole) | 
| 允许在 EC2 实例中运行的应用程序访问 AWS 资源。 | [ec2-sysadmin-\$1](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) | Amazon EC2 | 授予 S3 存储桶访问权限的角色的示例策略，如《[Amazon EC2 用户指南](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)》中所示；可根据需要自定义 | 
| 允许 Lambda 读取 DynamoDB Streams 并写入 CloudWatch Logs | [lambda-sysadmin-\$1](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html) | AWS Lambda | [AWSLambdaDynamoDBExecutionRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSLambdaDynamoDBExecutionRole) | 

## “仅查看”用户任务函数
<a name="jf_view-only-user"></a>

**AWS 托管策略名称：**[ViewOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/ViewOnlyAccess)

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

**策略更新：**AWS 维护和更新此策略。有关此策略的更改历史记录，请在 IAM 控制台中查看策略，然后选择 **Policy versions**（策略版本）选项卡。有关任务函数策略更新的更多信息，请参阅 [工作职能的 AWS 托管策略](#security-iam-awsmanpol-jobfunction-updates)。

**策略描述：**此策略授予针对 AWS 服务的资源的 `List*`、`Describe*`、`Get*`、`View*` 和 `Lookup*` 访问权限。要查看此策略包含针对每种服务的哪些操作，请参阅 [ViewOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/ViewOnlyAccess)。有关托管式策略的更多信息，请参阅《AWS 托管式策略参考指南》中的 [ViewOnlyAccess](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/ViewOnlyAccess.html)**。

## 工作职能的 AWS 托管策略
<a name="security-iam-awsmanpol-jobfunction-updates"></a>

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

对于任务函数策略，您可以在 IAM 控制台中查看版本历史记录以及每次更新的时间和日期。为此，请使用此页上的链接查看策略详细信息。然后选择 **Policy versions**（策略版本）选项卡以查看版本。此页显示策略的最新 25 个版本。要查看策略的所有版本，请调用 [get-policy-version](https://docs.aws.amazon.com/cli/latest/reference/iam/get-policy-version.html) AWS CLI 命令或 [GetPolicyVersion](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetPolicyVersion.html) API 操作。

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

# 创建角色并附加策略（控制台）
<a name="access_policies_job-functions_create-policies"></a>

上文列出的一些策略授予了通过角色配置 AWS 服务的能力，以便这些服务能够代表您执行操作。工作职能策略或者指定您必须使用的确切角色名称，或者至少包括指定可用名称的开头部分的前缀。要创建这些角色之一，请执行以下程序中的步骤。

**创建用于 AWS 服务 的角色（IAM 控制台）**

1. 登录 AWS 管理控制台，然后通过以下网址打开 IAM 控制台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在 IAM 控制台的导航窗格中，选择**角色**，然后选择**创建角色**。

1. 对于 **Trusted entity type**（可信实体类型），选择 **AWS 服务**。

1. 对于**服务或使用案例**，请选择服务，然后选择使用案例。用例由服务定义以包含服务要求的信任策略。

1. 选择**下一步**。

1. 对于**权限策略**，选项取决于您选择的使用案例：
   + 如果服务定义了角色的权限，则您无法选择权限策略。
   + 从一组有限的权限策略中进行选择。
   + 从所有权限策略中进行选择。
   + 不选择任何权限策略，创建角色后创建策略，然后将这些策略附加到该角色。

1. （可选）设置[权限边界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。这是一项高级功能，可用于服务角色，但不可用于服务相关角色。

   1. 打开**设置权限边界**部分，然后选择**使用权限边界控制最大角色权限**。

      IAM 包括您的账户中的 AWS 托管式策略和客户管理型策略的列表。

   1. 选择要用于权限边界的策略。

1. 选择**下一步**。

1. 对于**角色名称**，选项取决于服务：
   + 如果服务定义角色名称，则您无法编辑角色名称。
   + 如果服务定义角色名称的前缀，您可以输入可选的后缀。
   + 如果服务未定义角色名称，您可以为该角色命名。
**重要**  
命名角色时，请注意以下事项：  
角色名称在您的 AWS 账户 中必须是唯一的，且不能因大小写而变得唯一。  
例如，不要同时创建名为 **PRODROLE** 和 **prodrole** 的角色。当角色名称在策略中使用或者作为 ARN 的一部分时，角色名称区分大小写，但是当角色名称在控制台中向客户显示时（例如，在登录期间），角色名称不区分大小写。
创建角色后，您无法编辑该角色的名称，因为其他实体可能会引用该角色。

1. （可选）对于**描述**，输入角色的描述。

1. （可选）要编辑角色的使用案例和权限，请在**步骤 1：选择可信实体**或**步骤 2：添加权限**部分中选择**编辑**。

1. （可选）为了帮助识别、组织或搜索角色，请以键值对形式添加标签。有关在 IAM 中使用标签的更多信息，请参阅《IAM 用户指南》**中的 [AWS Identity and Access Management 资源的标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

1. 检查该角色，然后选择**创建角色**。

## 示例 1：将用户配置为数据库管理员（控制台）
<a name="jf_example_1"></a>

此示例显示将 IAM 用户 Alice 配置为 [Database Administrator](access_policies_job-functions.md#jf_database-administrator)（数据库管理员）需要执行的步骤。您需要使用此部分中的表中第一行中的信息，并允许该用户启用 Amazon RDS 监控。您将 [DatabaseAdministrator](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/DatabaseAdministrator) 策略附加给 Alice 的 IAM 用户，以便他们可以管理 Amazon 数据库服务。该策略还允许 Alice 将名为 `rds-monitoring-role` 的角色传递给 Amazon RDS 服务，从而允许该服务代表他们监控 Amazon RDS 数据库。

1. 登录 AWS 管理控制台，然后通过以下网址打开 IAM 控制台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 选择**策略**，在搜索框中键入 **database**，然后按 Enter。

1. 选择 **DatabaseAdministrator** 策略对应的单选按钮，再选择**操作**，然后选择**附加**。

1. 在实体列表中选择 **Alice**，然后选择**附加策略**。Alice 现在可以管理 AWS 数据库了。但是，要允许 Alice 监控这些数据库，您必须配置服务角色。

1. 在 IAM 控制台的导航窗格中，选择**角色**，然后选择**创建角色**。

1. 请选择 **AWS Service**（亚马逊云科技服务）角色类型，然后选择 **Amazon RDS**。

1. 请选择**用于增强监控的 Amazon RDS 角色**使用案例。

1. Amazon RDS 将为您的角色定义权限。选择**下一步：审核**以继续。

1. 角色名称必须是 Alice 当前拥有的 DatabaseAdministrator 策略中指定的一个。其中一个是 **rds-monitoring-role**。针对 **Role name**（角色名称）输入该信息。

1. （可选）对于**角色描述**，输入新角色的描述。

1. 在检查详细信息后，选择 **Create role**。

1. 现在，Alice 即可在 Amazon RDS 控制台的 **Monitoring**（监控）部分中启用 **RDS Enhanced Monitoring**（RDS 增强监控）。例如，他们可以在创建数据库实例、创建只读副本或修改数据库实例时执行此操作。当他们将 **Enable Enhanced Monitoring**（启用增强监控）设置为 **Yes**（是）时，他们必须输入他们在 **Monitoring Role**（监控角色）框中创建的角色名称（rds-monitoring-role）。

## 示例 2：将用户配置为网络管理员（控制台）
<a name="jf_example_2"></a>

此示例显示将 IAM 用户 Jorge 配置为 [Network Administrator](access_policies_job-functions.md#jf_network-administrator)（网络管理员）需要执行的步骤。它使用该部分的表中的信息来允许 Jorge 监控往来于 VPC 的 IP 流量。它还允许 Jorge 将该信息记录在 CloudWatch Logs 日志中。您将 [NetworkAdministrator](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/NetworkAdministrator) 策略附加给 Jorge 的 IAM 用户，以便他们可以配置 AWS 网络资源。该策略还允许 Jorge 在您创建流日志时，将名称以 `flow-logs*` 开头的角色传递给 Amazon EC2。此场景与示例 1 不同，这里没有预定义的服务角色类型，因此您必须执行几个不同的步骤。

1. 登录 AWS 管理控制台，然后通过以下网址打开 IAM 控制台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**策略**，在搜索框中输入 **network**，然后按 Enter。

1. 选中 **NetworkAdministrator** 策略旁的单选按钮，然后依次选择**操作**和**附加**。

1. 在用户列表中选择 **Jorge** 旁边的复选框，然后选择**附加策略**。Jorge 现在可以管理 AWS 网络资源了。但是，为了监控 VPC 中的 IP 流量，您必须配置服务角色。

1. 由于您需要创建的服务角色没有预定义的托管策略，您必须先创建一个。在导航窗格中，选择**策略**，然后选择**创建策略**。

1. 在**策略编辑器**部分，选择 **JSON** 选项，然后复制以下 JSON 策略文档中的文本。将该文本粘贴到 **JSON** 文本框中。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Action": [
           "logs:CreateLogGroup",
           "logs:CreateLogStream",
           "logs:PutLogEvents",
           "logs:DescribeLogGroups",
           "logs:DescribeLogStreams"
         ],
         "Effect": "Allow",
         "Resource": "*"
       }
     ]
   }
   ```

------

1.  解决[策略验证](access_policies_policy-validator.md)过程中生成的任何安全警告、错误或常规警告，然后选择**下一步**。
**注意**  
您可以随时在**可视化**和 **JSON** 编辑器选项卡之间切换。不过，如果您进行更改或在**可视化**编辑器中选择**下一步**，IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息，请参阅 [调整策略结构](troubleshoot_policies.md#troubleshoot_viseditor-restructure)。

1. 在**查看并创建**页面上，键入 **vpc-flow-logs-policy-for-service-role** 作为策略名称。查看**此策略中定义的权限**以查看您的策略授予的权限，然后选择**创建策略**以保存您的工作。

   将在托管策略列表中显示新策略，并已准备好附加该策略。

1. 在 IAM 控制台的导航窗格中，选择**角色**，然后选择**创建角色**。

1. 请选择 **AWS Service**（亚马逊云科技服务）角色类型，然后选择 **Amazon EC2**。

1. 请选择 **Amazon EC2** 使用案例。

1. 在**附加权限策略**页面上，选择您之前创建的策略：**vpc-flow-logs-policy-for-service-role**，然后选择**下一步：审核**。

1. 必须使用 Jorge 当前拥有的 NetworkAdministrator 策略所允许的角色名称。允许以 `flow-logs-` 开头的任何名称。在此示例中，对于 **Role name**（角色名称），请输入 **flow-logs-for-jorge**。

1. （可选）对于**角色描述**，输入新角色的描述。

1. 在检查详细信息后，选择 **Create role**。

1. 现在可以配置本场景需要的信任策略。在**角色**页面上，选择 **flow-logs-for-jorge** 角色（名称，而不是复选框）。在新角色的详细信息页面上，选择 **Trust relationships (信任关系)** 选项卡，然后选择 **Edit trust relationship (编辑信任关系)**。

1. 将条目替换为 `ec2.amazonaws.com`，“Service”行改为读取，如下所示：

   ```
           "Service": "vpc-flow-logs.amazonaws.com"
   ```

1. Jorge 现在可以在 Amazon EC2 控制台中为 VPC 或子网创建流日志了。当创建流日志时，请指定 **flow-logs-for-jorge** 角色。该角色拥有创建日志并向其写入数据的权限。