

# Identity and Access Management en el chat de IVS
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) es un servicio de AWS que ayuda al administrador de una cuenta a controlar de forma segura el acceso a los recursos de AWS. Consulte [Identity and Access Management en IVS](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/security-iam.html) en la *Guía del usuario de Transmisión de baja latencia de IVS*.

## Público
<a name="security-iam-audience"></a>

La forma en que utilice IAM difiere en función del trabajo que realice en Amazon IVS. Consulte [Audience](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/security-iam.html#security-iam-audience) en la *Guía del usuario de Transmisión de baja latencia de IVS*.

## Cómo funciona Amazon IVS con IAM
<a name="security-iam-how-ivs-works"></a>

Para poder realizar solicitudes de API de Amazon IVS, debe crear una o varias *identidades* de IAM (usuarios, grupos y roles) y *políticas* de IAM y, a continuación, adjunte políticas a identidades. Los permisos tardan hasta unos minutos en propagarse; hasta entonces, las solicitudes de API se rechazan.

Para obtener una perspectiva general de cómo funciona Amazon IVS con IAM, consulte [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) en la *Guía del usuario de IAM*.

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

Puede crear identidades de IAM para proporcionar autenticación a personas y procesos en la cuenta de AWS. Los grupos de IAM son conjuntos de usuarios de IAM que puede administrar como una unidad. Consulte [Identidades (usuarios, grupos y roles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) en la *Guía del usuario de IAM*.

## Políticas
<a name="security-iam-policies"></a>

Un documento de política de JSON se compone de *elementos*. Consulte [Policies](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/security-iam.html#security-iam-policies) en la *Guía del usuario de Transmisión de baja latencia de IVS*.

Chat de Amazon IVS admite tres elementos:
+ **Acciones**: las acciones de política para Chat de Amazon IVS utilizan el prefijo `ivschat` antes de la acción. Por ejemplo, para conceder a alguien permiso para crear una sala de Chat de Amazon IVS con el método de la API `CreateRoom` de Chat de Amazon IVS, incluya la acción `ivschat:CreateRoom` en la política para esa persona. Las instrucciones de la política deben incluir un elemento `Action` o un elemento `NotAction`.
+ **Recursos**: el recurso de la sala de Chat de Amazon IVS tiene el siguiente formato de [ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html):

  ```
  arn:aws:ivschat:${Region}:${Account}:room/${roomId}
  ```

  Por ejemplo, para especificar la sala `VgNkEJgOVX9N` en la instrucción, utilice este ARN:

  ```
  "Resource": "arn:aws:ivschat:us-west-2:123456789012:room/VgNkEJgOVX9N"
  ```

  Algunas acciones de Chat de Amazon IVS, como las que se utilizan para crear recursos, no se pueden llevar a cabo en un recurso específico. En dichos casos, debe utilizar el carácter comodín (`*`):

  ```
  "Resource":"*"
  ```
+ **Condiciones**: Chat de Amazon IVS admite algunas claves de condición globales (`aws:RequestTag`, `aws:TagKeys` y `aws:ResourceTag`).

Puede utilizar variables como marcadores de posición en una política. Por ejemplo, puede conceder un permiso de usuario de IAM para acceder a un recurso, solo si está etiquetado con el nombre de usuario de IAM. Consulte [Variables y etiquetas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html) en la *Guía del usuario de IAM*.

Amazon IVS proporciona políticas administradas de AWS que se pueden utilizar para conceder un conjunto preconfigurado de permisos a las identidades (acceso total o de solo lectura). Puede optar por utilizar políticas administradas en lugar de las políticas basadas en la identidad que están a continuación. Para obtener detalles, consulte [Políticas administradas para el chat de Amazon IVS](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/security-iam-awsmanpol.html).

## Autorización basada en etiquetas de Amazon IVS
<a name="security-iam-authorization"></a>

Puede asociar etiquetas a los recursos de Chat de Amazon IVS o transferirlas en una solicitud a Chat de Amazon IVS. Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política utilizando las claves de condición `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`. Para obtener más información sobre el etiquetado de recursos de Chat de Amazon IVS, consulte “Tagging” en la [Referencia de la API de Chat de IVS](https://docs.aws.amazon.com/ivs/latest/ChatAPIReference/Welcome.html). 

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

Consulte [Roles de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) y [Credenciales de seguridad temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) en la *Guía del usuario de IAM*.

Un *rol de IAM* es una entidad de la cuenta de AWS que dispone de permisos específicos.

Amazon IVS admite el uso de *credenciales de seguridad temporales*. Puede utilizar credenciales temporales para iniciar sesión con identidad federada, asumir un rol de IAM o asumir un rol de acceso entre cuentas. Las credenciales de seguridad temporales se obtienen mediante una llamada a operaciones de la API de [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html), como `AssumeRole` o `GetFederationToken`.

## Acceso privilegiado y sin privilegios
<a name="security-iam-privileged-access"></a>

Los recursos de la API tienen acceso privilegiado. El acceso a la reproducción sin privilegios se puede configurar a través de canales privados; consulte [Configuración de canales privados de IVS](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/private-channels.html).

## Prácticas recomendadas para utilizar las políticas
<a name="security-iam-policy-best-practices"></a>

Consulte [Prácticas recomendadas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.

Las políticas basadas en identidad son muy eficaces. Determinan si alguien puede crear, acceder o eliminar los recursos de Amazon IVS de la cuenta. Estas acciones pueden generar costos adicionales para su cuenta de AWS. Siga estas recomendaciones:
+ **Conceda privilegios mínimos**: al crear políticas personalizadas, conceda solo los permisos necesarios para llevar a cabo una tarea. Comience con un conjunto mínimo de permisos y conceda permisos adicionales según sea necesario. Por lo general, es más seguro que comenzar con permisos que son muy poco estrictos e intentar hacerlos más estrictos más adelante. Concretamente, reserve `ivschat:*` para el acceso de administrador y no lo utilice en aplicaciones.
+ **Habilite la Multi-Factor Authentication (MFA) para operaciones confidenciales**: para mayor seguridad, exija a los usuarios de IAM que utilicen la autenticación multifactor (MFA) para acceder a recursos u operaciones de API confidenciales.
+ **Utilice condiciones de política para mayor seguridad**: en la medida en que sea práctico, defina las condiciones en las que las políticas basadas en la identidad permiten el acceso a un recurso. Por ejemplo, puede escribir condiciones para especificar un rango de direcciones IP permitidas desde el que debe proceder una solicitud. También puede escribir condiciones para permitir solicitudes solo en un intervalo de hora o fecha especificado o para solicitar el uso de SSL o MFA.

## Ejemplos de políticas basadas en identidad
<a name="security-iam-policy-examples"></a>

### Uso de la consola de Amazon IVS
<a name="security-iam-policy-examples-console"></a>

Para acceder a la consola de Amazon IVS, debe contar con un conjunto mínimo de permisos que permitan mostrar y ver detalles sobre los recursos de Chat de Amazon IVS de la cuenta de AWS. Si crea una política de permisos basados en la identidad que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las identidades que posean esa política. Para garantizar el acceso a la consola de Amazon IVS, asocie la siguiente política a las identidades (consulte [Agregado y eliminación de permisos de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la *Guía del usuario de IAM*).

Las partes de la siguiente política proporcionan acceso a:
+ Todas las operaciones de la API de Chat de Amazon IVS
+ Sus [cuotas de servicio](service-quotas.md) de Chat de Amazon IVS
+ Publicación de lambdas y adición de permisos para la lambda elegida para la moderación de chat de Amazon IVS
+ Amazon CloudWatch para obtener métricas de su sesión de chat

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": "ivschat:*",
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Action": [
        "servicequotas:ListServiceQuotas"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Action": [
        "cloudwatch:GetMetricData"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Action": [
        "lambda:AddPermission",
        "lambda:ListFunctions"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

------

## Política basada en recursos para chat de Amazon IVS
<a name="security-chat-policy-examples"></a>

Debe autorizar al servicio de chat de Amazon IVS a invocar su recurso lambda para revisar los mensajes. Para ello, siga las instrucciones que se indican en [Uso de políticas basadas en recursos para AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) (en la *Guía para desarrolladores de AWS Lambda*) y complete los campos que se indican a continuación.

para controlar el acceso a los sus recursos lambda, puede utilizar las condiciones de sus políticas basadas en:
+ `SourceArn`: nuestra política de prueba utiliza un comodín ( `*` ) para permitir que todas las salas de su cuenta invoquen la lambda. Opcionalmente, puede especificar una sala de su cuenta para permitir que solo esa sala invoque la lambda.
+ `SourceAccount`: en la política de prueba que se indica a continuación, el ID de cuenta de AWS es `123456789012`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Principal": {
            "Service": "ivschat.amazonaws.com"
         },
         "Action": [
            "lambda:InvokeFunction"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:lambda:us-west-2:123456789012:function:name",
         "Condition": {
            "StringEquals": {
               "AWS:SourceAccount": "123456789012"
            },
            "ArnLike": {
               "AWS:SourceArn": "arn:aws:ivschat:us-west-2:123456789012:room/*"
            }
         }
      }
   ]
}
```

------

## Solución de problemas
<a name="security-iam-troubleshooting"></a>

Consulte [Troubleshooting](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/security-iam.html#security-iam-troubleshooting) en la *Guía del usuario de Transmisión de baja latencia de IVS* para obtener información sobre el diagnóstico y la solución de los problemas comunes que es posible encontrar al trabajar con Chat de Amazon IVS y IAM.