CloudTrail userIdentity élément - AWS CloudTrail

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

CloudTrail userIdentity élément

AWS Identity and Access Management (IAM) fournit différents types d'identités. L'userIdentityélément contient des détails sur le type d'IAMidentité à l'origine de la demande et les informations d'identification utilisées. Si des informations d'identification temporaires ont été utilisées, l'élément montre comment ces informations d'identification ont été obtenues.

Exemples

userIdentity avec les informations d'identification utilisateur IAM

L'exemple suivant montre l'userIdentityélément d'une simple demande effectuée avec les informations d'identification de l'IAMutilisateur nomméAlice.

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

userIdentity avec des informations d'identification de sécurité temporaires

L'exemple suivant montre un userIdentity élément pour une demande effectuée avec des informations d'identification de sécurité temporaires obtenues en assumant un IAM rôle. L'élément contient des détails supplémentaires concernant le rôle qui a été assumé pour obtenir des informations d'identification.

"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" ) } }

userIdentitypour une demande effectuée au nom d'un utilisateur d'IAMIdentity Center

L'exemple suivant montre un userIdentity élément pour une demande effectuée au nom d'un utilisateur d'IAMIdentity Center.

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

Champs

Les champs suivants peuvent apparaître dans un élément userIdentity.

type

Type d’identité. Les valeurs suivantes sont possibles :

  • Root— La demande a été faite avec vos Compte AWS informations d'identification. Si le type de userIdentity est Root et que vous définissez un alias pour votre compte, le champ userName contient l'alias de votre compte. Pour plus d'informations, veuillez consulter Votre ID de compte Compte AWS et son alias.

  • IAMUser— La demande a été faite avec les informations d'identification d'un IAM utilisateur.

  • AssumedRole— La demande a été faite avec des informations de sécurité temporaires obtenues avec un rôle en appelant le AWS Security Token Service (AWS STS) AssumeRoleAPI. Cela peut inclure des rôles pour Amazon EC2 et un API accès entre comptes.

  • Role— La demande a été faite avec une IAM identité persistante dotée d'autorisations spécifiques. L'émetteur des sessions de rôle est toujours le rôle. Pour plus d'informations sur les rôles, consultez la section Termes et concepts relatifs aux rôles dans le Guide de IAM l'utilisateur.

  • FederatedUser— La demande a été faite avec des informations de sécurité temporaires obtenues lors d'un appel au AWS STS GetFederationTokenAPI. L'sessionIssuerélément indique s'il a API été appelé avec les informations IAM d'identification root ou utilisateur.

    Pour plus d'informations sur les informations d'identification de sécurité temporaires, consultez la section Informations d'identification de sécurité temporaires dans le guide de IAM l'utilisateur.

  • Directory – La demande a été faite à un directory service et le type est inconnu. Les services d'annuaire incluent les suivants : Amazon WorkDocs et Amazon QuickSight.

  • AWSAccount— La demande a été faite par un autre Compte AWS

  • AWSService— La demande a été faite par un Compte AWS membre appartenant à un service AWS. Par exemple, AWS Elastic Beanstalk assume un IAM rôle dans votre compte pour appeler d'autres personnes services AWS en votre nom.

  • IdentityCenterUser— La demande a été faite au nom d'un utilisateur de IAM l'Identity Center.

  • Unknown— La demande a été faite avec un type d'identité CloudTrail impossible à déterminer.

Facultatif : False

AWSAccountet AWSService apparaissent type dans vos journaux lorsqu'il existe un accès entre comptes à l'aide d'un IAM rôle que vous possédez.

Exemple : Accès entre comptes initié par un autre compte AWS
  1. Vous possédez un IAM rôle dans votre compte.

  2. Un autre AWS compte passe à ce rôle pour assumer le rôle de votre compte.

  3. Comme le IAM rôle vous appartient, vous recevez un journal indiquant que l'autre compte a assumé le rôle. Le type est AWSAccount. Pour un exemple d'entrée de journal, voir AWS STS APIévénement dans le fichier CloudTrail journal.

Exemple : accès entre comptes initié par un service AWS
  1. Vous possédez un IAM rôle dans votre compte.

  2. Un AWS compte appartenant à un AWS service assume ce rôle.

  3. Comme le IAM rôle vous appartient, vous recevez un journal indiquant que le AWS service a assumé le rôle. Le type est AWSService.

