Etapa 1: Autorizar sua aplicação a enviar dados para a AWS
Há quatro opções para configurar a autenticação de dados:
Usar o Amazon Cognito e deixar o CloudWatch RUM criar um novo banco de identidades do Amazon Cognito para a aplicação. Esse método requer o menor esforço de configuraçã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.
Use o Amazon Cognito para autenticação. Se você fizer isso, poderá usar um banco de identidades existente do Amazon Cognito ou criar um novo para usar com este monitor de aplicações. Se você usar um banco de identidades existente, também deverá modificar o perfil do IAM anexado a esse banco 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.
Use políticas baseadas em recursos para gerenciar o acesso ao monitor da aplicação. Isso inclui a capacidade de enviar solicitações não autenticadas para o CloudWatch RUM sem as credenciais da AWS. Para saber mais sobre as políticas baseadas em recursos e o RUM, consulte Usar políticas baseadas em recursos com o CloudWatch RUM.
As seções a seguir apresentam mais detalhes sobre essas opções.
Usar um grupo existente de identidades do Amazon Cognito
Se você optar por usar um banco de identidades do Amazon Cognito, especifique o banco 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