

# Amazon IVS 安全性
<a name="security"></a>

AWS 十分重视云安全性。作为 AWS 客户，您将从专为满足大多数安全敏感型组织的要求而打造的数据中心和网络架构中受益。

安全性是 AWS 和您的共同责任。[责任共担模式](https://aws.amazon.com/compliance/shared-responsibility-model/)将其描述为云*的* 安全性和云*中* 的安全性：
+ **云的安全性**：AWS 负责保护在 AWS 云中运行 AWS 服务的基础设施。AWS 还向您提供可安全使用的服务。作为 [AWS 合规性计划](https://aws.amazon.com/compliance/programs/)的一部分，第三方审核人员将定期测试和验证安全性的有效性。
+ **云中的安全性** – 您的责任由您使用的 AWS 服务决定。您还需要对其他因素负责，包括您的数据的敏感性、您组织的要求以及适用的法律法规。

此文档将帮助您了解如何在使用 Amazon IVS 时应用责任共担模式。以下主题说明如何配置 Amazon IVS 以实现您的安全性和合规性目标。

**Topics**
+ [IVS 数据保护](security-data-protection.md)
+ [IVS 中的身份和访问管理](security-iam.md)
+ [Amazon IVS 的托管式策略](security-iam-awsmanpol.md)
+ [对 Amazon IVS 使用服务相关角色](security-service-linked-roles.md)
+ [IVS 日志记录和监控](security-logging-monitoring.md)
+ [IVS 事件响应](security-incident-response.md)
+ [IVS 恢复能力](security-resilience.md)
+ [IVS 基础设施安全性](security-infrastructure.md)

# IVS 数据保护
<a name="security-data-protection"></a>

对于发送到 Amazon Interactive Video Service (IVS) 的数据，将应用以下数据保护措施：
+ Amazon IVS 通过 HTTPS API 端点、RTMPS 提取和 HTTPS 播放对传输中数据进行加密。API 端点无需进行配置。
  + 在提取方面，流处理工具可以使用 RTMPS 保护内容的安全。默认情况下此功能可用。请参阅[IVS 低延迟流式传输入门](getting-started.md)。
  + 可以将 IVS 通道配置为允许不安全的 RTMP 提取，但我们建议使用 RTMPS，除非是在需要 RTMP 的特定且经过验证的使用场景。
  + 在转码/容器转换方面，可以在 Amazon 内部网络上以未加密的方式传输数据。
  + 在播放方面，通过 HTTPS 提供数据。
+ 实时视频内容是短暂存储，不是永久的。它只是通过系统传输，并在查看时缓存（在内部系统上）。
+ 对于自动记录至 S3 功能，视频内容将写入 Amazon S3。有关更多信息，请参阅 [Amazon S3 中的数据保护](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DataDurability.html)。
+ 所有存储的客户输入元数据均位于使用服务器端加密的 AWS 托管式服务中。
+ 为了提高服务质量，Amazon IVS 会存储客户（最终用户）元数据（例如，特定区域的缓冲速率）。此元数据不能用于供个人识别最终用户。
+ 您管理的公有加密密钥可以与 `ImportPlaybackKeyPair` API 操作结合使用。请参阅 [IVS Low-Latency Streaming API Reference](https://docs.aws.amazon.com/ivs/latest/LowLatencyAPIReference/Welcome.html)。*请勿共享这些加密密钥*。

Amazon IVS 不会要求您提供任何客户（最终用户）数据。当需要您提供客户（最终用户）数据时，通道、输入或输入安全组中没有任何字段。

请勿将敏感的识别信息（如客户（最终用户）账号）放入自由格式字段（如 Name（名称）字段）。在使用 Amazon IVS 控制台或 API、AWS CLI 或 AWS SDK 的情况下也不例外。您输入到 Amazon IVS 中的任何数据都可能包含在诊断日志中。

流不是端到端加密的；流可以在 IVS 网络内部以不加密形式传输，以供处理。

# IVS 中的身份和访问管理
<a name="security-iam"></a>

AWS Identity and Access Management（IAM）是一项 AWS 服务，可以帮助账户管理员安全地控制对 AWS 资源的访问。每个 AWS 资源都归某个 AWS 账户所有，创建和访问资源的权限由权限策略进行管理。IAM 账户管理员控制可以通过身份验证（登录）和授权（具有权限）使用 Amazon IVS 资源的用户。IAM 是为您的 AWS 账户提供的一项功能，不会额外收费。

**重要提示**：有关完整信息，请参阅 [AWS IAM 产品页面](https://aws.amazon.com/iam/)、[IAM 用户指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/) 以及 [签署 AWS API 请求](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html)。在本节中，我们还提供了指向《IAM 用户指南》中特定章节的链接。您应在熟悉本材料后再继续使用。

## 受众
<a name="security-iam-audience"></a>

如何使用 IAM 因您可以在 Amazon IVS 中执行的操作而异。
+ **服务用户** – 如果您使用 Amazon IVS 服务来完成工作，则管理员会为您提供所需的凭证和权限。随着您使用更多 Amazon IVS 功能来完成工作，您可能需要额外权限。了解如何管理访问权限可帮助您向管理员请求适合的权限。如果您无法访问 Amazon IVS 中的功能，请参阅 [问题排查](#security-iam-troubleshooting)。
+ **服务管理员** – 如果您在公司负责管理 Amazon IVS 资源，您可能对 Amazon IVS 具有完全访问权限。您有责任确定您的员工应访问哪些 Amazon IVS 功能和资源。然后，您必须向 IAM 管理员提交请求以更改服务用户的权限。请查看该页面上的信息以了解 IAM 的基本概念。要了解有关您的公司如何将 IAM 与 Amazon IVS 搭配使用的更多信息，请参阅 [Amazon IVS 如何与 IAM 配合使用](#security-iam-how-ivs-works)。
+ **IAM 管理员** – 如果您是 IAM 管理员，您可以编写策略以管理对 Amazon IVS 的访问的详细信息。要查看您可在 IAM 中使用的 Amazon IVS 基于身份的策略示例，请参阅 [基于身份的策略示例](#security-iam-policy-examples)。

## Amazon IVS 如何与 IAM 配合使用
<a name="security-iam-how-ivs-works"></a>

在您发出 Amazon IVS API 请求之前，您必须创建一个或多个 IAM*身份*（用户、组和角色）和 IAM*策略*，然后向身份附加策略。传播权限最多需要几分钟时间；在此之前，API 请求会被拒绝。

要简要了解 Amazon IVS 如何与 IAM 结合使用，请参阅《IAM 用户指南》中的 [与 IAM 配合使用的 AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)**。

## 身份
<a name="security-iam-identities"></a>

您可以创建 IAM 身份，以便为向您的 AWS 账户中的人员和进程提供身份验证。IAM 组是 IAM 用户的集合，可以将其作为一个单位进行管理。请参阅《IAM 用户指南》中的[身份（用户、组和角色）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)。

## 策略
<a name="security-iam-policies"></a>

请参阅《IAM 用户指南》中的以下章节：
+ [访问管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) – 关于策略的所有信息。
+ [Amazon IVS 的操作、资源和条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoninteractivevideoservice.html)
+ [AWS 全局条件上下文键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 
+ [IAM JSON 策略元素参考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) – 可以在 JSON 策略中使用的所有元素。

默认情况下，IAM 用户和角色没有创建或修改 Amazon IVS 资源（甚至更改自己的密码）的权限。他们也不能使用 AWS 控制台、AWS CLI 或 AWS API 执行任务。IAM 管理员必须创建 IAM 策略，以便为用户和角色授予权限以对所需的指定资源执行特定的 API 操作。

IAM 策略定义操作的权限，无关乎您使用哪种方法执行操作。例如，假设您有一个允许 `iam:GetRole` 操作的策略。具有该策略的用户可以从 AWS 管理控制台、AWS CLI 或 AWS API 获取角色信息。

策略是由*元素*组成的 JSON 权限策略文档。Amazon IVS 支持三个元素：
+ **操作** – Amazon IVS 的策略操作在操作前使用 `ivs` 前缀。例如，要授予某人使用 Amazon IVS `CreateChannel` API 方法创建 Amazon IVS 通道的权限，您应将 `ivs:CreateChannel` 操作纳入其策略中。策略语句必须包含 `Action` 或 `NotAction` 元素。
+ **资源** – Amazon IVS 通道资源采用以下 [ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) 格式：

  ```
  arn:aws:ivs:${Region}:${Account}:channel/${channelId}
  ```

  例如，要在语句中指定 `VgNkEJgOVX9N` 通道，请使用以下 ARN：

  ```
  "Resource": "arn:aws:ivs:us-west-2:123456789012:channel/VgNkEJgOVX9N"
  ```

  无法对特定资源执行某些 Amazon IVS 操作，例如，用于创建资源的操作。在这些情况下，您必须使用通配符 (`*`)：

  ```
  "Resource":"*"
  ```
+ **条件** – Amazon IVS 支持部分全局条件键：`aws:RequestTag`、`aws:TagKeys` 和 `aws:ResourceTag`。

在策略中，您可以使用变量作为占位符。例如，只有在使用用户的 IAM 用户名标记 IAM 用户时，您才能为其授予访问资源的权限。请参阅 *IAM 用户指南*中的[变量和标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)。

Amazon IVS 提供 AWS 托管式策略，可用于向身份授予一组预配置的权限（只读或完全访问权限）。您可以选择使用托管式策略，而不是下面所示的基于身份的策略。有关详细信息，请参阅 [Managed Policies for Amazon IVS](security-iam-awsmanpol.md)。

## 基于 Amazon IVS 标签的授权
<a name="security-iam-authorization"></a>

您可以将标签附加到 Amazon IVS 资源，或者在请求中将标签传递给 Amazon IVS。要基于标签控制访问，您需要使用 `aws:ResourceTag/key-name`、`aws:RequestTag/key-name` 或 `aws:TagKeys` 条件键在策略的条件元素中提供标签信息。有关标记 Amazon IVS 资源的更多信息，请参阅 [IVS Low-Latency Streaming API Reference](https://docs.aws.amazon.com/ivs/latest/LowLatencyAPIReference/Welcome.html) 中的“Tagging”、[IVS Real-Time Streaming API Reference](https://docs.aws.amazon.com/ivs/latest/RealTimeAPIReference/Welcome.html)，以及 [IVS Chat API Reference](https://docs.aws.amazon.com/ivs/latest/ChatAPIReference/Welcome.html)。

有关示例，请参阅[基于标签查看 Amazon IVS 通道](#security-iam-policy-examples-tags)。

## 角色
<a name="security-iam-roles"></a>

请参阅《IAM 用户指南》中的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)和[临时安全凭证](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)。

*IAM 角色*是 AWS 账户中具有特定权限的实体。

Amazon IVS 支持使用*临时安全凭证*。您可以使用临时凭证进行联合身份登录，担任 IAM 角色或担任跨账户角色。您可以调用 [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html) API 操作（如 `AssumeRole` 或 `GetFederationToken`）以获取临时安全凭证。

## 特权访问和非特权访问
<a name="security-iam-privileged-access"></a>

API 资源具有特权访问权限。非特权播放访问权限可以通过专有通道进行设置；请参阅 [设置私有频道](private-channels.md)。

## 使用策略的最佳实践
<a name="security-iam-policy-best-practices"></a>

请参阅 [IAM 用户指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)中的 *IAM 最佳实践*。

基于身份的策略非常强大。它们确定某个人是否可以创建、访问或删除您账户中的 Amazon IVS 资源。这些操作可能会使 AWS 账户产生成本。请遵循以下建议：
+ **授予最低权限** – 创建自定义策略时，仅授予执行任务所需的许可。最开始只授予最低权限，然后根据需要授予其他权限。这样做比起一开始就授予过于宽松的权限而后再尝试收紧权限来说更为安全。具体而言，预留 `ivs:*` 供管理员访问使用；请勿在应用程序中使用它。
+ **为敏感操作启用多重身份验证（MFA）**– 为了提高安全性，要求 IAM 用户使用 MFA 访问敏感资源或 API 操作。
+ **使用策略条件来增强安全性** – 在切实可行的范围内，定义基于身份的策略在哪些情况下允许访问资源。例如，您可编写条件来指定请求必须来自允许的 IP 地址范围。您也可以编写条件，以便仅允许指定日期或时间范围内的请求，或者要求使用 SSL 或 MFA。

## 基于身份的策略示例
<a name="security-iam-policy-examples"></a>

### 使用 Amazon IVS 控制台
<a name="security-iam-policy-examples-console"></a>

要访问 Amazon IVS 控制台，您必须具有一组最小权限，以允许您列出和查看有关 AWS 账户中 Amazon IVS 资源的详细信息。如果创建比必需的最低权限更为严格的基于身份的策略，对于附加了该策略的实体，控制台将无法按预期正常运行。为确保对 Amazon IVS 控制台的访问权限，请将以下策略附加到身份（参阅《IAM 用户指南》中的[添加和删除 IAM 权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)）。

以下策略的各个部分提供了对以下内容的访问权限：
+ 所有 Amazon IVS API 操作
+ 您的 Amazon IVS [服务限额](service-quotas.md)
+ IVS 自动记录到 S3 功能所需的 Amazon S3 端点（低延迟直播功能）和 IVS 复合记录功能（实时直播功能）。
+ 自动记录到 S3 服务链接角色创建
+ Amazon Cloudwatch 用于获取实时流会话的指标

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": "ivs:*",
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Action": [
        "servicequotas:ListServiceQuotas"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucketPolicy",
        "s3:GetBucketLocation",
        "s3:GetBucketPolicy",
        "s3:ListAllMyBuckets",
        "s3:PutBucketPolicy"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Action": [
        "iam:AttachRolePolicy",
        "iam:CreateServiceLinkedRole",
        "iam:PutRolePolicy"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:iam::*:role/aws-service-role/ivs.amazonaws.com/AWSServiceRoleForIVSRecordToS3*"
    },
    {
      "Action": [
        "cloudwatch:GetMetricData"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Action": [
        "lambda:AddPermission",
        "lambda:ListFunctions"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

------

### 允许用户查看他们自己的权限
<a name="security-iam-policy-examples-permissions"></a>

该示例显示了一项策略，该策略允许 IAM 用户查看附加到其用户身份的内联和托管策略。此策略包含在 AWS 控制台上或者使用 AWS CLI 或 AWS API 以编程方式完成此操作所需的权限。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "ViewOwnUserInfo",
         "Effect": "Allow",
         "Action": [
            "iam:GetUserPolicy",
            "iam:ListGroupsForUser",
            "iam:ListAttachedUserPolicies",
            "iam:ListUserPolicies",
            "iam:GetUser"
         ],
         "Resource": [
            "arn:aws:iam:*:*:user/${aws:username}"
         ]
      },
      {
         "Sid": "NavigateInConsole",
         "Effect": "Allow",
         "Action": [
            "iam:GetGroupPolicy",
            "iam:GetPolicyVersion",
            "iam:GetPolicy",
            "iam:ListAttachedGroupPolicies",
            "iam:ListGroupPolicies",
            "iam:ListPolicyVersions",
            "iam:ListPolicies",
            "iam:ListUsers"
         ],
         "Resource": "*"
      }
   ]
}
```

------

### 访问 Amazon IVS 通道
<a name="security-iam-policy-examples-channel"></a>

在本示例中，您想要为您 AWS 账户中的 IAM 用户授予访问其中一个 Amazon IVS 通道 `VgNkEJgOVX9N` 的权限。您还希望允许用户停止流（`ivs:StopStream`）、添加元数据（`ivs:PutMetadata`）和更新通道（`ivs:UpdateChannel`）。策略还授予了 Amazon IVS 控制台所需的权限：`ivs:ListChannels`、`ivs:ListStreams`、`ivs:GetChannel` 和 `ivs:GetStream`。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"ListChannelsInConsole",
         "Effect":"Allow",
         "Action":[
            "ivs:ListChannels",
            "ivs:ListStreams"

         ],
         "Resource":"arn:aws:ivs:*:*:channel/*"
      },
      {
         "Sid":"ViewSpecificChannelInfo",
         "Effect":"Allow",
         "Action":[
            "ivs:GetChannel",
            "ivs:GetStream"
         ],
         "Resource":"arn:aws:ivs:*:*:channel/VgNkEJgOVX9N"
      },
      {
         "Sid":"ManageChannel",
         "Effect":"Allow",
         "Action":[
            "ivs:StopStream",
            "ivs:PutMetadata",
            "ivs:UpdateChannel"
         ],
         "Resource":"arn:aws:ivs:*:*:channel/VgNkEJgOVX9N" 
      }
   ]
}
```

------

### 基于标签查看 Amazon IVS 通道
<a name="security-iam-policy-examples-tags"></a>

您可以在基于身份的策略中使用条件，以便基于标签控制对 Amazon IVS 资源的访问。此示例显示一项允许查看通道的策略。此策略还授予在 Amazon IVS 控制台上完成此操作的必要权限。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "ListWidgetsInConsole",
         "Effect": "Allow",
         "Action": "ivs:ListChannels",
         "Resource": "arn:aws:ivs:*:*:channel/*"
      },
      {
         "Sid": "ViewChannelIfOwner",
         "Effect": "Allow",
         "Action": "ivs:GetChannel",
         "Resource": "arn:aws:ivs:*:*:channel/*",
         "Condition": {
            "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"}
         }
      }
   ]
}
```

------

您可以将该策略附加到您账户中的 IAM 用户。但是，仅当通道使用用户的用户名作为拥有者进行标记时，才授予此权限。如果用户 richard-roe 尝试查看 Amazon IVS 通道，则该通道必须标记为 `Owner=richard-roe` 或 `owner=richard-roe`；否则他会被拒绝访问。（条件标签键 `Owner` 匹配 `Owner` 和 `owner`，因为条件键名称不区分大小写。）

## 问题排查
<a name="security-iam-troubleshooting"></a>

可以使用以下信息，以帮助您诊断和修复在使用 Amazon IVS 和 IAM 时可能遇到的常见问题。
+ **我无权在 Amazon IVS 中执行操作。**

  当 mateojackson IAM 用户尝试使用 AWS 控制台查看有关 API 的详细信息，但不具有 `ivs:GetChannel` 权限时，会发生以下示例错误。

  ```
  User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: ivs:GetChannel on resource: arn:aws:ivs:us-west-2:123456789012:channel/VgNkEJgOVX9N
  ```

  在这种情况下，Mateo 请求他的管理员更新其策略，以允许他使用 `ivs:GetChannel` 操作访问 `arn:aws:ivs:us-west-2:123456789012:channel/VgNkEJgOVX9N` 资源。
+ **我想要查看我的访问密钥**。

  在创建 IAM 用户访问密钥后，您可以随时查看您的访问密钥 ID。但是，您无法再查看您的秘密访问密钥。如果您丢失了私有密钥，则必须创建一个新的访问密钥对。访问密钥分为两部分：
  + 访问密钥 ID（例如 `AKIAIOSFODNN7EXAMPLE`）
  + 秘密访问密钥（例如 `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`）

  与用户名和密码一样，您必须同时使用访问密钥 ID 和秘密访问密钥对请求执行身份验证。像对用户名和密码一样，安全地管理访问密钥。

  ***重要提示：请不要向第三方提供访问密钥，甚至为了帮助[找到您的规范用户 ID](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindingCanonicalId) 也是如此。如果您这样做，可能会向某人提供对您的账户的永久访问权限。***

  当您创建访问密钥对时，系统会提示您将访问密钥 ID 和秘密访问密钥保存在一个安全位置。秘密访问密钥仅在您创建它时可用。如果丢失了您的秘密访问密钥，您必须为 IAM 用户添加新的访问密钥。

  您最多可拥有两个访问密钥。如果您已有两个密钥，则必须删除一个密钥对，然后再创建新的密钥。请参阅 *IAM 用户指南*中的[管理 IAM 用户的访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)。
+ **我是管理员并希望允许其他人访问 Amazon IVS。**

  要允许其他人访问 Amazon IVS，您必须为需要访问权限的人员或应用程序创建一个 IAM 实体（用户或角色）。人员或应用程序将使用该实体的凭证访问 AWS。然后，您必须将策略附加到实体，以便在 Amazon IVS 中为他们（它们）授予正确的权限。

  要开始使用，请参阅 *IAM 用户指南*中的[创建您的第一个 IAM 委派用户和组](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)。
+ **我希望允许我的 AWS 账户以外的人访问我的 Amazon IVS 资源。**

  您可以创建一个角色，以便其他账户中的用户或您组织外的人员可以使用该角色来访问您的资源。您可以指定谁值得信赖，可以代入角色。对于支持基于资源的策略或访问控制列表 (ACL) 的服务，您可以使用这些策略向人员授予对您的资源的访问权。如需了解相关信息，请参阅 *IAM 用户指南*：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/ivs/latest/LowLatencyUserGuide/security-iam.html)

# Amazon IVS 的托管式策略
<a name="security-iam-awsmanpol"></a>





AWS 托管式策略是由 AWS 创建和管理的独立策略。AWS 托管式策略旨在为许多常见使用案例提供权限，以便您可以开始为用户、组和角色分配权限。

请记住，AWS 托管式策略可能不会为您的特定使用案例授予最低权限，因为它们可供所有 AWS 客户使用。我们建议通过定义特定于使用案例的[客户管理型策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)来进一步减少权限。

您无法更改 AWS 托管式策略中定义的权限。如果 AWS 更新在 AWS 托管式策略中定义的权限，则更新会影响该策略所附加到的所有主体身份（用户、组和角色）。当新的 AWS 服务 启动或新的 API 操作可用于现有服务时，AWS 最有可能更新 AWS 托管式策略。

有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管式策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。













## IVSReadOnlyAccess
<a name="security-iam-awsmanpol-ivsreadonlyaccess"></a>

使用 [IVSReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/IVSReadOnlyAccess.html) AWS 托管式策略，您的应用程序开发人员可以访问所有非变异 IVS API 操作（低延迟和实时直播均适用）。

## IVSFullAccess
<a name="security-iam-awsmanpol-ivsfullaccess"></a>

使用 [IVSFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/IVSFullAccess.html) AWS 托管式策略，您的用户可以访问所有 IVS 和 IVS Chat API 操作（低延迟和实时直播均适用）。此策略包括对依赖服务的附加权限，以允许对 IVS 控制台的完全访问。

## 策略更新
<a name="security-iam-awsmanpol-updates"></a>



查看自此服务开始跟踪 Amazon IVS 的 AWS 托管式策略更新以来的更改详细信息。有关此页面更改的自动提示，请订阅 Amazon IVS 低延迟直播功能 [Document History](doc-history.md) 页面上的 RSS 源。




| 更改 | 描述 | 日期 | 
| --- | --- | --- | 
|  [IVSReadOnlyAccess](#security-iam-awsmanpol-ivsreadonlyaccess) – 更改  |  IVS 新增了一项操作，用于授予 ListParticipantReplicas 权限，以支持“参与者复制实时直播发布”功能。  | 2025 年 7 月 24 日 | 
|  [IVSReadOnlyAccess](#security-iam-awsmanpol-ivsreadonlyaccess) – 更改  |  IVS 添加了新的操作来授予以下权限，以支持两个实时直播版本（RTMP 摄取和“使用密钥对生成参与者令牌”）： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/ivs/latest/LowLatencyUserGuide/security-iam-awsmanpol.html)  | 2024 年 9 月 18 日 | 
|  [IVSReadOnlyAccess](#security-iam-awsmanpol-ivsreadonlyaccess) – 更改  |  IVS 添加了新的操作来授予以下权限，以支持服务器端合成、实时合成录制和无令牌播放限制： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/ivs/latest/LowLatencyUserGuide/security-iam-awsmanpol.html)  | 2024 年 2 月 16 日 | 
|  [IVSFullAccess](#security-iam-awsmanpol-ivsfullaccess) – 新策略  |  IVS 添加了一项新策略，允许对 IVS（低延迟和实时直播）和 IVS 聊天功能进行完全访问。  | 2023 年 12 月 5 日 | 
|  [IVSReadOnlyAccess](#security-iam-awsmanpol-ivsreadonlyaccess) – 新策略  |  IVS 添加了一项新策略，允许对 IVS 进行只读访问（包括低延迟和实时直播）。  | 2023 年 12 月 5 日 | 
|  Amazon IVS 已开启跟踪更改  |  Amazon IVS 为其 AWS 托管式策略开启了跟踪更改。  | 2023 年 12 月 5 日 | 

# 对 Amazon IVS 使用服务相关角色
<a name="security-service-linked-roles"></a>

Amazon IVS 使用 IAM[ 服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种独特类型的 IAM 角色，它与AWS服务直接相关。服务相关角色是由 Amazon IVS 预定义的，并包含服务代表您调用其他 AWS 服务所需的所有权限。

服务相关角色可让您更轻松地设置 Amazon IVS，因为您不必手动添加必要的权限。Amazon IVS 定义了其服务相关角色的权限，并且仅 Amazon IVS 可以代入其角色。定义的权限包括信任策略和权限策略，而且权限策略不能附加到任何其他 IAM 实体。

只有在先删除相关 IVS 资源后，才能删除 IVS 服务相关角色。这可以防止您无意中取消 IVS 访问与该服务相关角色相关的亚马逊云科技资源的权限。

有关支持服务关联的角色的其他服务的信息，请参阅[与 IAM 配合使用的亚马逊云科技服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)，并查找 **服务相关角色（Service-Linked Role）**列设为 **Yes**（是）的服务。选择 **Yes (是)**，可转到查看该服务的服务相关角色文档的链接。

## Amazon IVS 的服务相关角色权限
<a name="slr-permissions"></a>

Amazon IVS 使用名为 **AWSServiceRoleForIVSRecordToS3** 的服务相关角色代表您的 Amazon IVS 渠道访问 Amazon S3 存储桶。

AWSServiceRoleForIVSRecordToS3 服务相关角色信任以下服务来代入该角色：
+ `ivs.amazonaws.com`

角色权限策略允许 Amazon IVS 对指定资源完成以下操作：
+ 操作：`your Amazon S3 buckets` 上的 `s3:PutObject`

必须配置权限，允许 IAM 实体（如用户、组或角色）创建、编辑或删除服务相关角色。有关更多信息，请参阅 *IAM 用户指南*中的[服务相关角色权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

## 为 Amazon IVS 创建服务相关角色
<a name="create-slr"></a>

无需手动为 IVS 创建该服务相关角色。当您在 Amazon IVS 控制台、AWS CLI 或 AWS API 中创建录制配置资源时，Amazon IVS 将为您创建该角色。该服务相关角色命名为 AWSServiceRoleForIVSRecordToS3。

**重要**  
如果您在其他使用此角色支持的功能的服务中完成某个操作，此服务关联角色可以出现在您的账户中。要了解更多信息，请参阅[我的 IAM 账户中出现新角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)。

如果您删除了此服务相关角色然后需要再次创建它，则可以使用相同的流程在您的账户中重新创建此角色。当您创建录制配置资源时，Amazon IVS 将再次为您创建服务相关角色。

## 为 Amazon IVS 编辑服务相关角色
<a name="edit-slr"></a>

Amazon IVS 不允许您编辑 AWSServiceRoleForIVSRecordToS3 服务相关角色。创建服务相关角色后，您将无法更改角色的名称，因为可能有多种实体引用该角色。但是可以使用 IAM 编辑角色描述。有关更多信息，请参阅 *IAM 用户指南*中的[编辑服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 删除适用于 Amazon IVS 的服务相关角色
<a name="delete-slr"></a>

如果您不再需要使用某个需要服务相关角色的功能或服务，我们建议您删除该角色。这样就没有未被主动监控或维护的未使用实体。但是，您必须先清除服务相关角色的资源，然后才能手动删除它。

**注意**  
如果在您试图删除资源时 Amazon IVS 服务正在使用该角色，则删除操作可能会失败。如果发生这种情况，则请等待几分钟后重试。

**要删除 AWSServiceRoleForIVSRecordToS3 服务相关角色所使用的 Amazon IVS 资源：**

使用 Amazon IVS 控制台、AWS CLI 或 AWS API 从所有渠道中删除录制配置关联，并删除该区域中的所有录制配置资源。

**使用 IAM 手动删除服务相关角色：**

使用 IAM 控制台、AWS CLI 或AWS API 删除 AWSServiceRoleForIVSRecordToS3 服务相关角色。有关更多信息，请参阅 *IAM 用户指南*中的[删除服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## Amazon IVS 服务相关角色支持的区域
<a name="slr-regions"></a>

Amazon IVS 支持在该服务可用的所有区域中使用服务相关角色。有关更多信息，请参阅 [Amazon IVS 服务终端节点](https://docs.aws.amazon.com/general/latest/gr/ivs.html)。

# IVS 日志记录和监控
<a name="security-logging-monitoring"></a>

要记录性能和/或操作，请使用 Amazon CloudTrail。请参阅[使用 AWS CloudTrail 记录 Amazon IVS API 调用](cloudtrail.md)。

# IVS 事件响应
<a name="security-incident-response"></a>

要检测事件或发出事件警报，您可以通过 Amazon EventBridge 事件监控流的运行状况。请参阅适用于[低延迟直播功能](eventbridge.md)和适用于[实时直播功能](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/eventbridge.html)的 Using Amazon EventBridge with Amazon IVS。

使用 [AWS Health Dashboard](https://health.aws.amazon.com/health/status) 获取有关 Amazon IVS 整体运行状况的信息（按区域）。

# IVS 恢复能力
<a name="security-resilience"></a>

IVS API 使用 AWS 全球基础设施，并围绕 AWS 区域和可用区构建。AWS区域具有多个可用区，这些可用区实现了：
+ 物理分离和隔离。
+ 通过低延迟、高吞吐量、高度冗余的网络进行连接。
+ 与传统的单个或多个数据中心基础设施相比，具有更高的可用性、容错性和可扩展性。

有关 API 的更多信息，请参阅 [IVS Low-Latency Streaming API Reference](https://docs.aws.amazon.com/ivs/latest/LowLatencyAPIReference/Welcome.html)、[IVS Real-Time Streaming API Reference](https://docs.aws.amazon.com/ivs/latest/RealTimeAPIReference/Welcome.html)，以及 [IVS Chat API Reference](https://docs.aws.amazon.com/ivs/latest/ChatAPIReference/Welcome.html)。有关 AWS 区域和可用区的更多信息，请参阅 [AWS 全球基础设施](https://aws.amazon.com/about-aws/global-infrastructure/)。

## Amazon IVS 视频数据层面
<a name="resilience-video-data-plane"></a>

视频提取和分发通过针对低延迟视频优化的全球内容分发网络 (CDN) 运行。这使得 Amazon IVS 能够以最低延迟为全球客户提供端到端的高品质视频。视频 CDN 具有全球入网点（PoP），可以覆盖地理分散的广播设备和查看器。

无论您选择在哪个 AWS 区域配置 Amazon IVS 资源：
+ 流处理工具会自动将视频提取到它们所处位置附近的 POP。
+ 查看器可以通过全球视频 CDN 流传输视频。

视频流提取完成后，将在多个 Amazon IVS 数据中心中的一个进行处理和转码。Amazon IVS 不会为提取或转码故障提供自动故障切换。而是流处理工具应对其编码器或广播客户端进行配置，以便在发生任何广播故障时自动重新提取。

# IVS 基础设施安全性
<a name="security-infrastructure"></a>

作为一项托管式服务，Amazon IVS 都受 AWS 全球网络安全流程的保护。这些流程的说明详见[安全性、身份和合规性的最佳实践](https://aws.amazon.com/architecture/security-identity-compliance/)。

## API 调用
<a name="infrastructure-api-calls"></a>

您可以使用 AWS 发布的 API 调用通过网络访问 Amazon IVS。客户端必须支持传输层安全性协议（TLS）1.2 或更高版本。建议使用 TLS 1.3 或更高版本（因为早期版本中存在漏洞）。客户端还必须支持具有完全向前保密（PFS）的密码套件，例如 Ephemeral Diffie-Hellman（DHE）或 Elliptic Curve Ephemeral Diffie-Hellman（ECDHE）。大多数现代系统（如 Java 7 及更高版本）都支持这些模式。

此外，必须使用访问密钥 ID 和与 IAM 委托人关联的秘密访问密钥来对 API 请求进行签名。您还可以使用 [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html) 生成临时安全凭证来对请求进行签名。

您可以从任何网络位置调用这些 API 操作，但 Amazon IVS 不支持基于资源的访问策略，其中可以包含基于源 IP 地址的限制。您还可以使用 Amazon IVS 策略来控制来自特定 Amazon Virtual Private Cloud (Amazon VPC) 端点或特定 VPC 的访问。事实上，这将对给定 Amazon IVS 资源的网络访问隔离在 AWS 网络中的特定 VPC。

此外，所有 API 请求均已签名 sigv4。

有关 API 的详细信息，请参阅 [IVS Low-Latency Streaming API Reference](https://docs.aws.amazon.com/ivs/latest/LowLatencyAPIReference/Welcome.html)、[IVS Real-Time Streaming API Reference](https://docs.aws.amazon.com/ivs/latest/RealTimeAPIReference/Welcome.html)，以及 [IVS Chat API Reference](https://docs.aws.amazon.com/ivs/latest/ChatAPIReference/Welcome.html)。

## 流式处理和播放
<a name="infrastructure-streaming-playback"></a>

通过 HTTPS 进行从边缘到查看器的播放，如果通道配置为允许不安全的提取，则“贡献边缘”（提取端点）支持 RTMPS（RTMP over TLS）或 RTMP。Amazon IVS 流式处理需要使用 TLS 1.2 或更高版本。流不是端到端加密的；流可以在 IVS 网络内部以不加密形式传输，以供处理。