Identity and Access Management en el chat de IVS
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 en la Guía del usuario de Transmisión de baja latencia de IVS.
Público
La forma en que utilice IAM difiere en función del trabajo que realice en Amazon IVS. Consulte Audience en la Guía del usuario de Transmisión de baja latencia de IVS.
Cómo funciona Amazon IVS con IAM
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 en la Guía del usuario de IAM.
Identidades
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) en la Guía del usuario de IAM.
Políticas
Un documento de política de JSON se compone de elementos. Consulte 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 APICreateRoom
de Chat de Amazon IVS, incluya la acciónivschat:CreateRoom
en la política para esa persona. Las instrucciones de la política deben incluir un elementoAction
o un elementoNotAction
. -
Recursos: el recurso de la sala de Chat de Amazon IVS tiene el siguiente formato de ARN:
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
yaws: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 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.
Autorización basada en etiquetas de Amazon IVS
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.
Roles
Consulte Roles de IAM y Credenciales de seguridad temporales 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, como AssumeRole
o GetFederationToken
.
Acceso privilegiado y sin privilegios
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.
Prácticas recomendadas para utilizar las políticas
Consulte Prácticas recomendadas de IAM 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
Uso de la consola de Amazon IVS
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 en la Guía del usuario de IAM).
Las partes de la siguiente política proporcionan acceso a:
-
Todos los puntos de conexión de la API de Chat de Amazon IVS
-
Sus cuotas de servicio 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
{ "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
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 (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 es123456789012
.
{ "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/*" } } } ] }
Resolución de problemas
Consulte 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.