userName

Nom descriptif de l'identité qui a réalisé l'appel. La valeur qui s'affiche dans userName s'appuie sur la valeur de type. Le tableau suivant illustre la relation entre type et userName :

type userName Description
Root (aucun alias défini) Absent Si vous n'avez pas configuré d'alias pour votre Compte AWS, le userName champ n'apparaît pas. Pour plus d'informations sur les alias de compte, consultez Votre Compte AWS identifiant et son alias. Notez que le champ userName ne peut pas contenir Root, car Root est un type d'identité, et pas un nom d'utilisateur.
Root (alias défini) Alias du compte Pour plus d'informations sur Compte AWS les alias, consultez la section Votre Compte AWS identifiant et son alias.
IAMUser Le nom d'utilisateur de l'IAMutilisateur

AssumedRole

Absent Pour le AssumedRole type, vous pouvez trouver le userName champ dans sessionContext le cadre de l'sessionIssuerélément. Pour obtenir un exemple de saisie, consultez Exemples.

Role

Défini par l'utilisateur Les sections sessionContext et sessionIssuer contiennent des informations concernant l'identité qui a publié la séance pour le rôle.
FederatedUser Absent Les sections sessionContext et sessionIssuer contiennent des informations concernant l'identité qui a publié la session pour l'utilisateur fédéré.
Directory Peut être présent Par exemple, la valeur peut être l'alias du compte ou l'adresse e-mail de l'ID de compte Compte AWS.
AWSService Absent
AWSAccount Absent
IdentityCenterUser Absent La onBehalfOf section contient des informations sur l'IAMID utilisateur et le magasin d'identités Identity Center ARN pour lesquels l'appel a été effectué. Pour plus d'informations sur IAM Identity Center, consultez le guide de AWS IAM Identity Center l'utilisateur.
Unknown Peut être présent Par exemple, la valeur peut être l'alias du compte ou l'adresse e-mail de l'ID de compte Compte AWS.
Note

Le userName contient la chaîne HIDDEN_DUE_TO_SECURITY_REASONS lorsque l'événement enregistré est un échec de connexion à la console provoqué par la saisie d'un nom d'utilisateur incorrect. CloudTrail n'enregistre pas le contenu dans ce cas car le texte peut contenir des informations sensibles, comme dans les exemples suivants :

  • Un utilisateur tape par erreur un mot de passe dans le champ de nom d'utilisateur.

  • Un utilisateur clique sur le lien menant à la page de connexion d'un AWS compte, puis saisit le numéro de compte d'un autre compte.

  • Un utilisateur tape accidentellement le nom d'un compte de messagerie personnelle, un identifiant de connexion bancaire ou un autre ID privé.

Facultatif : True

principalId

Identifiant unique de l'entité qui a effectué l'appel. Pour les demandes effectuées avec des informations d'identification de sécurité temporaires, cette valeur inclut le nom de session transmis à l'GetFederationTokenAPIappel AssumeRoleAssumeRoleWithWebIdentity, ou.

Facultatif : True

arn

Le nom de ressource Amazon (ARN) du principal qui a effectué l'appel. La dernière partie de l'ARN contient l'utilisateur ou le rôle qui a réalisé l'appel.

Facultatif : True

accountId

Compte propriétaire de l'entité qui a accordé les autorisations pour la demande. Si la demande a été faite avec des informations d'identification de sécurité temporaires, il s'agit du compte propriétaire de l'IAMutilisateur ou du rôle utilisé pour obtenir les informations d'identification.

Si la demande a été faite avec un jeton d'accès autorisé IAM Identity Center, il s'agit du compte propriétaire de l'instance IAM Identity Center.

Facultatif : True

accessKeyId

ID de clé d’accès utilisé pour signer la demande. Si la demande a été faite avec des informations d’identification de sécurité temporaires, il s’agit de l’ID de clé d’accès des informations d’identification temporaires. Pour des raisons de sécurité,accessKeyId peut ne pas être présent ou être affiché sous la forme d'une chaîne vide.

Facultatif : True

sessionContext

