CloudTrail userIdentity elemento - AWS CloudTrail

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á.

CloudTrail userIdentity elemento

AWS Identity and Access Management (IAM) fornece diferentes tipos de identidades. O userIdentity elemento contém detalhes sobre o tipo de IAM identidade que fez a solicitação e quais credenciais foram usadas. Se forem usadas credenciais temporárias, o elemento mostrará como elas foram obtidas.

Exemplos

userIdentity com credenciais de usuário do IAM

O exemplo a seguir mostra o userIdentity elemento de uma solicitação simples feita com as credenciais do IAM usuário nomeadoAlice.

"userIdentity": { "type": "IAMUser", "principalId": "AIDAJ45Q7YFFAREXAMPLE", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "", "userName": "Alice" }

userIdentity com credenciais de segurança temporárias

O exemplo a seguir mostra um userIdentity elemento para uma solicitação feita com credenciais de segurança temporárias obtidas ao assumir uma IAM função. O elemento contém detalhes adicionais sobre a função que foi assumida para obter credenciais.

"userIdentity": { "type": "AssumedRole", "principalId": "AROAIDPPEZS35WEXAMPLE:AssumedRoleSessionName", "arn": "arn:aws:sts::123456789012:assumed-role/RoleToBeAssumed/MySessionName", "accountId": "123456789012", "accessKeyId": "", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIDPPEZS35WEXAMPLE", "arn": "arn:aws:iam::123456789012:role/RoleToBeAssumed", "accountId": "123456789012", "userName": "RoleToBeAssumed" }, "attributes": { "mfaAuthenticated": "false", "creationDate": "20131102T010628Z" ) } }

userIdentitypara uma solicitação feita em nome de um usuário do IAM Identity Center

O exemplo a seguir mostra um userIdentity elemento para uma solicitação feita em nome de um usuário do IAM Identity Center.

"userIdentity": { "type": "IdentityCenterUser", "accountId": "123456789012", "onBehalfOf": { "userId": "544894e8-80c1-707f-60e3-3ba6510dfac1", "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9067642ac7" }, "credentialId": "EXAMPLEVHULjJdTUdPJfofVa1sufHDoj7aYcOYcxFVllWR_Whr1fEXAMPLE" }

Campos

Os campos a seguir podem aparecer em um elemento userIdentity.

type

O tipo da identidade. Os seguintes valores são possíveis:

  • Root— A solicitação foi feita com suas Conta da AWS credenciais. Se o userIdentity tipo for Root e você definir um alias para a sua conta, o campo userName conterá o alias da conta. Para obter mais informações, consulte ID da sua Conta da AWS e seu alias.

  • IAMUser— A solicitação foi feita com as credenciais de um IAM usuário.

  • AssumedRole— A solicitação foi feita com credenciais de segurança temporárias que foram obtidas com uma função ao fazer uma chamada para o AWS Security Token Service (AWS STS) AssumeRoleAPI. Isso pode incluir funções para a Amazon EC2 e API acesso entre contas.

  • Role— A solicitação foi feita com uma IAM identidade persistente que tem permissões específicas. O emissor das sessões de perfil é sempre o perfil. Para obter mais informações sobre funções, consulte Termos e conceitos de funções no Guia IAM do usuário.

  • FederatedUser— A solicitação foi feita com credenciais de segurança temporárias obtidas de uma ligação para o. AWS STS GetFederationTokenAPI O sessionIssuer elemento indica se o API foi chamado com credenciais raiz ou de IAM usuário.

    Para obter mais informações sobre credenciais de segurança temporárias, consulte Credenciais de segurança temporárias no Guia do IAMusuário.

  • Directory – A solicitação foi feita para um serviço de diretório e o tipo é desconhecido. Os serviços de diretório incluem o seguinte: Amazon WorkDocs e Amazon QuickSight.

  • AWSAccount— O pedido foi feito por outro Conta da AWS

  • AWSService— A solicitação foi feita por um Conta da AWS que pertence a um serviço da AWS. Por exemplo, AWS Elastic Beanstalk assume uma IAM função em sua conta para ligar para outras pessoas serviços da AWS em seu nome.

  • IdentityCenterUser— A solicitação foi feita em nome de um usuário do IAM Identity Center.

  • Unknown— A solicitação foi feita com um tipo de identidade que não é CloudTrail possível determinar.

Opcional: False

AWSAccounte AWSService aparecem type em seus registros quando há acesso entre contas usando uma IAM função que você possui.

Exemplo: acesso entre contas iniciado por outra conta da AWS
  1. Você tem uma IAM função na sua conta.

  2. Outra AWS conta muda para essa função para assumir a função da sua conta.

  3. Como você é o proprietário da IAM função, você recebe um registro que mostra que a outra conta assumiu a função. O type é AWSAccount. Para ver um exemplo de entrada de registro, consulte AWS STS APIevento no arquivo de CloudTrail registro.

Exemplo: acesso entre contas iniciado por um serviço AWS
  1. Você tem uma IAM função na sua conta.

  2. Uma AWS conta pertencente a um AWS serviço assume essa função.

  3. Como você é o proprietário da IAM função, você recebe um registro que mostra que o AWS serviço assumiu a função. O type é AWSService.

userName

O nome fácil da identidade que fez a chamada. O valor que aparece em userName se baseia no valor em type. A tabela a seguir mostra a relação entre type e userName:

type userName Descrição
Root (nenhum alias definido) Não está presente Se você não configurou um alias para o seu Conta da AWS, o userName campo não aparece. Para obter mais informações sobre aliases de conta, consulte Seu Conta da AWS ID e seu alias. Observe que o campo userName não pode conter Root, porque Root é um tipo de identidade, e não um nome de usuário.
Root (alias definido) O alias da conta Para obter mais informações sobre Conta da AWS aliases, consulte Seu Conta da AWS ID e seu alias.
IAMUser O nome de usuário do IAM usuário

AssumedRole

Não está presente Para o AssumedRole tipo, você pode encontrar o userName campo sessionContext como parte do sessionIssuerelemento. Para ver um exemplo de entrada, consulte Exemplos.

Role

Definido pelo usuário A seção sessionContext e sessionIssuer contém informações sobre a identidade que emitiu a sessão para a função.
FederatedUser Não está presente A seção sessionContext e sessionIssuer contém informações sobre a identidade que emitiu a sessão para o usuário federado.
Directory Pode estar presente Por exemplo, o valor pode ser o alias da conta ou o endereço de email do ID da Conta da AWS associada.
AWSService Não está presente
AWSAccount Não está presente
IdentityCenterUser Não está presente A onBehalfOf seção contém informações sobre o IAM ID de usuário e o repositório de identidades do Identity Center ARN para o qual a chamada foi feita. Para obter mais informações sobre o IAM Identity Center, consulte o Guia AWS IAM Identity Center do usuário.
Unknown Pode estar presente Por exemplo, o valor pode ser o alias da conta ou o endereço de email do ID da Conta da AWS associada.
nota

O campo userName contém a string HIDDEN_DUE_TO_SECURITY_REASONS quando o evento registrado é uma falha de login do console causada pela inserção incorreta de um nome do usuário. CloudTrail não registra o conteúdo nesse caso porque o texto pode conter informações confidenciais, como nos exemplos a seguir:

  • Um usuário digita acidentalmente uma senha no campo de nome do usuário.

  • Um usuário clica no link da página de login de uma AWS conta, mas depois digita o número da conta de outra.

  • Um usuário digita acidentalmente o nome de uma conta de email pessoal, um identificador de login de um banco ou algum outro ID privado.

Opcional: True

principalId

Um identificador exclusivo para a entidade que fez a chamada. Para solicitações feitas com credenciais de segurança temporárias, esse valor inclui o nome da sessão que é passado para a GetFederationToken API chamada AssumeRoleAssumeRoleWithWebIdentity, ou.

Opcional: True

arn

O Amazon Resource Name (ARN) do diretor que fez a chamada. A última seção do ARN contém o usuário ou a função que fez a chamada.

Opcional: True

accountId

A conta proprietária da entidade que concedeu permissões para a solicitação. Se a solicitação foi feita com credenciais de segurança temporárias, essa é a conta proprietária IAM do usuário ou da função usada para obter as credenciais.

Se a solicitação foi feita com um token de acesso autorizado do IAM Identity Center, essa é a conta proprietária da instância do IAM Identity Center.

Opcional: True

accessKeyId

O ID da chave de acesso da que foi usada para assinar a solicitação. Se a solicitação foi feita com credenciais de segurança temporárias, esse é o ID da chave de acesso delas. Por razões de segurança, accessKeyId pode não estar presente ou pode ser exibido como uma string vazia.

Opcional: True

sessionContext

Se a solicitação foi feita com credenciais de segurança temporárias, sessionContext fornece informações sobre a sessão criada para essas credenciais. Você cria uma sessão ao ligar para qualquer uma API que retorne credenciais temporárias. Os usuários também criam sessões quando trabalham no console e fazem solicitações com APIs isso, incluindo autenticação multifatorial. Os seguintes atributos podem aparecer emsessionContext:

  • sessionIssuer— Se um usuário fizer uma solicitação com credenciais de segurança temporárias, sessionIssuer fornecerá informações sobre como o usuário obteve as credenciais. Por exemplo, se o usuário obteve credenciais de segurança temporárias ao assumir um perfil, esse elemento fornece informações sobre a função assumida. Se eles obtiveram credenciais com credenciais raiz ou de IAM usuário para chamar AWS STS GetFederationToken, o elemento fornecerá informações sobre a conta raiz ou IAM o usuário. Esse elemento tem os seguintes atributos:

    • type – A origem das credenciais de segurança temporárias, como Root, IAMUser ou Role.

    • userName – O nome fácil do usuário ou da função que emitiu a sessão. O valor que aparece depende da sessionIssuer identidade type. A tabela a seguir mostra a relação entre sessionIssuer type e userName:

      Tipo de sessionIssuer userName Descrição
      Root (nenhum alias definido) Não está presente Se você não tiver configurado um alias para a sua conta, o campo userName não será exibido. Para obter mais informações sobre Conta da AWS aliases, consulte Seu Conta da AWS ID e seu alias. Observe que o campo userName não pode conter Root, porque Root é um tipo de identidade, e não um nome de usuário.
      Root (alias definido) O alias da conta Para obter mais informações sobre Conta da AWS aliases, consulte Seu ID de AWS conta e seu alias.
      IAMUser O nome de usuário do IAM usuário Isso também se aplica quando um usuário federado usa uma sessão emitida pelo IAMUser.
      Role O nome da função Uma função assumida por um IAM usuário ou usuário federado de identidade da web em uma sessão de função. serviço da AWS
    • principalId: o ID interno da entidade usada para obter credenciais.

    • arn— A ARN fonte (conta, IAM usuário ou função) que foi usada para obter credenciais de segurança temporárias.

    • accountId – A conta proprietária da entidade que foi usada para obter credenciais.

  • webIdFederationData— Se a solicitação foi feita com credenciais de segurança temporárias obtidas pela federação de identidade da web, webIdFederationData lista as informações sobre o provedor de identidade.

    Esse elemento tem os seguintes atributos:

    • federatedProvider — O nome do principal do provedor de identidade (por exemplo, www.amazon.com para o Login with Amazon ou accounts.google.com no Google).

    • attributes — O ID da aplicação e o ID do usuário como informados pelo provedor (por exemplo, www.amazon.com:app_id e www.amazon.com:user_id para o Login with Amazon).

    nota

    A omissão desse campo ou a presença desse campo com um valor vazio significa que não há informações sobre o provedor de identidade.

  • creationDate – A data e a hora em que as credenciais de segurança temporárias foram emitidas. Representado na notação básica ISO 8601.

  • mfaAuthenticated— O valor é true se o usuário raiz ou IAM usuário que usou suas credenciais para a solicitação também foi autenticado com um MFA dispositivo; caso contrário,. false

  • sourceIdentity – Consulte AWS STS identidade de origem neste tópico. O sourceIdentity campo ocorre em eventos em que os usuários assumem uma IAM função para realizar uma ação. sourceIdentityidentifica a identidade original do usuário que faz a solicitação, seja a identidade desse usuário um usuário, uma IAM função, um IAM usuário autenticado por meio de federação SAML baseada ou um usuário autenticado por meio de uma federação de identidade da web compatível com OpenID Connect OIDC (). Para obter mais informações sobre AWS STS a configuração para coletar informações de identidade de origem, consulte Monitorar e controlar ações tomadas com funções assumidas no Guia do IAM usuário.

  • ec2RoleDelivery— O valor é 1.0 se as credenciais foram fornecidas pelo Amazon EC2 Instance Metadata Service Version 1 ()IMDSv1. O valor é 2.0 se as credenciais foram fornecidas usando o novo IMDS esquema.

    AWS as credenciais fornecidas pelo Amazon EC2 Instance Metadata Service (IMDS) incluem uma chave de contexto ec2: RoleDelivery IAM. Essa chave de contexto facilita a imposição do uso do novo esquema em uma resource-by-resource base service-by-service ou usando a chave de contexto como condição em IAM políticas, políticas de recursos ou políticas de controle AWS Organizations de serviços. Para obter mais informações, consulte Metadados da instância e dados do usuário no Guia do EC2 usuário da Amazon.

Opcional: True

invokedBy

O nome de quem fez serviço da AWS a solicitação, quando uma solicitação é feita por alguém serviço da AWS como Amazon EC2 Auto Scaling ou. AWS Elastic Beanstalk Esse campo só está presente quando uma solicitação é feita por um serviço da AWS. Isso inclui solicitações feitas por serviços usando sessões de acesso direto (FAS), serviço da AWS diretores, funções vinculadas a serviços ou funções de serviço usadas por um. serviço da AWS

Opcional: True

onBehalfOf

Se a solicitação foi feita por um chamador do IAM Identity Center, onBehalfOf fornece informações sobre o ID de usuário e o IAM repositório de identidades do Identity Center ARN para o qual a chamada foi feita. Esse elemento tem os seguintes atributos:

  • userId— O ID do usuário do IAM Identity Center em nome do qual a chamada foi feita.

  • identityStoreArn— O repositório ARN de IAM identidade do Identity Center em nome do qual a chamada foi feita.

Opcional: True

credentialId

O ID da credencial da solicitação. Isso só é definido quando o chamador usa um token portador, como um token de acesso autorizado do IAM Identity Center.

Opcional: True

Valores para federação de identidade AWS STS APIs com SAML e web

AWS CloudTrail suporta API chamadas logging AWS Security Token Service (AWS STS) feitas com Security Assertion Markup Language (SAML) e federação de identidade da web. Quando um usuário faz uma chamada para o AssumeRoleWithSAMLe AssumeRoleWithWebIdentityAPIs, CloudTrail grava a chamada e entrega o evento em seu bucket do Amazon S3.

O userIdentity elemento para eles APIs contém os seguintes valores.

type

O tipo de identidade.

  • SAMLUser— O pedido foi feito com SAML afirmação.

  • WebIdentityUser – A solicitação foi feita por um provedor de federação de identidades da web.

principalId

Um identificador exclusivo para a entidade que fez a chamada.

  • Para SAMLUser, é uma combinação das chaves saml:namequalifier e saml:sub.

  • Para WebIdentityUser, é uma combinação de emissor, ID da aplicação e ID do usuário.

userName

O nome da identidade que fez a chamada.

  • Para SAMLUser, é a chave saml:sub.

  • Para WebIdentityUser, é o ID do usuário.

identityProvider

O nome do principal do provedor de identidade externo. Esse campo aparece somente para os tipos SAMLUser ou WebIdentityUser.

  • PoisSAMLUser, essa é a saml:namequalifier chave para a SAML afirmação.

  • Para WebIdentityUser, é o nome do emissor do provedor de federação de identidades da web. Pode ser um provedor que você configurou, como:

    • cognito-identity.amazon.com para Amazon Cognito

    • www.amazon.com para o Login with Amazon

    • accounts.google.com para o Google

    • graph.facebook.com para o Facebook

Veja a seguir um exemplo de elemento userIdentity para a ação AssumeRoleWithWebIdentity.

"userIdentity": { "type": "WebIdentityUser", "principalId": "accounts.google.com:application-id.apps.googleusercontent.com:user-id", "userName": "user-id", "identityProvider": "accounts.google.com" }

Por exemplo, registros de como o userIdentity elemento aparece SAMLUser e WebIdentityUser digita, consulte Registro IAM e AWS STS API chamadas com AWS CloudTrail.

AWS STS identidade de origem

Um IAM administrador pode configurar AWS Security Token Service para exigir que os usuários especifiquem sua identidade ao usarem credenciais temporárias para assumir funções. O sourceIdentity campo ocorre em eventos quando os usuários assumem uma IAM função ou realizam qualquer ação com a função assumida.

O sourceIdentity campo identifica a identidade original do usuário que fez a solicitação, seja a identidade desse usuário um usuário, uma IAM função, um IAM usuário autenticado usando a federação SAML baseada ou um usuário autenticado usando a federação de identidade da web compatível com OpenID Connect OIDC (). Depois que o IAM administrador configura AWS STS, CloudTrail registra sourceIdentity as informações nos seguintes eventos e locais no registro do evento:

  • As AssumeRoleWithWebIdentity chamadas AWS STS AssumeRoleAssumeRoleWithSAML,, ou que uma identidade de usuário faz quando assume uma função. sourceIdentityé encontrado no requestParameters bloco das AWS STS chamadas.

  • As AssumeRoleWithWebIdentity chamadas AWS STS AssumeRoleAssumeRoleWithSAML,, ou que uma identidade de usuário faz se usa uma função para assumir outra função, conhecidas como encadeamento de funções. sourceIdentityé encontrado no requestParameters bloco das AWS STS chamadas.

  • O AWS serviço API chama o que a identidade do usuário faz ao assumir uma função e usar as credenciais temporárias atribuídas por. AWS STS Em API eventos de serviço, sourceIdentity é encontrado no sessionContext bloco. Por exemplo, se uma identidade de usuário criar um novo bucket do S3, a sourceIdentity ocorrerá na sessionContext bloco do evento CreateBucket.

Para obter mais informações sobre como configurar AWS STS para coletar informações de identidade de origem, consulte Monitorar e controlar ações tomadas com funções assumidas no Guia IAM do Usuário. Para obter mais informações sobre AWS STS eventos registrados CloudTrail, consulte Registro IAM e AWS STS API chamadas AWS CloudTrail no Guia do IAM usuário.

Veja a seguir snippets de exemplo de eventos que mostram o campo sourceIdentity.

Exemplo da seção requestParameters

No exemplo de trecho de evento a seguir, um usuário faz uma AWS STS AssumeRole solicitação e define uma identidade de origem, representada aqui por. source-identity-value-set O usuário assume uma função representada pela função ARNarn:aws:iam::123456789012:role/Assumed_Role. O campo sourceIdentity está no bloco do evento requestParameters.

"eventVersion": "1.05", "userIdentity": { "type": "AWSAccount", "principalId": "AIDAJ45Q7YFFAREXAMPLE", "accountId": "123456789012" }, "eventTime": "2020-04-02T18:20:53Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRole", "awsRegion": "us-east-1", "sourceIPAddress": "203.0.113.64", "userAgent": "aws-cli/1.16.96 Python/3.6.0 Windows/10 botocore/1.12.86", "requestParameters": { "roleArn": "arn:aws:iam::123456789012:role/Assumed_Role", "roleSessionName": "Test1", "sourceIdentity": "source-identity-value-set", },

Exemplo da seção responseElements

No exemplo de trecho de evento a seguir, um usuário faz uma AWS STS AssumeRole solicitação para assumir uma função chamada Developer_Role e define uma identidade de origem. Admin O usuário assume uma função representada pela função ARNarn:aws:iam::111122223333:role/Developer_Role. O campo sourceIdentity é exibido nos blocos de evento requestParameters e responseElements. As credenciais temporárias usadas para assumir a função, a string do token da sessão e o ID da função assumida, o nome da sessão e a sessão ARN são mostrados no responseElements bloco, junto com a identidade de origem.

"requestParameters": { "roleArn": "arn:aws:iam::111122223333:role/Developer_Role", "roleSessionName": "Session_Name", "sourceIdentity": "Admin" }, "responseElements": { "credentials": { "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "expiration": "Jan 22, 2021 12:46:28 AM", "sessionToken": "XXYYaz... EXAMPLE_SESSION_TOKEN XXyYaZAz" }, "assumedRoleUser": { "assumedRoleId": "AROACKCEVSQ6C2EXAMPLE:Session_Name", "arn": "arn:aws:sts::111122223333:assumed-role/Developer_Role/Session_Name" }, "sourceIdentity": "Admin" } ...

Exemplo da seção sessionContext

No exemplo de trecho de evento a seguir, um usuário está assumindo uma função chamada DevRole para chamar um serviço. AWS API O usuário define uma identidade de origem, representada aqui por source-identity-value-set. O sourceIdentity campo está no sessionContext bloco, dentro do userIdentity bloco do evento.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAJ45Q7YFFAREXAMPLE: Dev1", "arn": "arn: aws: sts: : 123456789012: assumed-role/DevRole/Dev1", "accountId": "123456789012", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAJ45Q7YFFAREXAMPLE", "arn": "arn: aws: iam: : 123456789012: role/DevRole", "accountId": "123456789012", "userName": "DevRole" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-02-21T23: 46: 28Z" }, "sourceIdentity": "source-identity-value-set" } } }