翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CloudTrail userIdentity 要素
AWS Identity and Access Management (IAM) は、さまざまなタイプの ID を提供します。userIdentity
エレメントには、リクエストを行った IAM アイデンティティのタイプとどの認証情報が使用されたかに関する詳細が含まれます。一時的認証情報が使用された場合、エレメントは、認証情報がどのように取得されたかを示します。
例
IAM ユーザー認証情報を使用する userIdentity
次の例は、userIdentity
という名前の IAM ユーザー認証情報で行われた単純なリクエストの 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": { "attributes": { "mfaAuthenticated": "false", "creationDate": "20131102T010628Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROAIDPPEZS35WEXAMPLE", "arn": "arn:aws:iam::123456789012:role/RoleToBeAssumed", "accountId": "123456789012", "userName": "RoleToBeAssumed" } } }
IAM アイデンティティーセンターのユーザーに代わって行われたリクエストの userIdentity
次の例は、IAM アイデンティティセンターのユーザーに代わって行われたリクエストの 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 アイデンティティを使用して行われました。ロールセッションの発行者は常にロールです。ロールの詳細については、IAM ユーザーガイド の「ロールに関する用語と概念」を参照してください。 -
FederatedUser
— AWS STSGetFederationToken
API の呼び出しから取得した一時的なセキュリティ認証情報を使用してリクエストが行われました。sessionIssuer
エレメントは、API がルートまたは IAM ユーザー認証情報で呼び出されたかどうかを示します。一時的なセキュリティ認証情報の詳細については、IAM ユーザーガイドの「IAM の一時的なセキュリティ認証情報」を参照してください。
-
Directory
— リクエストがディレクトリサービスに対して行われ、タイプが不明です。ディレクトリサービスには、Amazon WorkDocs と Amazon が含まれます QuickSight。 -
AWSAccount
— リクエストは別のユーザーによって行われました。 AWS アカウント -
AWSService
— リクエストは、 AWS アカウント に所属するによって行われました AWS のサービス。たとえば、は、お客様のアカウントの IAM AWS Elastic Beanstalk ロールを引き受け、 AWS のサービス お客様に代わって他のユーザーに電話をかけます。 -
IdentityCenterUser
- IAM アイデンティティーセンターのユーザーに代わって行われたリクエスト -
Unknown
— CloudTrail 特定できない ID タイプでリクエストが送信されました。
オプション: False
所有する IAM ロールを使用するクロスアカウントアクセスがある場合、
AWSAccount
とAWSService
が、ログにtype
として表示されます。例: 別の AWS アカウントによって開始されたクロスアカウントアクセス
-
アカウントには、IAM ロールがあります。
-
AWS 別のアカウントがそのロールに切り替わり、自分のアカウントのロールを引き継ぎます。
-
IAM ロールを所有しているため、他のアカウントがロールを引き受けたことを示すログを受信します。
type
は、AWSAccount
です。ログエントリの例については、「AWS STS CloudTrail ログファイルの API イベント」を参照してください。
例:サービスによって開始されたクロスアカウントアクセス AWS
-
アカウントには、IAM ロールがあります。
-
AWS AWS サービスが所有するアカウントがその役割を引き受けます。
-
IAM ロールを所有しているため、 AWS サービスがロールを引き受けたことを示すログを受信します。
type
は、AWSService
です。
-
userName
-
呼び出しを行った ID のフレンドリ名。
userName
に表示される値は、type
の値に基づいています。次の表は、type
とuserName
の関係を示しています。type
userName
説明 Root
(エイリアスセットなし)[なし] にエイリアスを設定していない場合 AWS アカウント、 userName
そのフィールドは表示されません。アカウントエイリアスの詳細については、「Your AWS アカウント ID とそのエイリアス」を参照してください。Root
は、ユーザー名ではなく ID の種類であるため、userName
フィールドには、Root
を含むことができないことに注意してください。Root
(エイリアスセット)アカウントエイリアス エイリアスの詳細については、「Your AWS アカウント ID AWS アカウント とそのエイリアス」を参照してください。 IAMUser
IAM ユーザーのユーザー名 AssumedRole
[なし] AssumedRole
タイプの場合、sessionIssuer エレメントの一部として、sessionContext
内のuserName
フィールドを見つけることができます。エントリの例については、「例」を参照してください。Role
ユーザー定義 sessionContext
およびsessionIssuer
セクションには、ロールのセッションを発行した ID 関する情報が含まれています。FederatedUser
[なし] sessionContext
およびsessionIssuer
セクションには、フェデレーションユーザーのセッションを発行した ID 関する情報が含まれています。Directory
存在する場合があります 例えば、値は、アカウントエイリアスまたは関連する AWS アカウント ID の E メールアドレスの場合があります。 AWSService
[なし] AWSAccount
[なし] IdentityCenterUser
[なし] onBehalfOf
セクションには、呼び出しが行われた IAM アイデンティティセンターのユーザー ID とアイデンティティストア ARN に関する情報が含まれています。IAM アイデンティティセンターの詳細については、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 アイデンティティセンターの承認済みアクセストークンを使って実行された場合、これが、IAM アイデンティティセンターインスタンスを所有するアカウントになります。
オプション: True
accessKeyId
-
リクエストに署名するために使用された アクセスキー ID。リクエストが、一時的セキュリティ認証情報で行われた場合、これは、一時的認証情報のアクセスキー IDです。セキュリティ上の理由から、
accessKeyId
が存在しないか、空の文字列として表示される可能性があります。オプション: True
sessionContext
-
リクエストが、一時的なセキュリティ認証情報を使用して行われた場合、
sessionContext
はこれらの認証情報のために作成されたセッションに関する情報を提供します。一時的認証情報を返す API を呼び出すと、セッションを作成できます。また、ユーザーはコンソールで作業する際に、セッションを作成し、多要素認証を含む API を使用してリクエストを行います。この要素には、次の属性があります。-
creationDate
– 一時的セキュリティ認証情報が発行された日付と時刻。ISO 8601 の基本表記で表されます。 -
mfaAuthenticated
– また、リクエストに認証情報が使用されたルートユーザーまたは IAM ユーザーも、MFA デバイスで認証された場合、この値は、true
です。そうでない場合は、false
です。 -
sourceIdentity
- このトピックの「AWS STS ソース ID」を参照してください。sourceIdentity
フィールドは、ユーザーがアクションを実行するために IAM ロールを引き受けるときにイベントで発生します。sourceIdentity
は、リクエストを行う元のユーザーアイデンティティを識別します。そのユーザーのアイデンティティが IAM ユーザー、IAM ロール、SAML ベースのフェデレーションで認証されたユーザー、OpenID Connect (OIDC) 準拠のウェブ ID フェデレーションで認証されたユーザーのいずれであるかを示します。ソース ID AWS STS 情報を収集するための設定の詳細については、IAM ユーザーガイドの「想定ロールで実行されるアクションの監視と制御」を参照してください。 -
ec2RoleDelivery
– Amazon EC2 インスタンスメタデータサービスバージョン 1 (IMDSv1) によって認証情報が提供された場合、値は1.0
です。新しい IMDS スキームを使用して認証情報が提供された場合、値は2.0
です。AWS Amazon EC2 インスタンスメタデータサービス (IMDS) によって提供される認証情報には、ec2: RoleDelivery IAM コンテキストキーが含まれます。このコンテキストキーを使用すると、IAM ポリシー、リソースポリシー、 service-by-service またはサービスコントロールポリシーの条件としてコンテキストキーを使用することにより、新しいスキームを簡単に OR resource-by-resource AWS Organizations ベースで使用できます。詳細については、「Amazon EC2 User Guide for Linux Instances」(Linux インスタンス用 Amazon EC2 ユーザーガイド) の「Instance metadata and user data」(インスタンスメタデータとユーザーデータ) を参照してください。
オプション: True
-
invokedBy
-
Amazon EC2 Auto Scaling AWS のサービス やなどによってリクエストが行われた場合の、リクエストを行った人の名前 AWS Elastic Beanstalk。 AWS のサービス このフィールドは、によってリクエストが行われた場合にのみ表示されます AWS のサービス。これには、転送アクセスセッション (FAS) を使用するサービス、 AWS のサービス プリンシパル、サービスにリンクされたロール、またはが使用するサービスロールからのリクエストが含まれます。 AWS のサービス
オプション: True
sessionIssuer
-
リクエストが一時的なセキュリティ認証情報を使用して行われた場合、
sessionIssuer
はユーザーが認証情報を取得した方法に関する情報を提供します。たとえば、ユーザーがロールを引き受けることで一時的セキュリティ認証情報を取得した場合、このエレメントは、引き受けたロールに関する情報を提供します。ユーザーが AWS STSGetFederationToken
を呼び出すためのルートまたは IAM ユーザー認証情報で認証情報取得した場合、エレメントは、ルートアカウントまたは IAM ユーザーに関する情報を提供します。この要素には、次の属性があります。-
type
–Root
、IAMUser
、Role
などの一時的セキュリティ認証情報のソース。 -
userName
– セッションを発行したユーザーまたはロールのフレンドリ名。表示される値は、sessionIssuer
IDtype
によって異なります。次の表は、sessionIssuer type
とuserName
の関係を示しています。sessionIssuer
タイプuserName
説明 Root
(エイリアスセットなし)[なし] アカウントのエイリアスを設定していない場合、 userName
フィールドは表示されません。エイリアスの詳細については、「ID AWS アカウント とそのエイリアス」を参照してください。 AWS アカウントRoot
は、ユーザー名ではなく ID の種類であるため、userName
フィールドには、Root
を含むことができないことに注意してください。Root
(エイリアスセット)アカウントエイリアス エイリアスの詳細については、「AWS アカウント ID AWS アカウント とそのエイリアス」を参照してください。 IAMUser
IAM ユーザーのユーザー名 これは、フェデレーションユーザーが、 IAMUser
によって発行されたセッションを使用している場合にも適用されます。Role
ロール名 IAM ユーザーまたはウェブ ID フェデレーティッドユーザーがロールセッションで引き受けるロール。 AWS のサービス -
principalId
– 認証情報を取得するために使用されたエンティティの内部 ID。 -
arn
– 一時的セキュリティ認証情報を取得するために使用されたソース (アカウント、IAM ユーザー、ロール) のARN。 -
accountId
– 認証情報を取得するために使用されたエンティティを所有するアカウント。
オプション: True
-
onBehalfOf
-
リクエストが IAM アイデンティティセンターの呼び出し元によって行われた場合、
onBehalfOf
は、呼び出しが行われた IAM アイデンティティセンターのユーザー ID とアイデンティティストア ARN に関する情報を提供します。この要素には、次の属性があります。-
userId
— 呼び出しが代理で実行された IAM アイデンティティセンターユーザーの ID。 -
identityStoreArn
— 呼び出しが代理で実行された IAM アイデンティティセンターの、アイデンティティストアの ARN。
オプション: True
-
credentialId
-
リクエストの認証情報 ID です。呼び出し元がベアラートークン (IAM アイデンティティセンターが認証したアクセストークンなど) を使用している場合のみ、設定されます。
オプション: True
webIdFederationData
-
リクエストが、ウェブ ID フェデレーションによって取得された一時的セキュリティ認証情報で行われた場合、
webIdFederationData
は ID プロバイダーに関する情報を一覧表示します。この要素には、次の属性があります。
-
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 プロバイダーに関する情報がないことを意味します。
オプション: True
-
SAML とウェブ ID AWS STS フェデレーションを使用する API の値
AWS CloudTrail セキュリティアサーションマークアップ言語 AWS Security Token Service (SAML AWS STS) とウェブ ID フェデレーションによるロギング () API 呼び出しをサポートします。ユーザーがと AssumeRoleWithWebIdentity
API を呼び出すと、AssumeRoleWithSAML
CloudTrail その呼び出しを記録し、イベントを Amazon S3 バケットに配信します。
これらの API の userIdentity
エレメントには、次の値が含まれています。
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" }
userIdentity
SAMLUser
WebIdentityUser
要素の表示方法やタイプのログの例については、「AWS CloudTrailでの IAM および AWS STS API 呼び出しのロギング」を参照してください。
AWS STS ソース ID
IAM 管理者は、一時的な認証情報を使用してロールを引き受ける際に、ユーザーに ID AWS Security Token Service の指定を要求するように設定できます。sourceIdentity
フィールドは、ユーザーが IAM ロールを引き受けるとき、または引き受けたロールでアクションを実行するときに、イベントで発生します。
sourceIdentity
フィールドは、リクエストを行う元のユーザーアイデンティティを識別します。そのユーザーのアイデンティティが IAM ユーザー、IAM ロール、SAML ベースのフェデレーションを使用して認証されたユーザー、OpenID Connect (OIDC) 準拠のウェブ ID フェデレーションを使用して認証されたユーザーのいずれであるかを示します。IAM 管理者が設定したら AWS STS、 CloudTrail sourceIdentity
以下のイベントとイベントレコード内の場所に情報を記録します。
-
ユーザー ID がロールを引き受けるときに実行する AWS STS
AssumeRole
AssumeRoleWithSAML
、、AssumeRoleWithWebIdentity
またはの呼び出し。sourceIdentity
requestParameters
AWS STS 呼び出しのブロック内にあります。 -
ユーザー ID がロールを使用して別のロールを引き受ける場合に発生する AWS STS
AssumeRole
、AssumeRoleWithSAML
、AssumeRoleWithWebIdentity
または呼び出しは、ロールチェイニングと呼ばれます。sourceIdentity
requestParameters
AWS STS は呼び出しのブロックにあります。 -
AWS サービス API は、ロールを引き受け、 AWS STSによって割り当てられた一時的な認証情報を使用して、ユーザー ID が実行する呼び出しを行います。サービス API イベントでは、
sourceIdentity
は、sessionContext
ブロックにあります。例えば、ユーザーアイデンティティによって新しい S3 バケットが作成された場合、sourceIdentity
は、CreateBucket
イベントのsessionContext
ブロックで発生します。
ソース ID AWS STS 情報を収集するように設定する方法の詳細については、IAM ユーザーガイドの「引き受けたロールで実行されるアクションの監視と制御」を参照してください。 AWS STS ログに記録されるイベントの詳細については CloudTrail、『IAM ユーザーガイド』の「IAM および AWS STS API AWS CloudTrail呼び出しのロギングウィング」を参照してください。
以下は、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 は、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
セクションの例
次のイベントスニペットの例では、ユーザーがサービス API DevRole
を呼び出すというロールを引き受けています。 AWS ユーザーは、ここではで表されるソース ID を設定します。source-identity-value-set
sourceIdentity
フィールドはイベントの userIdentity
ブロック内では sessionContext
ブロックにあります。
{ "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
" } } }