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 registros de 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 SMS e erros de notificação por 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 registros da atividade de login do usuário, seu grupo de usuários envia registros em INFO
nível de log para um grupo de logs, um stream do Amazon Data Firehose ou um bucket do Amazon S3. Você pode combinar as duas opções em um grupo de usuários.
Tópicos
Coisas que você deve saber sobre a exportação de registros
- Impacto nos custos
-
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 as informações a seguir.
-
Logs vendidos
nos CloudWatch preços da Amazon.
As exportações de registros 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 registros 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ços do Amazon Cognito
. -
- Entrega com o 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 registros externos existentes não são afetados
-
Essas opções de registro não substituem nem alteram as seguintes funções de registro 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 registros em grupos de registros diferentes dos que você especifica para os registros de atividades do usuário.
-
- Aplica-se somente aos grupos de usuários
-
Não existem recursos de exportação de registros para grupos de identidades.
- Requer permissões de usuário e função vinculada 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 uma função vinculada ao serviço em seu nome e assume a função de entregar registros 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 registro é exclusivo para o tipo de registro
-
Os registros de entrega de mensagens são do
userNotification
tipo e do nível de erro.ERROR
Os registros avançados de atividades do usuário de segurança são douserAuthEvents
tipo e do nível deINFO
erro. Você pode combinar dois membros doLogConfigurations
, umuserNotification
para CloudWatch Logs e outrouserAuthEvents
para Firehose, Amazon S3 ou Logs. CloudWatchVocê não pode enviar registros 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.
- Diferentes opções de configuração
-
Você só pode configurar registros de notificação de usuários com os API grupos de usuários do Amazon Cognito ou um. AWS SDK Você pode configurar registros avançados de atividades de usuários de segurança com o console do Amazon Cognito API ou no console do Amazon Cognito. Para definir ambos, use o 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.
Exportação de erros de entrega de e-mails e SMS mensagens
Para erros de entrega de e-mails e SMS mensagens, você pode entregar registros de notificação de usuário em nível de erro do seu 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 registro de notificações do usuário é útil quando você deseja descobrir o status dos e-mails e SMS mensagens que seu grupo de usuários entregou com a Amazon SNS e a AmazonSES. Essa opção de exportação de registros, diferentemente da exportação de atividades do usuário, não requer recursos avançados de segurança.
Você pode configurar registros de notificação detalhados com os grupos de usuários do Amazon Cognito API em uma SetLogDeliveryConfigurationAPIsolicitação. Você pode visualizar a configuração de registro de um grupo de usuários em uma GetLogDeliveryConfigurationAPIsolicitação. Veja a seguir um exemplo de corpo de 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 de usuários de segurança avançada
Grupos de usuários com recursos de segurança avançados 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 registros de atividades do usuário em seu próprio sistema de gerenciamento de registros 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, recursos avançados de segurança devem estar ativos em seu grupo de usuários.
Com as informações nesses registros de atividades do usuário, você pode visualizar 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 é um exemplo de evento para um usuário que fez login e foi avaliado como não tendo fatores de risco. Você pode recuperar essas informações com a AdminListUserAuthEvents
API operação. 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 SetLogDeliveryConfigurationAPIoperação.
O usuário que configura a entrega de registros 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" } }