View a markdown version of this page

Configurar las credenciales de sesión - Amazon GameLift Streams

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-identifier sg-1AB2C3De4 \ --application-identifier a-9ZY8X7Wv6 \ --protocol WebRTC \ --signal-request "[webrtc-ice-offer json string]" \ --user-id myUserId \ --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.