

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

# 创建策略和非管理角色
<a name="setting-up-create-non-admin-iam"></a>

默认情况下，用户和角色没有创建或修改 MediaPackage 资源的权限。要授予用户对所需资源执行操作的权限，IAM 管理员可以创建 IAM 策略。

要了解如何使用这些示例 JSON 策略文档创建基于 IAM 身份的策略，请参阅《IAM 用户指南》**中的[创建 IAM 策略（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)。

有关由定义的操作和资源类型的详细信息 MediaPackage，包括每种资源类型的 ARN 格式，请参阅《*服务授权参考*》 AWS Elemental MediaPackage中的[操作、资源和条件密钥](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awselementalmediapackage.html)。

本节介绍如何创建策略和创建非管理角色，以便用户可以创建或修改 MediaPackage 资源。本部分还介绍您的用户如何担任该角色以授予安全临时凭证。

**Topics**
+ [（可选）步骤 1：为亚马逊创建 IAM 策略 CloudFront](#setting-up-create-non-admin-iam-cf)
+ [（可选）步骤 2：为 MediaPackage VOD 创建 IAM 策略](#setting-up-create-non-admin-iam-vod)
+ [步骤 3：在 IAM 控制台中创建角色](#setting-up-create-role)
+ [步骤 4：从 IAM 控制台担任角色或 AWS CLI](#setting-up-create-nonadmin-roles-assume-role)

## （可选）步骤 1：为亚马逊创建 IAM 策略 CloudFront
<a name="setting-up-create-non-admin-iam-cf"></a>

如果您或您的用户将通过 AWS Elemental MediaPackage 实时控制台创建 Amazon CloudFront 分配，请创建允许访问的 IAM 策略 CloudFront。

有关 CloudFront 与一起使用的更多信息 MediaPackage，请参阅[与 CDNs](cdns.md)。

**使用 JSON 策略编辑器创建策略**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在左侧的导航窗格中，选择**策略**。

   如果这是您首次选择**策略**，则会显示**欢迎访问托管式策略**页面。选择**开始使用**。

1. 在页面的顶部，选择**创建策略**。

1. 在**策略编辑器**部分，选择 **JSON** 选项。

1. 输入以下 JSON 策略文档：

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "cloudfront:GetDistribution",
                   "cloudfront:CreateDistributionWithTags",
                   "cloudfront:UpdateDistribution",
                   "cloudfront:CreateDistribution",
                   "cloudfront:TagResource",
                   "tag:GetResources"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. 选择**下一步**。
**注意**  
您可以随时在**可视化**和 **JSON** 编辑器选项卡之间切换。不过，如果您进行更改或在**可视化**编辑器中选择**下一步**，IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息，请参阅*《IAM 用户指南》*中的[调整策略结构](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**查看并创建**页面上，为您要创建的策略输入**策略名称**和**描述**（可选）。查看**此策略中定义的权限**以查看策略授予的权限。

1. 选择**创建策略**可保存新策略。

## （可选）步骤 2：为 MediaPackage VOD 创建 IAM 策略
<a name="setting-up-create-non-admin-iam-vod"></a>

如果您或您的用户将在中使用视频点播 (VOD) 功能 MediaPackage，请创建允许访问`mediapackage-vod`服务资源的 IAM 策略。

以下部分描述如何创建一个允许所有操作的策略和一个允许只读权限的策略。您可以通过添加或删除操作来自定义策略以适合您的工作流程。

### 完全访问 VOD 的策略
<a name="non-admin-iam-vod-all"></a>

此策略允许用户对所有 VOD 资源执行所有操作。

**使用 JSON 策略编辑器创建策略**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在左侧的导航窗格中，选择**策略**。

   如果这是您首次选择**策略**，则会显示**欢迎访问托管式策略**页面。选择**开始使用**。

1. 在页面的顶部，选择**创建策略**。

1. 在**策略编辑器**部分，选择 **JSON** 选项。

1. 输入以下 JSON 策略文档：

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "mediapackage-vod:*",
               "Resource": "*"
           }
       ]
   }
   ```

1. 选择**下一步**。
**注意**  
您可以随时在**可视化**和 **JSON** 编辑器选项卡之间切换。不过，如果您进行更改或在**可视化**编辑器中选择**下一步**，IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息，请参阅*《IAM 用户指南》*中的[调整策略结构](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**查看并创建**页面上，为您要创建的策略输入**策略名称**和**描述**（可选）。查看**此策略中定义的权限**以查看策略授予的权限。

1. 选择**创建策略**可保存新策略。

### 只读访问 VOD 的策略
<a name="non-admin-iam-vod-read"></a>

该策略允许用户查看所有 VOD 资源。

**使用 JSON 策略编辑器创建策略**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在左侧的导航窗格中，选择**策略**。

   如果这是您首次选择**策略**，则会显示**欢迎访问托管式策略**页面。选择**开始使用**。

1. 在页面的顶部，选择**创建策略**。

1. 在**策略编辑器**部分，选择 **JSON** 选项。

1. 输入以下 JSON 策略文档：

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "mediapackage-vod:List*",
                   "mediapackage-vod:Describe*"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. 选择**下一步**。
**注意**  
您可以随时在**可视化**和 **JSON** 编辑器选项卡之间切换。不过，如果您进行更改或在**可视化**编辑器中选择**下一步**，IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息，请参阅*《IAM 用户指南》*中的[调整策略结构](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**查看并创建**页面上，为您要创建的策略输入**策略名称**和**描述**（可选）。查看**此策略中定义的权限**以查看策略授予的权限。

1. 选择**创建策略**可保存新策略。

## 步骤 3：在 IAM 控制台中创建角色
<a name="setting-up-create-role"></a>

在 IAM 控制台中为您创建的每个策略创建一个角色。进行此操作用户就可以承担角色，而不是为每个用户附加单独的策略。

**要在 IAM 控制台中创建角色**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

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

1. 在**选择可信实体**下，选择 **AWS 账户**。

1. 在 “** AWS 帐户**” 下，选择将担任此角色的用户所在的账户。
   + 如果第三方将访问此角色，最佳做法是选择**需要外部 ID**。有关外部 ID 的更多信息，请参阅《IAM 用户指南》**中的[使用外部 ID 进行第三方访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)。
   + 最佳做法是要求多重身份验证（MFA）。您可以选中**需要 MFA** 旁边的复选框。*有关 MFA 的更多信息，请参阅 IAM 用户指南中的[Multi-factor身份验证 (MFA)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)。*

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

1. 在 “**权限策略”** 下，搜索并添加具有相应 MediaPackage 权限级别的策略。
   + 要访问实时功能，请选择下列选项之一：
     + 用于**AWSElementalMediaPackageFullAccess**允许用户对中的所有实时资源执行所有操作 MediaPackage。
     + 用于**AWSElementalMediaPackageReadOnly**为用户提供中所有实时资源的只读权限 MediaPackage。
   + 对于访问视频点播 (VOD) 功能，请使用您在 [（可选）步骤 2：为 MediaPackage VOD 创建 IAM 策略](#setting-up-create-non-admin-iam-vod) 中创建的策略。

1. 添加策略以允许 MediaPackage 控制台代表用户向 Amaz CloudWatch on 拨打电话。如果没有这些策略，该用户将只能使用服务的 API (而不是控制台)。请选择以下选项之一：
   + 用于**ReadOnlyAccess**允许 MediaPackage 与 CloudWatch您通信并向用户提供对您账户中所有 AWS 服务的只读访问权限。
   + 使用**CloudWatchReadOnlyAccess**CloudWatchEventsReadOnlyAccess****、和**CloudWatchLogsReadOnlyAccess** MediaPackage 允许与 CloudWatch用户通信并限制用户的只读访问权限 CloudWatch。

1. （可选）如果此用户要通过 MediaPackage 控制台创建 Amazon CloudFront 分配，请附上您在中创建的政策[（可选）步骤 1：为亚马逊创建 IAM 策略 CloudFront](#setting-up-create-non-admin-iam-cf)。

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

   1. 展开 **Permissions boundary**（权限边界）部分，然后选择 **Use a permissions boundary to control the maximum role permissions**（使用权限边界控制最大角色权限）。IAM 包含您账户中的 AWS 托管策略和客户托管策略列表。

   1. 选择要用于权限边界的策略，或选择**创建策略**以打开新的浏览器选项卡并从头开始创建新策略。有关更多信息，请参阅 *IAM 用户指南* 中的[创建 IAM policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start)。

   1. 创建策略后，关闭该选项卡并返回到原始选项卡，选择要用于权限边界的策略。

1. 验证是否已将正确的策略添加到该组，然后选择**下一步**。

1. 如果可能，输入有助于识别该角色的作用的角色名称或角色名称后缀。角色名称在您的 AWS 账户内必须是唯一的。它们不按大小写区分。例如，您无法同时创建名为 **PRODROLE** 和 **prodrole** 的角色。由于多个单位可能引用该角色，角色创建完毕后无法编辑角色名称。

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

1. 在 **Step 1: Select trusted entities**（步骤 1：选择可信实体）或 **Step 2: Select permissions**（步骤 2：选择权限）部分中的 **Edit**（编辑），以编辑角色的用户案例和权限。

1. （可选）通过以键值对的形式附加标签来向用户添加元数据。有关在 IAM 中使用标签的更多信息，请参阅 *《IAM 用户指南》* 中的[标记 IAM 资源](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

1. 检查角色，然后选择 **Create role**。

## 步骤 4：从 IAM 控制台担任角色或 AWS CLI
<a name="setting-up-create-nonadmin-roles-assume-role"></a>

查看以下资源，了解如何授予用户承担角色的权限，以及用户如何从 IAM 控制台或 AWS CLI切换到角色。
+ 有关授予用户切换角色权限的更多信息，请参阅《IAM 用户指南》**中的[授予用户切换角色的权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html)。
+ 有关切换角色（控制台）的更多信息，请参阅《IAM 用户指南》**中的 [切换到角色（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)。
+ 有关切换角色（AWS CLI）的更多信息，请参阅《IAM 用户指南》**中的[切换到 IAM 角色（AWS CLI）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-cli.html)。