Si la demande a été effectuée avec les informations d'identification de sécurité temporaires, sessionContext fournit des informations sur la session créée pour ces informations d'identification. Vous créez une session lorsque vous appelez une personne API renvoyant des informations d'identification temporaires. Les utilisateurs créent également des sessions lorsqu'ils travaillent dans la console et font des demandes APIs qui incluent l'authentification multifactorielle. Les attributs suivants peuvent apparaître dans sessionContext :

  • sessionIssuer— Si un utilisateur fait une demande avec des informations de sécurité temporaires, sessionIssuer fournit des informations sur la manière dont il a obtenu les informations d'identification. Par exemple, s'il a obtenu des informations d'identification temporaires en endossant un rôle, cet élément fournit des informations sur le rôle endossé. S'ils ont obtenu des informations d'identification avec les informations IAM d'identification root ou utilisateur à appeler AWS STS GetFederationToken, l'élément fournit des informations sur le compte ou IAM l'utilisateur root. Cet élément prend en charge les attributs suivants :

    • type - La source des informations d'identification de sécurité temporaires, par exemple Root, IAMUser ou Role.

    • userName - Le nom descriptif de l'utilisateur ou du rôle qui a établi la session. La valeur qui s'affiche dépend du sessionIssuer d'identité type. Le tableau suivant illustre la relation entre sessionIssuer type et userName :

      sessionIssuer type userName Description
      Root (aucun alias défini) Absent Si vous n'avez pas défini d'alias pour votre compte, le champ userName n'apparaît pas. Pour plus d'informations sur Compte AWS les alias, consultez la section Votre Compte AWS identifiant et son alias. Notez que le champ userName ne peut pas contenir Root, car Root est un type d'identité, pas un nom d'utilisateur.
      Root (alias défini) Alias du compte Pour plus d'informations sur les Compte AWS alias, consultez la section Votre identifiant de AWS compte et son alias.
      IAMUser Le nom d'utilisateur de l'IAMutilisateur Cela s'applique également lorsqu'un utilisateur fédéré utilise une session établie par IAMUser.
      Role Nom du rôle Rôle assumé par un IAM utilisateur service AWS, ou utilisateur fédéré par identité Web dans une session de rôle.
    • principalId : l'ID interne de l'entité qui a été utilisée pour obtenir des informations d'identification.

    • arn— La ARN source (compte, IAM utilisateur ou rôle) qui a été utilisée pour obtenir des informations d'identification de sécurité temporaires.

    • accountId - Le compte propriétaire de l'entité qui a été utilisée pour obtenir des informations d'identification.

  • webIdFederationData— Si la demande a été faite avec des informations de sécurité temporaires obtenues par la fédération d'identité Web, webIdFederationData répertorie les informations sur le fournisseur d'identité.

    Cet élément prend en charge les attributs suivants :

    • federatedProvider - Le nom principal du fournisseur d'identités (par exemple, www.amazon.com pour Login with Amazon ou accounts.google.com pour Google).

    • attributes - ID d'application et ID d'utilisateur tels qu'indiqués par le fournisseur (par exemple, www.amazon.com:app_id et www.amazon.com:user_id pour Login with Amazon).

    Note

    L'omission de ce champ ou la présence de ce champ avec une valeur vide signifie qu'il n'y a aucune information sur le fournisseur d'identité.

  • creationDate - La date et l'heure auxquelles les informations d'identification de sécurité temporaires ont été émises. Représenté en notation de base ISO 8601.

  • mfaAuthenticated— La valeur est true si l'utilisateur root ou l'IAMutilisateur qui a utilisé ses informations d'identification pour la demande s'est également authentifié auprès d'un MFA appareil ; dans le cas contraire,false.

  • sourceIdentity— Consultez AWS STS identité de la source dans cette rubrique. Le sourceIdentity champ apparaît lors d'événements où les utilisateurs assument un IAM rôle pour effectuer une action. sourceIdentityidentifie l'identité de l'utilisateur d'origine à l'origine de la demande, qu'il s'agisse d'un IAM utilisateur, d'un IAM rôle, d'un utilisateur authentifié par le biais d'une fédération SAML basée ou d'un utilisateur authentifié via une fédération d'identité Web conforme à OpenID Connect (OIDC). Pour plus d'informations sur la configuration AWS STS de la collecte des informations d'identité de la source, consultez la section Surveillance et contrôle des actions entreprises avec des rôles assumés dans le Guide de IAM l'utilisateur.

  • ec2RoleDelivery— La valeur est 1.0 si les informations d'identification ont été fournies par Amazon EC2 Instance Metadata Service version 1 (IMDSv1). La valeur est 2.0 si les informations d'identification ont été fournies à l'aide du nouveau IMDS schéma.

    AWS les informations d'identification fournies par le service de métadonnées d'EC2instance Amazon (IMDS) incluent une clé de RoleDelivery IAM contexte ec2 :. Cette clé de contexte facilite l'application du nouveau schéma sur une resource-by-resource base service-by-service ou en utilisant la clé de contexte comme condition dans les IAM politiques, les politiques de ressources ou les politiques de contrôle des AWS Organizations services. Pour plus d'informations, consultez la section Métadonnées de l'instance et données utilisateur dans le guide de EC2 l'utilisateur Amazon.

