Gerenciamento de Identidade e Acesso no Chat do IVS - Amazon IVS

Gerenciamento de Identidade e Acesso no Chat do IVS

O AWS Identity and Access Management (IAM) é um serviço da AWS que ajuda o administrador de uma conta a controlar de forma segura o acesso aos recursos da AWS. Consulte Identity and Access Management in IVS no Guia do usuário do streaming de baixa latência do IVS.

Público

O uso do IAM varia, dependendo do trabalho realizado no Amazon IVS. Consulte Público no Guia do usuário do streaming de baixa latência do IVS.

Como a Amazon IVS funciona com o IAM

Ants de fazer solicitações de API do Amazon IVS, você deve criar uma ou mais identidades do IAM (usuários, grupos e funções) e políticas do IAM, depois anexar as políticas às identidades. Leva alguns minutos para que as permissões sejam propagadas; até então, as solicitações de API são rejeitadas.

Para uma visualização de alto nível de como o Amazon IVS funciona com o IAM, consulte Serviços da AWS que funcionam com o IAM no Guia do usuário do IAM.

Identidades

Você pode criar identidades do IAM para fornecer autenticação a pessoas e processos na sua conta da AWS. Os grupos do IAM são conjuntos de usuários do IAM que podem ser gerenciados como uma unidade. Consulte Identidades (usuários, grupos e funções) no Guia do usuário do IAM.

Políticas

As políticas são documentos de política de permissão de JSON compostos de elementos. Consulte Políticas no Guia do usuário do streaming de baixa latência do IVS.

O Chat do Amazon IVS oferece suporte a três elementos:

  • Ações: as ações de política para o Chat do Amazon IVS usam o prefixo ivschat antes da ação. Por exemplo, para conceder permissão a alguém para criar uma sala de Chat do Amazon IVS com o método da API CreateRoom do Chat do Amazon IVS, inclua a ação ivschat:CreateRoom na política dessa pessoa. As instruções de política devem incluir um elemento Action ou NotAction.

  • Recursos: o recurso de sala do Chat do Amazon IVS tem o seguinte formato de ARN:

    arn:aws:ivschat:${Region}:${Account}:room/${roomId}

    Por exemplo, para especificar a sala VgNkEJgOVX9N em sua instrução, use este ARN:

    "Resource": "arn:aws:ivschat:us-west-2:123456789012:room/VgNkEJgOVX9N"

    Algumas ações do Chat do Amazon IVS, como as de criação de recursos, não podem ser executadas em um recurso específico. Nesses casos, você deve usar o caractere curinga (*):

    "Resource":"*"
  • Condições: o Chat do Amazon IVS oferece suporte a algumas chaves de condição globais: aws:RequestTag, aws:TagKeys e aws:ResourceTag.

Você pode usar variáveis como espaços reservados em uma política. Por exemplo, será possível conceder a um usuário do IAM permissão para acessar um recurso somente se ele estiver marcado com o nome de usuário do IAM. Consulte Variáveis e tags no Guia do usuário do IAM.

O Amazon IVS fornece políticas gerenciadas pela AWS que podem ser usadas para conceder um conjunto predefinido de permissões para identidades (somente leitura ou acesso total). Você pode optar por usar políticas gerenciadas em vez das políticas baseadas em identidade mostradas abaixo. Para obter detalhes, consulte Managed Policies for Amazon IVS Chat.

Autorização baseada em tags do Amazon IVS

É possível anexar tags a recursos do Chat do Amazon IVS ou informar tags em uma solicitação para o Chat do Amazon IVS. Para controlar o acesso baseado em tags, forneça informações sobre as tags no elemento de condição de uma política usando as chaves de condição aws:ResourceTag/key-name, aws:RequestTag/key-name ou aws:TagKeys. Para obter mais informações sobre como marcar recursos do Chat do Amazon IVS, consulte “Marcação” na Referência da API do Chat do IVS.

Perfis

Consulte Funções do IAM eCredenciais de segurança temporárias no Guia do usuário do IAM.

