Exemplos de políticas baseadas em identidade para o Amazon GameLift
Por padrão, usuários e perfis não têm permissão para criar ou modificar recursos do Amazon GameLift. Eles também não podem executar tarefas usando o AWS Management Console, a AWS Command Line Interface (AWS CLI) ou a API AWS. Para conceder aos usuários permissão para executar ações nos recursos de que precisam, um administrador do IAM pode criar políticas do IAM. O administrador pode então adicionar as políticas do IAM aos perfis e os usuários podem presumir os perfis.
Para saber como criar uma política baseada em identidade do IAM ao usar esses documentos de política em JSON de exemplo, consulte Criar políticas do IAM (console) no Guia do usuário do IAM.
Para obter detalhes sobre ações e tipos de recurso definidos pelo Amazon GameLift, incluindo o formato dos ARNs para cada tipo de recurso, consulte Ações, recursos e chaves de condição do na Referência de autorização do serviço.
Tópicos
- Melhores práticas de política
- Usar o console do Amazon GameLift
- Permitir que usuários visualizem suas próprias permissões
- Permitir acesso de jogador para sessões de jogos
- Permitir acesso a uma fila do Amazon GameLift
- Veja as frotas do Amazon GameLift com base em tags
- Acesse um arquivo de compilação do jogo no Amazon S3
Melhores práticas de política
As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Amazon GameLift em sua conta. Essas ações podem incorrer em custos para seus Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
-
Comece com as políticas gerenciadas pela AWS e avance para as permissões de privilégio mínimo –- para começar a conceder permissões a seus usuários e workloads, use as políticas gerenciadas pela AWS, que concedem permissões para muitos casos de uso comuns. Elas estão disponíveis em seus Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo cliente AWS específicas para seus casos de uso. Para obter mais informações, consulte Políticas gerenciadas pela AWS ou Políticas gerenciadas pela AWS para funções de trabalho no Guia do Usuário do IAM.
-
Aplique permissões de privilégio mínimo –- ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em atributos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre como usar o IAM para aplicar permissões, consulte Políticas e permissões no IAM no Guia do Usuário do IAM.
-
Use condições nas políticas do IAM para restringir ainda mais o acesso –- você pode adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, você pode gravar uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso a ações de serviço, se elas forem usadas por meio de um AWS service (Serviço da AWS) específico, como o AWS CloudFormation. Para obter mais informações, consulte Elementos da política JSON do IAM: Condição no Guia do usuário do IAM.
-
Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais –- o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de 100 verificações de política e recomendações acionáveis para ajudá-lo a criar políticas seguras e funcionais. Para obter mais informações, consulte Validar políticas com o IAM Access Analyzer no Guia do usuário do IAM.
-
Exigir autenticação multifator (MFA) –- se houver um cenário que exija usuários do IAM ou um usuário raiz em sua Conta da AWS, ative a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para obter mais informações, consulte Acesso seguro à API com a MFA no Guia do usuário do IAM.
Para obter mais informações sobre as práticas recomendadas do IAM, consulte Práticas Recomendadas de Segurança no IAM no Guia do Usuário do IAM.
Usar o console do Amazon GameLift
Para acessar o console da Amazon GameLift, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os recursos do Amazon GameLift em sua Conta da AWS. Se você criar uma política baseada em identidade que seja mais restritiva do que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis) com essa política.
Para garantir que essas entidades ainda possam usar o console do Amazon GameLift, adicione permissões a usuários e grupos com a sintaxe dos seguintes exemplos e na Exemplos de permissões de administrador. Para ter mais informações, consulte Definir as permissões do usuário do Amazon GameLift.
Os usuários que trabalham com o Amazon GameLift por meio de operações de API da AWS CLI ou da AWS não precisam de permissões mínimas do console. Em vez disso, é possível limitar o acesso somente às operações que o usuário precisa executar. Por exemplo, um usuário jogador, agindo em nome de clientes do jogo, exige acesso para solicitar sessões de jogo, colocar jogadores em jogos e outras tarefas.
Para obter informações sobre as permissões necessárias para usar todos os atributos do console do Amazon GameLift, consulte a sintaxe de permissões para administradores, em. Exemplos de permissões de administrador
Permitir que usuários visualizem suas próprias permissões
Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou de forma programática usando a API da AWS CLI ou da AWS.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
Permitir acesso de jogador para sessões de jogos
Para colocar jogadores em sessões de jogo, os clientes de jogos e os serviços de back-end precisam de permissões. Para obter exemplos de políticas para esses cenários, consulte Exemplos de permissão de usuário do jogador.
Permitir acesso a uma fila do Amazon GameLift
O exemplo a seguir fornece ao usuário acesso a uma fila específica do Amazon GameLift.
Essa política concede ao usuário permissões para adicionar, atualizar e excluir destinos de fila com as seguintes ações: gamelift:UpdateGameSessionQueue
, gamelift:DeleteGameSessionQueue
e gamelift:DescribeGameSessionQueues
. Conforme mostrado, essa política usa o elemento Resource
para limitar o acesso a uma única fila: gamesessionqueue/examplequeue123
.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"ViewSpecificQueueInfo", "Effect":"Allow", "Action":[ "gamelift:DescribeGameSessionQueues" ], "Resource":"arn:aws:gamelift:::gamesessionqueue/examplequeue123" }, { "Sid":"ManageSpecificQueue", "Effect":"Allow", "Action":[ "gamelift:UpdateGameSessionQueue", "gamelift:DeleteGameSessionQueue" ], "Resource":"arn:aws:gamelift:::gamesessionqueue/examplequeue123" } ] }
Veja as frotas do Amazon GameLift com base em tags
Você pode usar condições em sua política baseada em identidade para controlar o acesso aos recursos do Amazon GameLift com base em etiquetas. Este exemplo mostra como você pode criar uma política que permita visualizar uma frota se a tag Owner
corresponder ao nome do usuário. Essa política também concede as permissões necessárias concluir essa operação no console.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListFleetsInConsole", "Effect": "Allow", "Action": "gamelift:ListFleets", "Resource": "*" }, { "Sid": "ViewFleetIfOwner", "Effect": "Allow", "Action": "gamelift:DescribeFleetAttributes", "Resource": "arn:aws:gamelift:*:*:fleet/*", "Condition": { "StringEquals": {"gamelift:ResourceTag/Owner": "${aws:username}"} } } ] }
Acesse um arquivo de compilação do jogo no Amazon S3
Depois de integrar seu servidor de jogos com o Amazon GameLift, carregue os arquivos de compilação no Amazon S3. Para que o Amazon GameLift acesse os arquivos de compilação, use a política a seguir.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::
bucket-name
/object-name
" } ] }
Para obter mais informações sobre o upload dos arquivos do Amazon GameLift, consulte Implementar uma compilação de servidor personalizada para hospedagem do Amazon GameLift.