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 Elemento UserIdentity
AWS Identity and Access Management (IAM) fornece diferentes tipos de identidades. O elemento userIdentity contém detalhes sobre o tipo de identidade do IAM que fez a solicitação e quais credenciais foram usadas. Se forem usadas credenciais temporárias, o elemento mostrará como elas foram obtidas.
Sumário
Exemplos
userIdentity com credenciais de usuário do IAM
O exemplo a seguir mostra o elemento userIdentity de uma solicitação simples feita com as credenciais da usuária do IAM chamada Alice.
"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 elemento userIdentity de uma solicitação feita com credenciais de segurança temporárias obtidas com uma função do IAM. 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" } } }
userIdentity para uma solicitação feita em nome de um usuário do Centro de Identidade do IAM
O exemplo a seguir mostra um elemento userIdentity de uma solicitação feita em nome de um usuário do Centro de Identidade do IAM.
"userIdentity": { "type": "IdentityCenterUser", "accountId": "123456789012", "onBehalfOf": { "userId": "544894e8-80c1-707f-60e3-3ba6510dfac1", "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9067642ac7" }, "credentialId": "EXAMPLEVHULjJdTUdPJfofVa1sufHDoj7aYcOYcxFVllWR_Whr1fEXAMPLE" }
Para saber mais sobre como você pode usaruserId,, e identityStoreArncredentialId, consulte Identificação do usuário e da sessão nos eventos iniciados pelo usuário CloudTrail do IAM Identity Center. no Guia do usuário do IAM Identity Center.
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 ouserIdentitytipo forRoote você definir um alias para a sua conta, o campouserNameconterá 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 usuário do IAM. -
AssumedRole— A solicitação foi feita com credenciais de segurança temporárias que foram obtidas com uma função por meio de uma chamada para a APIAssumeRoledo AWS Security Token Service (AWS STS). Isso pode incluir funções para a Amazon EC2 e acesso à API entre contas. -
Role— A solicitação foi feita com uma identidade do IAM 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 do usuário do IAM. -
FederatedUser— A solicitação foi feita com credenciais de segurança temporárias obtidas de uma chamada para a AWS STSGetFederationTokenAPI. O elementosessionIssuerindica se a API foi chamada com raiz ou com credenciais de usuário do IAM.Para obter mais informações sobre credenciais de segurança temporárias, consulte Credenciais de segurança temporárias no Manual do usuário do IAM.
-
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 Quick Suite. -
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 AWS service (Serviço da AWS). Por exemplo, AWS Elastic Beanstalk assume uma função do IAM em sua conta para ligar para outra pessoa Serviços da AWS em seu nome. -
IdentityCenterUser: a solicitação foi feita em nome de um usuário do Centro de Identidade do IAM. -
Unknown— A solicitação foi feita com um tipo de identidade que não é CloudTrail possível determinar.
Opcional: False
AWSAccounteAWSServiceaparecem paratypeem seus logs quando há acesso entre contas usando uma função do IAM que você possui.Exemplo: acesso entre contas iniciado por outra conta da AWS
-
Você possui uma função do IAM na sua conta.
-
Outra AWS conta muda para essa função para assumir a função da sua conta.
-
Como você é o proprietário da função do IAM, recebe um log que mostra que a outra conta assumiu a função. O
typeéAWSAccount. Para ver um exemplo de entrada de registro, consulte Evento de AWS STS API no arquivo de CloudTrail registro.
Exemplo: acesso entre contas iniciado por um serviço AWS
-
Você possui uma função do IAM na sua conta.
-
Uma AWS conta pertencente a um AWS serviço assume essa função.
-
Como você é o proprietário da função do IAM, recebe um log que mostra que o serviço da AWS assumiu a função. O
typeéAWSService.
-
userName-
O nome fácil da identidade que fez a chamada. O valor que aparece em
userNamese baseia no valor emtype. A tabela a seguir mostra a relação entretypeeuserName:typeuserNameDescrição Root(nenhum alias definido)Não está presente Se você não configurou um alias para o seu Conta da AWS, o userNamecampo não aparece. Para obter mais informações sobre aliases de conta, consulte Seu Conta da AWS ID e seu alias. Observe que o campouserNamenão pode conterRoot, porqueRooté 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. IAMUserO nome de usuário do IAM AssumedRoleNão está presente Para o tipo AssumedRole, você pode encontrar o campouserNameemsessionContextcomo parte do elemento sessionIssuer. Para ver um exemplo de entrada, consulte Exemplos.RoleDefinido pelo usuário A seção sessionContextesessionIssuercontém informações sobre a identidade que emitiu a sessão para a função.FederatedUserNão está presente A seção sessionContextesessionIssuercontém informações sobre a identidade que emitiu a sessão para o usuário federado.DirectoryPode 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. AWSServiceNão está presente AWSAccountNão está presente IdentityCenterUserNão presente* A seção
onBehalfOfcontém informações sobre o ID de usuário do Centro de Identidade do IAM e o ARN do repositório de identidades para o qual a chamada foi feita. Para saber mais sobre como você pode usar esses dois campos, consulte Identificação do usuário e da sessão nos eventos iniciados pelo usuário CloudTrail do IAM Identity Center. no Guia do usuário do IAM Identity Center.* O IAM Identity Center emite o
userNamecampo abaixo doadditionalEventDataelemento em dois eventos de login CloudTrail . Para obter mais informações, consulte Nome de usuário em CloudTrail eventos de login no Guia do usuário do IAM Identity Center.UnknownPode 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
userNamecontém a stringHIDDEN_DUE_TO_SECURITY_REASONSquando o evento gravado é uma falha de login do console causada pela inserção incorreta de um nome de usuário. O CloudTrail não registra o conteúdo neste caso, pois o texto pode conter informações sigilosas, como no exemplo 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 é transmitido à chamada da API
AssumeRole,AssumeRoleWithWebIdentityouGetFederationToken.Opcional: True
arn-
O Nome de recurso da Amazon (ARN) do principal 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 do perfil ou do usuário do IAM usado para obter as credenciais.
Se a solicitação foi feita com um token de acesso autorizado do Centro de Identidade do IAM, essa é a conta proprietária da instância do Centro de Identidade do IAM.
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,
accessKeyIdpode 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,
sessionContextfornece informações sobre a sessão criada para essas credenciais. Você cria uma sessão ao chamar qualquer API que retorna 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 nosessionContext:-
sessionIssuer– Se um usuário fez uma solicitação com credenciais de segurança temporárias,sessionIssuerfornece informações sobre como elas foram obtidas. 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 as credenciais foram obtidas com credenciais de usuário raiz ou do IAM para chamar AWS STSGetFederationToken, o elemento fornece informações sobre a conta raiz ou o usuário do IAM. Esse elemento tem os seguintes atributos:-
type– A origem das credenciais de segurança temporárias, comoRoot,IAMUserouRole. -
userName– O nome fácil do usuário ou da função que emitiu a sessão. O valor que aparece depende dasessionIssueridentidadetype. A tabela a seguir mostra a relação entresessionIssuer typeeuserName:Tipo de sessionIssueruserNameDescrição Root(nenhum alias definido)Não está presente Se você não tiver configurado um alias para a sua conta, o campo userNamenã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 campouserNamenão pode conterRoot, porqueRooté 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. IAMUserO nome de usuário do IAM Isso também se aplica quando um usuário federado usa uma sessão emitida pelo IAMUser.RoleO nome da função Uma função assumida por um usuário do IAM ou usuário federado de identidade da web em uma sessão de função. AWS service (Serviço da AWS) -
principalId: o ID interno da entidade usada para obter credenciais. -
arn– O ARN da fonte (conta, usuário ou função do IAM) usado 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 por federação de identidades da web,webIdFederationDatalista 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.rproxy.govskope.capara o Login with Amazon ouaccounts.google.comno Google). -
attributes— O ID da aplicação e o ID do usuário como informados pelo provedor (por exemplo,www.amazon.com:app_idewww.amazon.com:user_idpara o Login with Amazon).
nota
A omissão ou presença desse campo com um valor vazio significa que não há informações sobre o provedor de identidade.
-
-
assumedRoot— O valor étruepara uma sessão temporária quando uma conta de gerenciamento ou administrador delegado liga AWS STSAssumedRoot. Para obter mais informações, consulte Rastrear tarefas privilegiadas CloudTrail no Guia do usuário do IAM. Esse é um campo opcional. -
attributes— Os atributos da sessão.-
creationDate– A data e a hora em que as credenciais de segurança temporárias foram emitidas. Representadas em notação básica ISO 8601. -
mfaAuthenticated: o valor serátruese o usuário raiz ou o usuário do IAM cujas credenciais foram usadas para a solicitação também for autenticado com um dispositivo com MFA; caso contrário, o valor seráfalse.
-
-
sourceIdentity– Consulte AWS STS identidade de origem neste tópico. O camposourceIdentityocorre em eventos quando os usuários assumem um perfil do IAM para executar uma ação.sourceIdentityidentifica a identidade do usuário original que faz a solicitação, seja essa identidade um usuário do IAM, perfil do IAM, usuário autenticado via federação baseada em SAML ou usuário autenticado via federação de identidades 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 realizadas com funções assumidas no Guia do usuário do IAM. -
ec2RoleDelivery— O valor é1.0se as credenciais foram fornecidas pelo Amazon EC2 Instance Metadata Service Version 1 ()IMDSv1. O valor será2.0se as credenciais foram fornecidas usando o novo esquema do IMDS.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 nas políticas do IAM, nas políticas de recursos ou nas 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 AWS service (Serviço da AWS) a solicitação, quando uma solicitação é feita por alguém AWS service (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 AWS service (Serviço da AWS). Isso inclui solicitações feitas por serviços usando sessões de acesso direto (FAS), AWS service (Serviço da AWS) diretores, funções vinculadas a serviços ou funções de serviço usadas por um. AWS service (Serviço da AWS)
Opcional: True
onBehalfOf-
Se a solicitação foi feita por um chamador do Centro de Identidade do IAM,
onBehalfOffornece informações sobre o ID de usuário do Centro de Identidade do IAM e o ARN do repositório de identidades para o qual a chamada foi feita. Esse elemento tem os seguintes atributos:-
userId: o ID do usuário do Centro de Identidade do IAM em nome do qual a chamada foi feita. -
identityStoreArn: o ARN do armazenamento de identidades do Centro de Identidade do IAM em nome do qual a chamada foi feita.
Opcional: True
-
inScopeOf-
Se a solicitação foi feita no escopo de um AWS service (Serviço da AWS), como Lambda ou Amazon ECS, ela fornece informações sobre o recurso ou as credenciais relacionadas à solicitação. Esse elemento pode conter os seguintes atributos:
-
sourceArn— O ARN do recurso que invocou a solicitação. service-to-service -
sourceAccount— O ID da conta do proprietário dosourceArn. Ele aparece junto comsourceArn. -
issuerType— O tipo de recurso docredentialsIssuedTo. Por exemplo, .AWS::Lambda::Function -
credentialsIssuedTo— O recurso relacionado ao ambiente em que as credenciais foram emitidas.
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 Centro de Identidade do IAM.
Opcional: True
Valores para AWS STS APIs com SAML e federação de identidade da web
AWS CloudTrail suporta chamadas de API 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 AssumeRoleWithWebIdentity APIs, 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– A solicitação foi feita com declaração do SAML. -
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 chavessaml:namequalifieresaml: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 chavesaml: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
SAMLUserouWebIdentityUser.-
Para
SAMLUser, é a chavesaml:namequalifierda declaração do SAML. -
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.rproxy.govskope.capara Amazon Cognito -
www.amazon.com.rproxy.govskope.capara o Login with Amazon -
accounts.google.compara o Google -
graph.facebook.compara 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 de chamadas de IAM e AWS STS API com AWS CloudTrail.
AWS STS identidade de origem
Um administrador do IAM 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 campo sourceIdentity ocorre em eventos quando os usuários assumem um perfil do IAM ou executam qualquer ação com a função assumida.
O campo sourceIdentity identifica a identidade do usuário original que faz a solicitação. Ele identifica se a identidade desse usuário é um usuário do IAM, uma função do IAM, um usuário autenticado usando federação baseada em SAML ou um usuário autenticado usando federação de identidades da Web compatível com OpenID Connect (OIDC). Depois que o administrador do IAM configura AWS STS, CloudTrail registra as sourceIdentity informações nos seguintes eventos e locais no registro do evento:
-
As
AssumeRoleWithWebIdentitychamadas AWS STSAssumeRoleAssumeRoleWithSAML,, ou que uma identidade de usuário faz quando assume uma função.sourceIdentityé encontrado norequestParametersbloco das AWS STS chamadas. -
As
AssumeRoleWithWebIdentitychamadas AWS STSAssumeRoleAssumeRoleWithSAML,, 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 norequestParametersbloco das AWS STS chamadas. -
A API AWS de serviço 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 eventos da API de serviço, a
sourceIdentityé encontrada no blocosessionContext. Por exemplo, se uma identidade de usuário criar um novo bucket do S3, asourceIdentityocorrerá nasessionContextbloco do eventoCreateBucket.
Para obter mais informações sobre como configurar AWS STS para coletar informações de identidade de origem, consulte Monitorar e controlar ações realizadas com funções assumidas no Guia do usuário do IAM. Para obter mais informações sobre AWS STS eventos registrados CloudTrail, consulte Registrar chamadas de IAM e AWS STS API AWS CloudTrail no Guia do usuário do IAM.
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. O usuário assume uma função representada pelo ARN da função source-identity-value-setarn: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 pelo ARN da função arn: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 de token de sessão e o ID da função assumida, o nome da sessão e o ARN da sessão são mostrados no bloco responseElements, junto da identidade da fonte.
"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 uma AWS API de serviço. O usuário define uma identidade de origem, representada aqui porsource-identity-value-set. O campo sourceIdentity está no bloco sessionContext, dentro do bloco do evento userIdentity.
{ "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" } } }