

AWS Data Pipeline 不再向新客户提供。的现有客户 AWS Data Pipeline 可以继续照常使用该服务。[了解详情](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

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

# 的策略示例 AWS Data Pipeline
<a name="dp-example-tag-policies"></a>

以下示例演示如何授予用户对管道的完全或受限访问权限。

**Topics**
+ [示例 1：基于标签授予用户只读访问权限](#ex1)
+ [示例 2：基于标签授予用户完全访问权限](#ex2)
+ [示例 3：授予管道所有者完全访问权限](#ex3)
+ [示例 4：向用户授予 AWS Data Pipeline 控制台访问权限](#example4-grant-users-access-to-console)

## 示例 1：基于标签授予用户只读访问权限
<a name="ex1"></a>

以下策略允许用户使用只读 AWS Data Pipeline API 操作，但仅限于标有 “环境=生产” 标签的管道。

 ListPipelines API 操作不支持基于标签的授权。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "datapipeline:Describe*",
        "datapipeline:GetPipelineDefinition",
        "datapipeline:ValidatePipelineDefinition",
        "datapipeline:QueryObjects"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "datapipeline:Tag/environment": "production"
        }
      }
    }
  ]
}
```

------

## 示例 2：基于标签授予用户完全访问权限
<a name="ex2"></a>

以下策略允许用户使用所有 AWS Data Pipeline API 操作，但仅限于标有 “en ListPipelines vironment=test” 标签的管道。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "datapipeline:*"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "datapipeline:Tag/environment": "test"
        }
      }
    }
  ]
}
```

------

## 示例 3：授予管道所有者完全访问权限
<a name="ex3"></a>

以下策略允许用户使用所有 AWS Data Pipeline API 操作，但只能使用自己的管道。

## 示例 4：向用户授予 AWS Data Pipeline 控制台访问权限
<a name="example4-grant-users-access-to-console"></a>

以下策略允许用户使用 AWS Data Pipeline 控制台创建和管理管道。

该策略包括针对与该 AWS Data Pipeline 需求相关的特定资源的`PassRole`权限`roleARN`的操作。有关基于身份 (IAM) `PassRole` 权限的更多信息，请参阅博客文章[授予使用 IAM 角色启动 EC2 实例的PassRole权限（权限）](https://aws.amazon.com/blogs/security/granting-permission-to-launch-ec2-instances-with-iam-roles-passrole-permission/)。

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [{
			"Action": [
				"cloudwatch:*",
				"datapipeline:*",
				"dynamodb:DescribeTable",
				"elasticmapreduce:AddJobFlowSteps",
				"elasticmapreduce:ListInstance*",
				"iam:AddRoleToInstanceProfile",
				"iam:CreateInstanceProfile",
				"iam:GetInstanceProfile",
				"iam:GetRole",
				"iam:GetRolePolicy",
				"iam:ListInstanceProfiles",
				"iam:ListInstanceProfilesForRole",
				"iam:ListRoles",
				"rds:DescribeDBInstances",
				"rds:DescribeDBSecurityGroups",
				"redshift:DescribeClusters",
				"redshift:DescribeClusterSecurityGroups",
				"s3:List*",
				"sns:ListTopics"
			],
			"Effect": "Allow",
			"Resource": [
				"*"
			]
		},
		{
			"Action": "iam:PassRole",
			"Effect": "Allow",
			"Resource": [
				"arn:aws:iam::*:role/DataPipelineDefaultResourceRole",
				"arn:aws:iam::*:role/DataPipelineDefaultRole"
			]
		}
	]
}
```

------