Etapa 1: Autorizar sua aplicação a enviar dados para a AWS - Amazon CloudWatch

Etapa 1: Autorizar sua aplicação a enviar dados para a AWS

Para usar o CloudWatch RUM, sua aplicação deve ter autorização.

Você tem três opções para configurar a autorização:

  • Deixe o CloudWatch RUM criar um grupo de identidades do Amazon Cognito para a aplicação. Esse método requer o menor esforço de configuração. Essa é a opção padrão.

    O grupo de identidades conterá uma identidade não autenticada. Isso permite que o cliente da Web do CloudWatch RUM envie dados para o CloudWatch RUM sem autenticar o usuário da aplicação.

    O grupo de identidades do Amazon Cognito tem uma função do IAM anexada. A identidade não autenticada do Amazon Cognito permite que o cliente da Web assuma a função do IAM autorizada a enviar dados para o CloudWatch RUM.

  • Usar um grupo de identidades do Amazon Cognito já existente. Nesse caso, você também deve modificar a função do IAM anexada ao grupo de identidades. Use esta opção para bancos de identidades que oferecem suporte para usuários não autenticados. Você pode usar somente bancos de identidades da mesma região.

  • Use a autenticação de um provedor de identidade existente que você já configurou. Nesse caso, você deve obter credenciais do provedor de identidade e sua aplicação deve encaminhá-las para o cliente da Web do RUM.

    Use esta opção para bancos de identidades que oferecem suporte somente para usuários autenticados.

As seções a seguir apresentam mais detalhes sobre essas opções.

O CloudWatch RUM cria um novo grupo de identidades do Amazon Cognito

Essa é a opção mais simples de configurar e, se você a escolher, não serão necessárias outras etapas de configuração. Você deve ter permissões administrativas para usar essa opção. Para ter mais informações, consulte Políticas do IAM para uso do CloudWatch RUM.

Com essa opção, o CloudWatch RUM cria os seguintes recursos:

  • Um novo grupo de identidades do Amazon Cognito

  • Uma identidade não autenticada do Amazon Cognito. Isso permite que o cliente da Web do RUM assuma uma função do IAM sem autenticar o usuário da aplicação.

  • A função do IAM que o cliente da Web do RUM assumirá. A política do IAM anexada a essa função permite que ela use a API PutRumEvents com o recurso de monitor de aplicações. Em outras palavras, permite que o cliente da Web do RUM envie dados para o RUM.

O cliente da Web do RUM usa a identidade do Amazon Cognito para obter credenciais da AWS. As credenciais AWS são associadas à função do IAM. A função do IAM está autorizada a usar a PutRumEvents com o recurso AppMonitor.

O Amazon Cognito envia o token de segurança necessário para permitir que sua aplicação envie dados para o CloudWatch RUM. O snippet de código do JavaScript gerado pelo CloudWatch RUM inclui as linhas a seguir para habilitar a autenticação.

{ identityPoolId: [identity pool id], // e.g., 'us-west-2:EXAMPLE4a-66f6-4114-902a-EXAMPLEbad7' } );

Usar um grupo existente de identidades do Amazon Cognito

Se você optar por usar um grupo de identidades do Amazon Cognito já existente, especifique o grupo de identidades ao adicionar a aplicação ao CloudWatch RUM. O grupo deve ser compatível com a habilitação do acesso a identidades não autenticadas. Você pode usar somente bancos de identidades da mesma região.

Você também deve adicionar as seguintes permissões à política do IAM anexada à função do IAM associada a esse grupo de identidades.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:[region]:[accountid]:appmonitor/[app monitor name]" } ] }

O Amazon Cognito enviará o token de segurança necessário para permitir que sua aplicação acesse o CloudWatch RUM.

Provedor de terceiros

Se você decidir usar a autenticação privada de um provedor terceirizado, deverá obter credenciais do provedor de identidade e encaminhá-las para a AWS. A melhor maneira de fazer isso é usar um fornecedor de token de segurança. Você pode usar qualquer fornecedor de token de segurança, incluindo o Amazon Cognito com o AWS Security Token Service. Para obter mais informações sobre o AWS STS, consulte Welcome to the AWS Security Token Service API Reference.

Se você quiser usar o Amazon Cognito como fornecedor de token nesse cenário, você pode configurá-lo para trabalhar com um provedor de autenticação. Para obter mais informações, consulte Conceitos básicos dos grupos de identidades do Amazon Cognito (identidades federadas).

Depois de configurar o Amazon Cognito para trabalhar com seu provedor de identidade, é necessário também fazer o seguinte:

  • Criar uma função do IAM com as permissões a seguir. Sua aplicação usará essa função para acessar a AWS.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rum:PutRumEvents", "Resource": "arn:aws:rum:[region]:[accountID]:appmonitor/[app monitor name]" } ] }
  • Adicione o seguinte à sua aplicação para que ela passe as credenciais do provedor para o CloudWatch RUM. Insira a linha para que ela seja executada depois que um usuário fizer login na aplicação e a aplicação receber as credenciais a serem usadas para acessar a AWS.

    cwr('setAwsCredentials', {/* Credentials or CredentialProvider */});

Para obter mais informações sobre provedores de credenciais no SDK JavaScript da AWS, consulte Definir credenciais em um navegador da Web no guia do desenvolvedor v3 para SDK JavaScript, Configurar credenciais em um navegador da Web no guia do desenvolvedor v2 para SDK para JavaScript, e @aws -sdk/credencial-providers.

Você também pode usar o SDK para o cliente da Web do CloudWatch RUM configurar os métodos de autenticação do cliente da Web. Para obter mais informações sobre o cliente da Web, do SDK, consulte CloudWatch RUM web client SDK.