Facultatif : True

invokedBy

Le nom de l'auteur service AWS de la demande, lorsqu'une demande est faite par un organisme service AWS tel qu'Amazon EC2 Auto Scaling ou AWS Elastic Beanstalk. Ce champ n'est présent que lorsqu'une demande est faite par un service AWS. Cela inclut les demandes effectuées par des services utilisant des sessions d'accès direct (FAS), service AWS des principaux, des rôles liés à un service ou des rôles de service utilisés par un. service AWS

Facultatif : True

onBehalfOf

Si la demande a été faite par un appelant du IAM Identity Center, onBehalfOf fournit des informations sur l'ID utilisateur de l'IAMIdentity Center et le magasin d'identités ARN pour lesquels l'appel a été effectué. Cet élément prend en charge les attributs suivants :

  • userId— L'ID de l'utilisateur du centre d'IAMidentité au nom duquel l'appel a été passé.

  • identityStoreArn— Le nom ARN de la IAM banque d'identités Identity Center pour le compte de laquelle l'appel a été passé.

Facultatif : True

credentialId

L'ID des informations d'identification de la demande. Ceci n'est défini que lorsque l'appelant utilise un jeton porteur, tel qu'un jeton d'accès autorisé IAM Identity Center.

Facultatif : True

Valeurs de la fédération des identités «  AWS STS  APIs with » SAML et « web identity federation »

AWS CloudTrail prend en charge les API appels logging AWS Security Token Service (AWS STS) effectués avec le langage de balisage d'assertions de sécurité (SAML) et la fédération d'identité Web. Lorsqu'un utilisateur appelle le AssumeRoleWithSAMLet AssumeRoleWithWebIdentityAPIs, CloudTrail enregistre l'appel et transmet l'événement à votre compartiment Amazon S3.

L'userIdentityélément correspondant APIs contient les valeurs suivantes.

type

Type d'identité.

  • SAMLUser— La demande a été faite avec SAML assertion.

  • WebIdentityUser - La demande a été effectuée par un fournisseur de fédération d'identité Web.

principalId

Identifiant unique de l'entité qui a effectué l'appel.

  • Pour SAMLUser, il s'agit d'une combinaison de clés saml:namequalifier et saml:sub.

  • Pour WebIdentityUser, il s'agit d'une combinaison de l'émetteur, l'ID de l'application et l'ID de l'utilisateur.

userName

Nom de l'identité qui a réalisé l'appel.

  • Pour SAMLUser, il s'agit de la clé saml:sub.

  • Pour WebIdentityUser, il s'agit de l'ID d'utilisateur.

identityProvider

Nom principal du fournisseur d'identité externes. Ce champ s'affiche uniquement pour les types SAMLUser ou WebIdentityUser.

  • Car SAMLUser c'est la saml:namequalifier clé de l'SAMLassertion.

  • Pour WebIdentityUser, il s'agit du nom d'auteur du fournisseur de fédération d'identité Web. Il peut s'agir d'un fournisseur que vous avez configuré, tel que :

    • cognito-identity.amazon.com pour Amazon Cognito

    • www.amazon.com pour Login with Amazon

    • accounts.google.com pour Google

    • graph.facebook.com pour Facebook

