As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exportação de logs dos grupos de usuários do Amazon Cognito
Você pode configurar seu grupo de usuários para enviar registros detalhados de alguma atividade adicional para outra pessoa AWS service (Serviço da AWS), como um grupo de CloudWatch registros. Esses registros têm uma granularidade mais fina do que os de dentro AWS CloudTrail e podem ser úteis para solucionar problemas do grupo de usuários e analisar a atividade de login do usuário com recursos avançados de segurança. Quando você quiser transmitir registros de erros de notificação por SMS e e-mail, seu grupo de usuários envia registros em ERROR
nível de CloudWatch registro para um grupo de registros. Quando você quiser transmitir logs da atividade de login do usuário, seu grupo de usuários enviará logs em nível de INFO
para um grupo de logs, um stream do Amazon Data Firehose ou um bucket do Amazon S3. É possível combinar as duas opções em um grupo de usuários.
Tópicos
O que é importante saber sobre exportação de logs
- Impacto do custo
-
O Amazon Data Firehose, o Amazon S3 e o Logs incorrem em custos de ingestão CloudWatch e recuperação de dados. Sua configuração de registro pode afetar sua AWS fatura. Para obter mais informações, consulte:
-
Logs vendidos
nos CloudWatch preços da Amazon.
As exportações de logs de atividades do usuário contêm avaliações de segurança e são uma função dos recursos avançados de segurança do grupo de usuários. O Amazon Cognito só gera esses logs quando recursos avançados de segurança estão ativos. Esses recursos aumentam o custo por usuário ativo mensal (MAU) em seu grupo de usuários. Para mais informações, consulte Preço do Amazon Cognito
. -
- Os registros de atividades do usuário estão
INFO
nivelados -
Os registros de atividade do usuário exportados estão somente no nível de
INFO
erro e fornecem informações para análise estatística e de segurança da atividade de autenticação. Mensagens nos níveis deERROR
erroWARNING
e, por exemplo, erros de limitação, não estão incluídas nos registros exportados. - Entrega do melhor esforço
-
A entrega de logs do Amazon Cognito é o melhor esforço. O volume de registros que seu grupo de usuários fornece e suas cotas de serviço para CloudWatch Logs, Amazon S3 e Firehose podem afetar a entrega de registros.
- Os logs externos existentes não são afetados
-
Essas opções de logs não substituem nem alteram as seguintes funções de log dos grupos de usuários:
-
CloudTrail registros de atividades rotineiras do usuário, como inscrição e login.
-
Análise da atividade do usuário em grande escala com CloudWatch métricas.
Separadamente, você também pode encontrar registros de Visualizando os resultados da importação do grupo de usuários no CloudWatch console e Como personalizar fluxos de trabalho do grupo de usuários com acionadores do Lambda em CloudWatch Registros. O Amazon Cognito e o Lambda armazenam esses logs em grupos de logs diferentes daqueles que você especifica para logs de atividades do usuário.
-
- Aplica-se somente aos grupos de usuários
-
Não existem recursos de exportação de logs para bancos de identidades.
- Requer permissões de usuário e perfil vinculado ao serviço
-
O AWS diretor que configura a exportação de registros deve ter permissões para modificar os recursos de destino, conforme descrito nos tópicos a seguir. O Amazon Cognito cria um perfil vinculado ao serviço em seu nome e assume a função de entregar logs ao recurso de destino.
Para obter mais informações sobre o modelo de autorização para envio de registros do Amazon Cognito, consulte Habilitar o registro Serviços da AWS no Guia do usuário do Amazon CloudWatch Logs.
- O nível de log é exclusivo para o tipo de log
-
Os logs de entrega de mensagens são do tipo
userNotification
e do nível de erroERROR
. Os logs de atividades do usuário de segurança avançada são do tipouserAuthEvents
e do nível de erroINFO
. Você pode combinar dois membros doLogConfigurations
, umuserNotification
para CloudWatch Logs e outrouserAuthEvents
para Firehose, Amazon S3 ou Logs. CloudWatchVocê não pode enviar logs de atividades do usuário para vários destinos. Você não pode enviar registros de notificação do usuário para nenhum destino que não seja o CloudWatch Logs.
- Opções de configuração diferentes
-
Você só pode configurar logs de notificação de usuário com a API de grupos de usuários do Amazon Cognito ou um AWS SDK. Você pode configurar logs de atividades do usuário de segurança avançada com a API ou no console do Amazon Cognito. Para definir ambos, use a API conforme demonstrado na solicitação de exemplo em SetLogDeliveryConfiguration.
- Configuração adicional necessária com grandes políticas baseadas em recursos
-
Para enviar logs a grupos de logs com uma política de recursos de tamanho maior que 5120 caracteres, configure um grupo de logs com um caminho que comece com
/aws/vendedlogs
. Para obter mais informações, consulte Habilitar o registro de determinados AWS serviços. - Criação automática de uma pasta no Amazon S3
-
Quando você configura a exportação do log de proteção contra ameaças para um bucket do Amazon S3, o Amazon Cognito pode criar
AWSLogs
uma pasta no seu bucket. Essa pasta não é criada em todos os casos, e a configuração pode ser bem-sucedida sem criá-la.
Exportar erros de entrega de e-mails e mensagens SMS
Para erros de entrega de mensagens de e-mail e SMS, você pode entregar logs de notificação de usuário no nível de Erro do grupo de usuários. Ao ativar esse atributo, é possível escolher o grupo de logs para o qual você deseja que o Amazon Cognito envie logs. O log de notificações do usuário é útil quando você deseja descobrir o status das mensagens de e-mail e SMS que o grupo de usuários entregou com o Amazon SNS e o Amazon SES. Essa opção de exportação de registros, diferentemente da exportação de atividades do usuário, não exige o plano de recursos Plus.
Você pode configurar registros de notificação detalhados com a API de grupos de usuários do Amazon Cognito em uma solicitação de SetLogDeliveryConfigurationAPI. Você pode ver a configuração de registro de um grupo de usuários em uma solicitação de GetLogDeliveryConfigurationAPI. Veja a seguir um exemplo de corpo da solicitação.
{ "LogConfigurations": [ { "CloudWatchLogsConfiguration": { "LogGroupArn": "arn:aws:logs:us-west-2:123456789012:log-group:example-user-pool-exported" }, "EventSource": "userNotification", "LogLevel": "ERROR" } ], "UserPoolId": "us-west-2_EXAMPLE" }
Você deve autorizar essas solicitações com AWS credenciais que tenham as seguintes permissões.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageUserPoolLogs", "Action": [ "cognito-idp:SetLogDeliveryConfiguration", "cognito-idp:GetLogDeliveryConfiguration" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid": "CognitoLog", "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid": "CognitoLoggingCWL", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
Veja a seguir um exemplo de evento de um grupo de usuários. Esse esquema de logs está sujeito a alterações. Alguns campos podem ser registrados em log com valores nulos.
{ "eventTimestamp": "1687297330677", "eventSource": "USER_NOTIFICATION", "logLevel": "ERROR", "message": { "details": "String" }, "logSourceId": { "userPoolId": "String" } }
Exportação de registros de atividades do usuário de proteção contra ameaças
Grupos de usuários com o plano de recursos Plus e a proteção contra ameaças registram eventos de atividade do usuário: os detalhes e a avaliação de segurança do login e saída do usuário e de outras operações de autenticação com seu grupo de usuários. Talvez você queira revisar os logs de atividades do usuário em seu próprio sistema de gerenciamento de logs ou criar um arquivo. Você pode exportar esses dados para um grupo de CloudWatch logs do Amazon Logs, um stream do Amazon Data Firehose ou um bucket do Amazon Simple Storage Service (Amazon S3). A partir daí, você pode ingerir esses dados em outros sistemas que analisam, normalizam ou processam dados de forma a ajustá-los aos seus processos operacionais. Para exportar dados desse tipo, seu grupo de usuários deve estar no plano de recursos Plus e os recursos avançados de segurança devem estar ativos em seu grupo de usuários.
Com as informações nesses logs de atividades do usuário, você pode ver um perfil das atividades de login e gerenciamento de contas do usuário. Por padrão, o Amazon Cognito captura esses eventos para um armazenamento baseado em seu grupo de usuários. O exemplo a seguir é de um evento de um usuário que fez login e recebeu uma avaliação de ausência de fatores de risco. Você pode recuperar essas informações com a operação da API AdminListUserAuthEvents
. Veja a seguir um exemplo de saída:
{ "AuthEvents": [ { "EventId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "EventType": "SignIn", "CreationDate": "2024-06-27T10:49:59.139000-07:00", "EventResponse": "Pass", "EventRisk": { "RiskDecision": "NoRisk", "CompromisedCredentialsDetected": false }, "ChallengeResponses": [ { "ChallengeName": "Password", "ChallengeResponse": "Success" } ], "EventContextData": { "IpAddress": "192.0.2.1", "DeviceName": "Chrome 126, Windows 10", "Timezone": "-07:00", "City": "null", "Country": "United States" } } ], "NextToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222#2024-06-27T17:49:59.139Z" }
Você pode ativar a exportação de log para a atividade do usuário no console do Amazon Cognito ou com a operação da SetLogDeliveryConfigurationAPI.
O usuário que configura a entrega de logs deve ser administrador do grupo de usuários e ter as seguintes permissões adicionais:
Veja a seguir um exemplo de evento de um grupo de usuários. Esse esquema de logs está sujeito a alterações. Alguns campos podem ser registrados em log com valores nulos.
{ "eventTimestamp": "1687297330677", "eventSource": "USER_ACTIVITY", "logLevel": "INFO", "message": { "version": "1", "eventId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "eventType": "SignUp", "userSub": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "userName": "test-user", "userPoolId": "us-west-2_EXAMPLE", "clientId": "1example23456789", "creationDate": "Wed Jul 17 17:25:55 UTC 2024", "eventResponse": "InProgress", "riskLevel": "", "riskDecision": "PASS", "challenges": [], "deviceName": "Other, Other", "ipAddress": "192.0.2.1", "requestId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "idpName": "", "compromisedCredentialDetected": "false", "city": "Seattle", "country": "United States", "eventFeedbackValue": "", "eventFeedbackDate": "", "eventFeedbackProvider": "" }, "logSourceId": { "userPoolId": "us-west-2_EXAMPLE" } }