Perfil do IAM é uma entidade dentro da sua conta da AWS que tem permissões específicas.

O Amazon IVS oferece suporte ao uso de credenciais de segurança temporárias. É possível usar credenciais temporárias para fazer login com federação, assumir uma função do IAM ou assumir uma função entre contas. Obtenha credenciais de segurança temporárias chamando operações de API do AWS Security Token Service, como AssumeRole ou GetFederationToken.

Acesso privilegiado e sem privilégios

Os recursos da API têm acesso privilegiado. O acesso de reprodução sem privilégios pode ser configurado por meio de canais privados; consulte Setting Up IVS Private Channels.

Práticas recomendadas para políticas

Consulte Práticas recomendadas do IAM no Guia do usuário do IAM.

As políticas baseadas em identidade são muito eficientes. Elas determinam se alguém pode criar, acessar ou excluir recursos do Amazon IVS em sua conta. Essas ações podem incorrer em custos para sua conta da AWS. Siga estas recomendações:

  • Conceder privilégios mínimos: ao criar políticas personalizadas, conceda apenas as permissões necessárias para executar uma tarefa. Comece com um conjunto mínimo de permissões e conceda permissões adicionais, conforme necessário. Fazer isso é mais seguro do que começar com permissões que são muito lenientes, e tentar restringi-las posteriormente. Especificamente, reservar ivschat:* para acesso de administrador; não usá-lo em aplicações.

  • Habilitar autenticação multifator (MFA) para operações confidenciais: para aumentar a segurança, exija que os usuários do IAM usem MFA para acessar recursos ou operações de API confidenciais.

  • Usar condições de política para segurança adicional: na medida do possível, defina as condições sob as quais suas políticas baseadas em identidade permitem o acesso a um recurso. Por exemplo, você pode gravar condições para especificar um intervalo de endereços IP permitidos do qual a solicitação deve partir. Você também pode escrever condições para permitir somente solicitações em uma data especificada ou período ou para exigir o uso de SSL ou MFA.

Exemplos de políticas baseadas em identidade

Use o console do Amazon IVS.

Para acessar o console do Amazon IVS, é necessário ter um conjunto mínimo de permissões que permitam listar e visualizar detalhes sobre os recursos do Chat do Amazon IVS em sua conta da AWS. Se você criar uma política de permissões baseada em identidade que seja mais restritiva que as permissões mínimas necessárias, o console não vai funcionar como pretendido para entidades com essa política. Para garantir o acesso ao console do Amazon IVS, anexe a seguinte política às identidades (consulte Adicionar e remover permissões do IAM no Guia do usuário do IAM).

As partes da política a seguir fornecem acesso a:

  • Todas as operações da API do Chat do Amazon IVS

  • Suas cotas de serviço do Chat do Amazon IVS

  • Listar lambdas e adicionar permissões para o lambda escolhido para moderação do Amazon IVS Chat

  • Amazon CloudWatch para obter métricas para sua sessão 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 baseada em recurso para o Amazon IVS Chat

É necessário dar ao serviço Amazon IVS Chat a permissão para invocar seu recurso do Lambda para revisar mensagens. Para isso, siga as instruções em Usar políticas baseadas em recursos para o AWS Lambda (no Guia do desenvolvedor do AWS Lambda) e preencha os campos, conforme especificado abaixo.

Para controlar o acesso a seu recursos do Lambda, use condições baseadas em:

  • SourceArn: nossa política de exemplo usa um curinga (*) para permitir que todas as salas de sua conta invoquem o lambda. Opcionalmente, você pode especificar uma sala da conta para permitir que apenas essa sala invoque o lambda.

  • SourceAccount: na política de exemplo abaixo, o ID da conta da AWS é 123456789012.

{ "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/*" } } } ] }

Solução de problemas

Consulte Solução de problemas no Guia do usuário do streaming de baixa latência do IVS para obter informações sobre como diagnosticar e corrigir problemas comuns que poderiam ocorrer ao trabalhar com o Chat do Amazon IVS e o IAM.