Voici un exemple d'élément userIdentity pour l'action AssumeRoleWithWebIdentity.

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

Par exemple, des journaux indiquant la façon dont l'userIdentityélément apparaît SAMLUser et son WebIdentityUser type, consultez la section Journalisation IAM et AWS STS API appels avec AWS CloudTrail.

AWS STS identité de la source

Un IAM administrateur peut configurer AWS Security Token Service pour obliger les utilisateurs à spécifier leur identité lorsqu'ils utilisent des informations d'identification temporaires pour assumer des rôles. Le sourceIdentity champ apparaît dans les événements où les utilisateurs assument un IAM rôle ou exécutent des actions avec le rôle assumé.

Le sourceIdentity champ identifie l'identité de l'utilisateur d'origine à l'origine de la demande, qu'il s'agisse d'un IAM utilisateur, d'un IAM rôle, d'un utilisateur authentifié à l'aide d'une fédération SAML basée ou d'un utilisateur authentifié à l'aide d'une fédération d'identité Web conforme à OpenID Connect (OIDC). Une fois que l'IAMadministrateur a configuré AWS STS, CloudTrail enregistre les sourceIdentity informations relatives aux événements et aux emplacements suivants dans l'enregistrement des événements :

  • Le ou AWS STS AssumeRole AssumeRoleWithSAML les AssumeRoleWithWebIdentity appels qu'une identité d'utilisateur effectue lorsqu'elle assume un rôle. sourceIdentityse trouve dans le requestParameters bloc des AWS STS appels.

  • Le ou AWS STS AssumeRole les AssumeRoleWithSAML AssumeRoleWithWebIdentity appels qu'une identité d'utilisateur effectue si elle utilise un rôle pour assumer un autre rôle, c'est ce que l'on appelle le chaînage de rôles. sourceIdentityse trouve dans le requestParameters bloc des AWS STS appels.

  • Le AWS service effectue les API appels que l'identité de l'utilisateur effectue en assumant un rôle et en utilisant les informations d'identification temporaires attribuées par AWS STS. Dans les API événements de service, se sourceIdentity trouve dans le sessionContext bloc. Par exemple, si une identité utilisateur crée un nouveau compartiment S3, sourceIdentity se produit dans le bloc sessionContextde l'événement CreateBucket.

Pour plus d'informations sur la configuration AWS STS de la collecte des informations d'identité de la source, consultez la section Surveillance et contrôle des actions entreprises avec des rôles assumés dans le Guide de IAM l'utilisateur. Pour plus d'informations sur les AWS STS événements auxquels vous êtes connecté CloudTrail, consultez la section Journalisation IAM et AWS STS API appels avec AWS CloudTrail dans le Guide de IAM l'utilisateur.

Les exemples suivants sont des extraits d'événements qui montrent la sourceIdentity.

Exemple de la section requestParameters

Dans l'exemple d'extrait d'événement suivant, un utilisateur fait une AWS STS AssumeRole demande et définit une identité source, représentée ici par. source-identity-value-set L'utilisateur assume un rôle représenté par le rôle ARNarn:aws:iam::123456789012:role/Assumed_Role. Le champ sourceIdentity se trouve dans le bloc requestParameters de l'événement.

"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", },

Exemple de la section responseElements

Dans l'exemple d'extrait d'événement suivant, un utilisateur AWS STS AssumeRole demande à assumer un rôle nommé Developer_Role et définit une identité source. Admin L'utilisateur assume un rôle représenté par le rôle ARNarn:aws:iam::111122223333:role/Developer_Role. Le champ sourceIdentity est affiché à la fois dans les blocs requestParameters et responseElements de l'événement. Les informations d'identification temporaires utilisées pour assumer le rôle, la chaîne du jeton de session, ainsi que l'ID de rôle supposé, le nom de session et la session ARN sont affichés dans le responseElements bloc, ainsi que l'identité de la source.

"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" } ...

Exemple de la section sessionContext

Dans l'exemple d'extrait d'événement suivant, un utilisateur assume un rôle nommé DevRole pour appeler un AWS service. API L'utilisateur définit une identité source, représentée ici par source-identity-value-set. Le sourceIdentity champ se trouve dans le sessionContext bloc, dans le userIdentity bloc de l'événement.

{ "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" } } }