翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CloudTrail userIdentity 要素
AWS Identity and Access Management (IAM) は、さまざまなタイプの ID を提供します。userIdentity
要素には、リクエストを行った IAM ID のタイプと、使用された認証情報に関する詳細が含まれます。一時的認証情報が使用された場合、エレメントは、認証情報がどのように取得されたかを示します。
例
IAMユーザー認証情報を使用する userIdentity
次の例は、 という名前のIAMユーザーの認証情報を使用して行われたシンプルなリクエストの userIdentity
要素を示していますAlice
。
"userIdentity": { "type": "IAMUser", "principalId": "AIDAJ45Q7YFFAREXAMPLE", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "", "userName": "Alice" }
一時的セキュリティ認証情報を使用する userIdentity
次の例は、 IAMロールを引き受けることによって取得した一時的なセキュリティ認証情報を使用して行われたリクエストの userIdentity
要素を示しています。エレメントには、認証情報を取得するために引き受けられたロールに関する追加の情報の詳細が含まれています。
"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
IAM Identity Center ユーザーに代わって行われたリクエスト
次の例は、IAMIdentity Center ユーザーに代わって行われたリクエストの userIdentity
要素を示しています。
"userIdentity": { "type": "IdentityCenterUser", "accountId": "123456789012", "onBehalfOf": { "userId": "544894e8-80c1-707f-60e3-3ba6510dfac1", "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9067642ac7" }, "credentialId": "EXAMPLEVHULjJdTUdPJfofVa1sufHDoj7aYcOYcxFVllWR_Whr1fEXAMPLE" }
フィールド
以下のフィールドは userIdentity
エレメントに表示されます。
type
-
ID のタイプ。以下の値を指定できます。
-
Root
– リクエストは AWS アカウント 認証情報を使用して行われました。userIdentity
タイプがRoot
で、アカウントのエイリアスを設定した場合、userName
フィールドには、アカウントエイリアスが含まれます。詳細については、「AWS アカウント ID とそのエイリアス」を参照してください。 -
IAMUser
– リクエストは IAMユーザーの認証情報を使用して行われました。 -
AssumedRole
– リクエストは、 AWS Security Token Service (AWS STS) を呼び出すことによってロールで取得した一時的なセキュリティ認証情報を使用して行われましたAssumeRole
API。これには、Amazon のロールEC2とクロスアカウントAPIアクセスが含まれます。 -
Role
– リクエストは、特定のアクセス許可を持つ永続的な IAM ID を使用して行われました。ロールセッションの発行者は常にロールです。ロールの詳細については、「 IAMユーザーガイド」の「ロールの用語と概念」を参照してください。 -
FederatedUser
– リクエストは、 の呼び出しから取得した一時的なセキュリティ認証情報を使用して行われました AWS STSGetFederationToken
API。sessionIssuer
要素は、 がルート認証情報またはIAMユーザー認証情報で呼び出APIされたかどうかを示します。一時的なセキュリティ認証情報の詳細については、「 IAMユーザーガイド」の「一時的なセキュリティ認証情報」を参照してください。
-
Directory
— リクエストがディレクトリサービスに対して行われ、タイプが不明です。ディレクトリサービスには、Amazon WorkDocs と Amazon が含まれます QuickSight。 -
AWSAccount
– リクエストが別の によって行われた AWS アカウント -
AWSService
– リクエストは、 AWS アカウント に属する によって行われました AWS のサービス。例えば、 はアカウント内の IAMロール AWS Elastic Beanstalk を引き受けて、ユーザーに代わって他の AWS のサービス を呼び出します。 -
IdentityCenterUser
– リクエストは IAM Identity Center ユーザーに代わって行われました。 -
Unknown
– リクエストは、 が判断できない ID CloudTrail タイプで行われました。
オプション: False
AWSAccount
所有しているtype
IAMロールを使用したクロスアカウントアクセスがある場合、 と がログAWSService
に表示されます。例: 別の AWS アカウントによって開始されたクロスアカウントアクセス
-
アカウントで IAMロールを所有している。
-
別の AWS アカウントがそのロールに切り替えて、アカウントのロールを引き受けます。
-
IAM ロールを所有しているため、他のアカウントがロールを引き受けたことを示すログを受け取ります。
type
は、AWSAccount
です。ログエントリの例については、「ログファイルAWS STS APIのイベント CloudTrail 」を参照してください。
例: AWS サービスによって開始されたクロスアカウントアクセス
-
アカウントで IAMロールを所有している。
-
AWS サービスが所有する AWS アカウントがそのロールを引き受けます。
-
IAM ロールを所有しているため、 AWS サービスがロールを引き受けたことを示すログを受け取ります。
type
は、AWSService
です。
-
userName
-
呼び出しを行った ID のフレンドリ名。
userName
に表示される値は、type
の値に基づいています。次の表は、type
とuserName
の関係を示しています。type
userName
説明 Root
(エイリアスセットなし)[なし] のエイリアスを設定していない場合 AWS アカウント、 userName
フィールドは表示されません。アカウントエイリアスの詳細については、AWS アカウント 「ID とそのエイリアス」を参照してください。Root
は、ユーザー名ではなく ID の種類であるため、userName
フィールドには、Root
を含むことができないことに注意してください。Root
(エイリアスセット)アカウントエイリアス エイ AWS アカウント リアスの詳細については、AWS アカウント 「ID とそのエイリアス」を参照してください。 IAMUser
IAM ユーザーのユーザー名 AssumedRole
[なし] AssumedRole
タイプについては、 sessionIssuer要素sessionContext
の一部として のuserName
フィールドを見つけることができます。エントリの例については、「例」を参照してください。Role
ユーザー定義 sessionContext
およびsessionIssuer
セクションには、ロールのセッションを発行した ID 関する情報が含まれています。FederatedUser
[なし] sessionContext
およびsessionIssuer
セクションには、フェデレーションユーザーのセッションを発行した ID 関する情報が含まれています。Directory
存在する場合があります 例えば、値は、アカウントエイリアスまたは関連する AWS アカウント ID の E メールアドレスの場合があります。 AWSService
[なし] AWSAccount
[なし] IdentityCenterUser
[なし] onBehalfOf
セクションには、呼び出しが行われた IAM Identity Center ユーザー ID と ID ARN ストアに関する情報が含まれています。IAM Identity Center の詳細については、「 AWS IAM Identity Center ユーザーガイド」を参照してください。Unknown
存在する場合があります 例えば、値は、アカウントエイリアスまたは関連する AWS アカウント ID の E メールアドレスの場合があります。 注記
userName
フィールドには、記録されたイベントが正しくないユーザー名の入力によって引き起こされたコンソールサインインの失敗である場合、文字列HIDDEN_DUE_TO_SECURITY_REASONS
が入ります。CloudTrail 次の例のように、テキストに機密情報が含まれている可能性があるため、 は、このケースの内容を記録しません。-
ユーザーが誤ってユーザー名フィールドにパスワードを入力した。
-
ユーザーは、ある AWS アカウントのサインインページのリンクをクリックしますが、別のアカウントのアカウント番号を入力します。
-
ユーザーが、個人の E メールアカウント、銀行のサインイン ID、その他のプライベート ID のアカウント名を誤って入力した。
オプション: True
-
principalId
-
呼び出しを行ったエンティティの一意の識別子 一時的なセキュリティ認証情報を使用して行われたリクエストの場合、この値には、
AssumeRole
、、AssumeRoleWithWebIdentity
またはGetFederationToken
API呼び出しに渡されるセッション名が含まれます。オプション: True
arn
-
呼び出しを行ったプリンシパルの Amazon リソースネーム (ARN)。arn の最後のセクションには、呼び出しを行ったユーザーまたはロールが含まれています。
オプション: True
accountId
-
リクエストに対するアクセス許可を付与したエンティティを所有するアカウント。リクエストが一時的なセキュリティ認証情報を使用して行われた場合、これは認証情報の取得に使用されるIAMユーザーまたはロールを所有するアカウントです。
リクエストが IAM Identity Center で承認されたアクセストークンを使用して行われた場合、これは IAM Identity Center インスタンスを所有するアカウントです。
オプション: True
accessKeyId
-
リクエストに署名するために使用された アクセスキー ID。リクエストが、一時的セキュリティ認証情報で行われた場合、これは、一時的認証情報のアクセスキー IDです。セキュリティ上の理由から、
accessKeyId
が存在しないか、空の文字列として表示される可能性があります。オプション: True
sessionContext
-
リクエストが、一時的なセキュリティ認証情報を使用して行われた場合、
sessionContext
はこれらの認証情報のために作成されたセッションに関する情報を提供します。一時的な認証情報を返APIす を呼び出すときにセッションを作成します。ユーザーは、コンソールで作業するときにセッションを作成し、多要素認証 APIsを含む でリクエストを行います。には、次の属性が表示されますsessionContext
。-
sessionIssuer
– ユーザーが一時的なセキュリティ認証情報を使用してリクエストを行った場合、sessionIssuer
はユーザーが認証情報をどのように取得したかに関する情報を提供します。たとえば、ユーザーがロールを引き受けることで一時的セキュリティ認証情報を取得した場合、このエレメントは、引き受けたロールに関する情報を提供します。を呼び AWS STS 出すためのルート認証情報またはIAMユーザー認証情報を使用して認証情報を取得した場合GetFederationToken
、 要素はルートアカウントまたはIAMユーザーに関する情報を提供します。この要素には、次の属性があります。-
type
–Root
、IAMUser
、Role
などの一時的セキュリティ認証情報のソース。 -
userName
– セッションを発行したユーザーまたはロールのフレンドリ名。表示される値は、sessionIssuer
IDtype
によって異なります。次の表は、sessionIssuer type
とuserName
の関係を示しています。sessionIssuer
タイプuserName
説明 Root
(エイリアスセットなし)[なし] アカウントのエイリアスを設定していない場合、 userName
フィールドは表示されません。エイ AWS アカウント リアスの詳細については、AWS アカウント 「ID とそのエイリアス」を参照してください。Root
は、ユーザー名ではなく ID の種類であるため、userName
フィールドには、Root
を含むことができないことに注意してください。Root
(エイリアスセット)アカウントエイリアス エイ AWS アカウント リアスの詳細については、「 AWS アカウント ID とそのエイリアス」を参照してください。 IAMUser
IAM ユーザーのユーザー名 これは、フェデレーションユーザーが、 IAMUser
によって発行されたセッションを使用している場合にも適用されます。Role
ロール名 ロールセッションでIAMユーザー AWS のサービス、またはウェブ ID フェデレーティッドユーザーが引き受けるロール。 -
principalId
– 認証情報を取得するために使用されたエンティティの内部 ID。 -
arn
– 一時的なセキュリティ認証情報の取得に使用されたソース (アカウント、IAMユーザー、またはロール) ARNの 。 -
accountId
– 認証情報を取得するために使用されたエンティティを所有するアカウント。
-
-
webIdFederationData
– リクエストがウェブ ID フェデレーション によって取得された一時的なセキュリティ認証情報を使用して行われた場合、 は ID プロバイダーに関する情報をwebIdFederationData
一覧表示します。この要素には、次の属性があります。
-
federatedProvider
– ID プロバイダーのプリンシパル名 (たとえば、Login with Amazon の場合は、www.amazon.com
、Google の場合は、accounts.google.com
)。 -
attributes
– プロバイダーからレポートされるアプリケーションの ID とユーザー ID (たとえば、Login with Amazon の場合は、www.amazon.com:app_id
とwww.amazon.com:user_id
)。
注記
このフィールドを省略するか、このフィールドに空の値が含まれている場合は、ID プロバイダーに関する情報がないことを示します。
-
-
creationDate
– 一時的セキュリティ認証情報が発行された日付と時刻。8601 ISO の基本表記で表されます。 -
mfaAuthenticated
– リクエストに認証情報を使用したルートユーザーまたはIAMユーザーがMFAデバイスでも認証true
された場合、値は です。それ以外の場合は、 ですfalse
。 -
sourceIdentity
- このトピックの「AWS STS ソース ID」を参照してください。sourceIdentity
フィールドは、ユーザーがアクションを実行するために IAMロールを引き受けるときにイベントで発生します。 は、ユーザーの ID が ユーザー、 IAMロールIAM、 SAMLベースのフェデレーションで認証されたユーザー、OpenID Connect (OIDC) 準拠のウェブ ID フェデレーションで認証されたユーザーのいずれであるかにかかわらず、リクエストを行う元のユーザー IDsourceIdentity
を識別します。ソース ID 情報を収集 AWS STS するように を設定する方法の詳細については、「 ユーザーガイド」の「引き受けたロールで実行されたアクションのモニタリングと制御IAM」を参照してください。 -
ec2RoleDelivery
– 認証情報が Amazon EC2 Instance Metadata Service バージョン 1 () によって提供された1.0
場合、値は ですIMDSv1。認証情報が新しいIMDSスキームを使用して提供された2.0
場合、値は です。AWS Amazon EC2 Instance Metadata Service (IMDS) によって提供される 認証情報には、ec2:RoleDelivery IAM コンテキストキーが含まれます。このコンテキストキーを使用すると、IAMポリシー、リソースポリシー service-by-service 、または AWS Organizations サービスコントロールポリシーの条件としてコンテキストキーを使用することで、新しいスキームの使用を または resource-by-resource ベースで簡単に強制できます。詳細については、「Amazon ユーザーガイド」の「インスタンスメタデータとユーザーデータ」を参照してください。 EC2
オプション: True
-
invokedBy
-
Amazon EC2 Auto Scaling や AWS のサービス などの によって AWS のサービス リクエストが行われたときに、リクエストを行った の名前 AWS Elastic Beanstalk。このフィールドは、 によってリクエストが行われた場合にのみ存在します AWS のサービス。これには、転送アクセスセッション (FAS)、 AWS のサービス プリンシパル、サービスにリンクされたロール、または が使用するサービスロールを使用して のサービスによって行われたリクエストが含まれます AWS のサービス。
オプション: True
onBehalfOf
-
リクエストが IAM Identity Center の発信者によって行われた場合、 は、呼び出しARNが行われた IAM Identity Center ユーザー ID と ID ストアに関する情報
onBehalfOf
を提供します。この要素には、次の属性があります。-
userId
– 呼び出しが代理で行われた IAM Identity Center ユーザーの ID。 -
identityStoreArn
– 呼び出しARNが代理で行われた IAM Identity Center ID ストアの 。
オプション: True
-
credentialId
-
リクエストの認証情報 ID です。これは、発信者が IAM Identity Center で承認されたアクセストークンなどのベアラートークンを使用する場合にのみ設定されます。
オプション: True
SAML とウェブ ID フェデレーションを使用した の値 AWS STS APIs
AWS CloudTrail は、Security Assertion Markup Language AWS Security Token Service (AWS STS) とウェブ ID フェデレーションを使用して行われた (SAML) API呼び出しのログ記録をサポートします。ユーザーが AssumeRoleWithSAML
と を呼び出すとAPIs、 AssumeRoleWithWebIdentity
は呼び出し CloudTrail を記録し、Amazon S3 バケットにイベントを配信します。
これらの userIdentity
要素には、次の値APIsが含まれます。
type
-
ID のタイプ。
-
SAMLUser
– リクエストはSAMLアサーションを使用して行われました。 -
WebIdentityUser
– リクエストは、ウェブ ID フェデレーションプロバイダーによって行われました。
-
principalId
-
呼び出しを行ったエンティティの一意の識別子
-
SAMLUser
の場合、これは、saml:namequalifier
キーとsaml:sub
キーの組み合わせです。 -
WebIdentityUser
の場合は、これは、発行者、アプリケーション ID、ユーザー ID の組み合わせです。
-
userName
-
呼び出しを行った ID の名前。
-
SAMLUser
の場合、これは、saml:sub
キーです。 -
WebIdentityUser
の場合、これはユーザー ID です。
-
identityProvider
-
外部 ID プロバイダーのプリンシパル名。このフィールドは、
SAMLUser
またはWebIdentityUser
タイプに対してのみ表示されます。-
の場合
SAMLUser
、これはSAMLアサーションのsaml:namequalifier
キーです。 -
WebIdentityUser
の場合、これは、ウェブ ID フェデレーションプロバイダーの発行者の名前です。これは、次のように設定したプロバイダーになります。-
cognito-identity.amazon.com
Amazon Cognito for iOS -
Login with Amazon の場合
www.amazon.com
-
Google の場合
accounts.google.com
-
Facebook の場合
graph.facebook.com
-
-
AssumeRoleWithWebIdentity
アクションの userIdentity
エレメントの例を次に示します。
"userIdentity": { "type": "WebIdentityUser", "principalId": "accounts.google.com:
application-id
.apps.googleusercontent.com:user-id
", "userName": "user-id
", "identityProvider": "accounts.google.com" }
SAMLUser
および WebIdentityUser
タイプの userIdentity
要素がどのように表示されるかを示すログの例については、「 を使用したログ記録IAMと AWS STS API呼び出し AWS CloudTrail」を参照してください。
AWS STS ソース ID
IAM 管理者は、 AWS Security Token Service ユーザーが一時的な認証情報を使用してロールを引き受けるときに ID を指定するように を設定できます。sourceIdentity
フィールドは、ユーザーが IAMロールを引き受けたり、引き受けたロールでアクションを実行したりするイベントで発生します。
sourceIdentity
フィールドは、リクエストを行う元のユーザー ID を識別します。ユーザーの ID が IAM ユーザー、 IAMロール、 SAMLベースのフェデレーションを使用して認証されたユーザー、OpenID Connect (OIDC) 準拠のウェブ ID フェデレーションを使用して認証されたユーザーのいずれであるかを示します。IAM 管理者が を設定すると AWS STS、 はイベントレコード内の次のイベントと場所にsourceIdentity
情報を CloudTrail ログに記録します。
-
ユーザー ID がロールを引き受けるときに行う AWS STS
AssumeRole
AssumeRoleWithSAML
、、またはAssumeRoleWithWebIdentity
呼び出し。sourceIdentity
は AWS STS 呼び出しのrequestParameters
ブロックにあります。 -
ロールを使用して別のロールを引き受ける場合
AssumeRoleWithSAML
にユーザー ID が行う AWS STSAssumeRole
、、またはAssumeRoleWithWebIdentity
呼び出し。ロール連鎖 と呼ばれます。sourceIdentity
は AWS STS 呼び出しのrequestParameters
ブロックにあります。 https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-role-chaining -
この AWS サービスは、ロールを引き受け、 によって割り当てられた一時的な認証情報を使用しているときにユーザー ID が行う をAPI呼び出します AWS STS。サービスAPIイベントでは、
sourceIdentity
はsessionContext
ブロックにあります。例えば、ユーザーアイデンティティによって新しい S3 バケットが作成された場合、sourceIdentity
は、CreateBucket
イベントのsessionContext
ブロックで発生します。
ソース ID 情報を収集するように を設定する方法の詳細については、「 ユーザーガイド AWS STS 」の「引き受けたロールで実行されたアクションのモニタリングと制御IAM」を参照してください。にログ記録される AWS STS イベントの詳細については CloudTrail、「 ユーザーガイド」の「 でのログ記録IAMと AWS STS API呼び出し AWS CloudTrailIAM」を参照してください。
以下は、sourceIdentity
フィールドを表示するイベントのスニペットの例です。
requestParameters
セクションの例
次のイベントスニペットの例では、ユーザーは AWS STS AssumeRole
リクエストを行い、ここで で表されるソース ID を設定します
。ユーザーは、ロール で表されるロールARNを引き受けますsource-identity-value-set
arn:aws:iam::123456789012:role/Assumed_Role
。sourceIdentity
フィールドが 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
", },
responseElements
セクションの例
次のイベントスニペットの例では、ユーザーは という名前の AWS STS AssumeRole
ロールを引き受けるリクエストを行いDeveloper_Role
、ソース ID を設定しますAdmin
。ユーザーは、ロール で表されるロールARNを引き受けますarn:aws:iam::111122223333:role/Developer_Role
。sourceIdentity
フィールドは、イベントの requestParameters
および responseElements
両方のブロックで表示されます。ロール、セッショントークン文字列、引き受けたロール ID、セッション名、セッションを引き受けるために使用される一時的な認証情報ARNは、ソース ID とともに responseElements
ブロックに表示されます。
"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" } ...
sessionContext
セクションの例
次のイベントスニペットの例では、ユーザーは という名前のロールを引き受けDevRole
て AWS サービスを呼び出しますAPI。ユーザーはソース ID を設定します。ここでは で表されます。source-identity-value-set
。 sourceIdentity
フィールドは、イベントの sessionContext
ブロック内の 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
" } } }