Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Autenticación de las aplicaciones cliente de los usuarios finales
También puede ejecutar la SDK mensajería de Amazon Chime desde aplicaciones cliente de usuario final. Realizar SDK llamadas desde un servicio de back-endexplica cómo realizar API llamadas, como crear un canal, y. send-channel-message list-channel-messages Las aplicaciones cliente para usuarios finales, como los navegadores y las aplicaciones móviles, realizan estas mismas API llamadas. Las aplicaciones cliente también pueden conectarse WebSocket para recibir actualizaciones en tiempo real sobre mensajes y eventos en los canales de los que son miembros. En esta sección se explica cómo asignar IAM credenciales a una aplicación cliente destinada a un usuario de una instancia de aplicación específica. Una vez que los usuarios finales tengan estas credenciales, podrán realizar las API llamadas que se muestran en Realizar SDK llamadas desde un servicio de back-end ellas. Para ver una demostración completa de una aplicación cliente, consulte https://github.com/aws-samples/amazon-chime-sdk/tree/main/apps/chat.
IAMProporcionar credenciales a los usuarios finales
La SDK mensajería de Amazon Chime se integra de forma nativa con las políticas de AWS Identity and Access Management (IAM) para autenticar las solicitudes entrantes. La IAM política define lo que puede hacer un usuario individual. IAMlas políticas se pueden diseñar para proporcionar credenciales limitadas y con un alcance limitado para su caso de uso. Para obtener más información sobre la creación de políticas para los usuarios de SDK mensajería de Amazon Chime, consulte. Ejemplos IAM de roles
Si ya tiene un proveedor de identidad, tiene las siguientes opciones para integrar su identidad actual con la mensajería de Amazon ChimeSDK.
Puede usar su proveedor de identidad actual para autenticar a los usuarios y, a continuación, integrar el servicio de autenticación con el AWS Security Token Service (STS) para crear su propio servicio de venta de credenciales para los clientes. STSprevé la asunción APIs de roles. IAM
Si ya tiene un proveedor de identidad SAML o un proveedor de identidad compatible con OpenID, le recomendamos que utilice Amazon Cognito Identity Pools, que eliminan las llamadas a AWS STS AssumeRoleWithSAML y AssumeRoleWithWebIdentity. Amazon Cognito se integra con OpenID y con proveedores de identidad pública como FacebookSAML, Login with Amazon, Google e Sign in with Apple.
Si no tiene un proveedor de identidad, puede empezar a utilizar los grupos de usuarios de Amazon Cognito. Para ver un ejemplo de cómo usar Amazon Cognito con las funciones de mensajería de Amazon SDK Chime, consulte Incorpore funciones de chat a su aplicación con la mensajería de Amazon Chime
Como alternativa, puede utilizar AWS STS para crear su propio servicio de venta de credenciales o crear su propio proveedor de identidad.
Utilización para vender credenciales STS
Si ya dispone de uno de IDP estos tipos ActiveDirectory LDAP y desea implementar un servicio de venta de credenciales personalizado o conceder acceso al chat a los asistentes a la reunión que no estén autenticados, puede utilizar el AWS STS AssumeRole API. Para ello, primero debe crear un rol de SDK mensajería SDK de Amazon Chime. Para obtener más información sobre la creación de ese rol, consulte Crear un rol para delegar permisos a un IAM usuario.
El IAM rol tendría permisos para la acción de SDK mensajería de Amazon Chime que utilizaría su aplicación, de forma similar a la siguiente:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "chime:GetMessagingSessionEndpoint" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "chime:SendChannelMessage", "chime:ListChannelMessages", "chime:CreateChannelMembership", "chime:ListChannelMemberships", "chime:DeleteChannelMembership", "chime:CreateChannelModerator", "chime:ListChannelModerators", "chime:DescribeChannelModerator", "chime:CreateChannel", "chime:DescribeChannel", "chime:ListChannels", "chime:DeleteChannel", "chime:RedactChannelMessage", "chime:UpdateChannelMessage", "chime:Connect", "chime:ListChannelBans", "chime:CreateChannelBan", "chime:DeleteChannelBan", "chime:ListChannelMembershipsForAppInstanceUser" "chime:AssociateChannelFlow", "chime:DisassociateChannelFlow", "chime:GetChannelMessageStatus" ], "Resource": [ "{
chime_app_instance_arn
}/user/${aws:PrincipalTag/my_applications_user_id
}", "{chime_app_instance_arn
}/channel/*" ] } ] }
En este ejemplo, llame a este rol el ChimeMessagingSampleAppUserRole.
Anote la etiqueta de sesión en la ChimeMessagingSampleAppUserRolepolítica ${my_application_user_id}
del ARN recurso de usuario. Esta etiqueta de sesión está parametrizada en el AssumeRoleAPIllamada para limitar las credenciales devueltas a los permisos de un solo usuario.
Con la AssumeRole y TagSessionAPIsse llaman mediante una IAM entidad ya acreditada, como un IAM usuario. También se APIs pueden llamar mediante un IAM rol diferente, como un rol de AWS Lambda ejecución. Esa IAM identidad debe tener permisos para llamar AssumeRole
y TagSession
activar el ChimeMessagingSampleAppUserRole.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Resource": "arn:aws:iam::
my_aws_account_id
:role/ChimeMessagingSampleAppUserRole
" } ] }
En este ejemplo, llama a este rol ChimeSampleAppServerRole.
Debe configurarlo ChimeMessagingSampleAppUserRole
con una política de confianza que le permita llamar ChimeMessagingSampleAppServerRole
al STS AssumeRole APIen él. Para obtener más información sobre el uso de políticas de confianza con IAM roles, consulte Cómo usar políticas de confianza con IAM rolesChimeMessagingSampleAppUserRole
. El siguiente ejemplo muestra una relación de confianza típica.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS":"arn:aws:iam::
my_aws_account_id
:role/ChimeMessagingSampleAppServerRole
" } "Action": "sts:AssumeRole" } ] }
En una implementación de muestra, AWS Lambda se lanza una EC2 instancia de AmazonChimeMessagingSampleAppServerRole
. A continuación, el servidor:
Realiza cualquier autorización específica de la aplicación en relación con las solicitudes de un cliente para recibir credenciales.
Invoca STS
AssumeRole
ChimeMessagingSampleAppUserRole
, con una etiqueta que parametriza el.${aws:PrincipalTag/my_applications_user_id}
Reenvía al usuario las credenciales devueltas en la llamada de
AssumeRole
.
El siguiente ejemplo muestra un CLI comando para asumir un rol en el paso 2:
aws sts assume-role --role-arn arn:aws:iam::
my_aws_account_id
:role/ChimeMessagingSampleAppUserRole
--role-session-name demo --tags Key=my_applications_user_id
,Value=123456789