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.
Configurar las credenciales de sesión
Paso 1: creación de un rol de IAM
Cree un rol de IAM en su cuenta con un nombre que empiece por GameLiftStreams- y una política de confianza que permita al director del gameliftstreams.amazonaws.com servicio asumirlo.
importante
El nombre del rol debe empezar por GameLiftStreams-. No puedes cambiar el nombre de un rol después de crearlo. Si usa un rol sin este prefijo, StartStreamSession devuelve un error. Para obtener más información, consulte Solución de problemas de credenciales de sesión.
Le recomendamos que aws:SourceAccount añada aws:SourceArn condiciones a su política de confianza. Estas condiciones utilizan el ID de su cuenta de AWS y restringen las sesiones que pueden asumir la función. Para obtener más información sobre la protección contra la suplantación de identidad entre servicios, consulte la guía del usuario de IAM para evitar la Cross-service confusión entre agentes.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "gameliftstreams.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:gameliftstreams:*:123456789012:streamsession/*" } } }] }
Sustituya ambas apariciones de 123456789012 por su identificador. Cuenta de AWS
nota
Service-linked los roles (identificados por los números ARN que contienen/aws-service-role/) no se pueden usar con esta función. En su lugar, cree un rol de IAM.
Paso 2: Adjunte los permisos al rol
Adjunte al rol políticas de IAM que otorguen solo los permisos que necesita su aplicación. Para obtener información sobre el alcance de los permisos, consulte Concesión del privilegio mínimo en la guía del usuario de IAM.
Por ejemplo, si su aplicación necesita leer desde un bucket de Amazon S3:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::my-game-assets-bucket", "arn:aws:s3:::my-game-assets-bucket/*" ] }] }
Paso 3: Conceder el permiso a iam: PassRole
El director de IAM que llama StartStreamSession debe tener permiso para transferir el rol a Amazon GameLift Streams. Añada la siguiente declaración a la política de IAM del director. Para obtener más información, consulte Concesión de permisos a un usuario para transferir un rol a un AWS servicio en la Guía del usuario de IAM.
{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/GameLiftStreams-MyAppRole", "Condition": { "StringEquals": { "iam:PassedToService": "gameliftstreams.amazonaws.com" } } }
Paso 4: Inicie una sesión de transmisión con el rol
Pase el ARN del rol al llamar StartStreamSession:
aws gameliftstreams start-stream-session \ --stream-group-identifiersg-1AB2C3De4\ --application-identifiera-9ZY8X7Wv6\ --protocol WebRTC \ --signal-request "[webrtc-ice-offer json string]" \ --user-idmyUserId\ --role-arn arn:aws:iam::123456789012:role/GameLiftStreams-MyAppRole
Si no se puede asumir el rol (por ejemplo, porque la política de confianza está mal configurada), StartStreamSession devuelve un. ValidationException La sesión no se inicia. Para obtener más información, consulte Solución de problemas de credenciales de sesión.