翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
IAM Identity Center の CloudTrail ユースケース
IAM アイデンティティセンターが発行する CloudTrail イベントは、さまざまなユースケースで役立ちます。組織は、これらのイベントログを使用して、 AWS 環境内のユーザーアクセスとアクティビティをモニタリングおよび監査できます。これにより、ログは誰がいつどのリソースにアクセスするかの詳細をキャプチャするため、コンプライアンスのユースケースに役立ちます。CloudTrail データをインシデント調査に使用して、チームがユーザーのアクションを分析し、疑わしい動作を追跡できるようにすることもできます。さらに、イベント履歴はトラブルシューティング作業をサポートし、時間の経過とともにユーザーのアクセス許可と設定に加えられた変更を可視化できます。
以下のセクションでは、監査、インシデント調査、トラブルシューティングなどのワークフローを通知する基本的なユースケースについて説明します。
IAM Identity Center のユーザー主導の CloudTrail イベントでのユーザーの特定
IAM Identity Center は、IAM Identity Center へのサインインや、MFA デバイスの管理を含む AWS アクセスポータルの使用など AWS CLI、CloudTrail イベントの背後にある IAM Identity Center ユーザーを識別できる 2 つの CloudTrail CloudTrail フィールドを出力します。
-
userId
– IAM Identity Center インスタンスの Identity Store からの一意でイミュータブルなユーザー識別子。 -
identityStoreArn
– ユーザーを含む Identity Store の Amazon リソースネーム (ARN)。
userID
および identityStoreArn
フィールドは、次の CloudTrail イベントログの例に示すように、 onBehalfOf
要素内にネストされた userIdentity
要素に表示されます。このイベントログには、userIdentity
タイプがIdentityCenterUser
「」であるイベントに関するこれら 2 つのフィールドが表示されます。これらのフィールドは、userIdentity
タイプが「」である認証済み IAM アイデンティティセンターユーザーのイベントでも確認できますUnknown
。ワークフローは両方の型値を受け入れる必要があります。
"userIdentity":{ "type":"IdentityCenterUser", "accountId":"111122223333", "onBehalfOf": { "userId": "544894e8-80c1-707f-60e3-3ba6510dfac1", "identityStoreArn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890" }, "credentialId" : "90e292de-5eb8-446e-9602-90f7c45044f7" }
ヒント
IAM Identity Center CloudTrail イベントの背後にあるユーザーを特定するidentityStoreArn
には、 userId
と を使用することをお勧めします。userIdentity
要素の userName
および principalId
フィールドは使用できなくなりました。監査やインシデント対応などのワークフローが へのアクセスに依存している場合はusername
、次の 2 つのオプションがあります。
-
「」の説明に従って、IAM Identity Center ディレクトリからユーザー名を取得しますサインイン CloudTrail イベントのユーザー名。
-
サインインの
additionalEventData
要素で IAM Identity Center が出力UserName
する を取得します。このオプションは、IAM Identity Center ディレクトリへのアクセスを必要としません。詳細については、「サインイン CloudTrail イベントのユーザー名」を参照してください。
username
フィールドを含むユーザーの詳細を取得するには、ユーザー ID と Identity Store ID をパラメータとして Identity Store にクエリを実行します。このアクションは、DescribeUser
API リクエストまたは CLI を使用して実行できます。CLI コマンドの例を次に示します。IAM Identity Center インスタンスが CLI のデフォルトリージョンにある場合は、 region
パラメータを省略できます。
aws identitystore describe-user \ --identity-store-id d-1234567890 \ --user-id 544894e8-80c1-707f-60e3-3ba6510dfac1 \ --region
your-region-id
前の例の CLI コマンドの Identity Store ID 値を決定するには、 identityStoreArn
値から Identity Store ID を抽出します。ARN の例ではarn:aws:identitystore::111122223333:identitystore/d-1234567890
、Identity Store ID は ですd-1234567890
。または、IAM Identity Center コンソールの設定セクションの Identity Store タブに移動して、Identity Store ID を見つけることもできます。
IAM Identity Center ディレクトリ内のユーザーの検索を自動化する場合は、ユーザー検索の頻度を見積もり、Identity Store API の IAM Identity Center スロットリング制限を検討することをお勧めします。取得したユーザー属性をキャッシュすると、スロットル制限内に収まるようになります。
同じユーザーセッション内のユーザーイベントの関連付け
サインインイベントで出力される AuthWorkflowIDフィールドを使用すると、IAM Identity Center ユーザーセッションを開始する前に、サインインシーケンスに関連付けられたすべての CloudTrail イベントを追跡できます。
AWS アクセスポータル内のユーザーアクションの場合、credentialId
値はアクションのリクエストに使用される IAM Identity Center ユーザーのセッションの ID に設定されます。この値を使用して、 AWS アクセスポータルの同じ認証済み IAM Identity Center ユーザーセッション内で開始された CloudTrail イベントを識別できます。
注記
credentialId
を使用して、サインインイベントを AWS アクセスポータルの使用などの後続のイベントに関連付けることはできません。サインインイベントで出力される credentialId
フィールドの値は内部で使用されているため、依存しないことをお勧めします。OIDC で呼び出されたAWS アクセスポータルイベントに対して出力されるcredentialId
フィールドの値は、アクセストークンの ID と等しくなります。
IAM Identity Center のユーザーが開始した CloudTrail イベントでユーザーバックグラウンドセッションの詳細を特定する
次の CloudTrail イベントは、OAuth 2.0 トークン交換のプロセスをキャプチャします。このプロセスでは、ユーザーのインタラクティブセッションを表す既存のアクセストークン (subjectToken
) が更新トークン () と交換されますrequestedTokenType
。更新トークンを使用すると、ユーザーが長時間実行ジョブを開始した場合でも、ユーザーがサインアウトした後でも、ユーザーのアクセス許可を使用して実行を継続できます。
IAM Identity Center ユーザーバックグラウンドセッションの場合、CloudTrail イベントには 要素resource
に という追加requestParameters
要素が含まれます。resource
パラメータには、バックグラウンドで実行されるジョブの Amazon リソースネーム (ARN) が含まれます。この要素は CloudTrail イベントレコードにのみ存在し、IAM Identity Center API または SDK レスポンスには含まれません。
{ "clientId": "EXAMPLE-CLIENT-ID", "grantType": "urn:ietf:params:oauth:grant-type:token-exchange", "code": "HIDDEN_DUE_TO_SECURITY_REASONS", "redirectUri": "https://example.com/callback", "assertion": "HIDDEN_DUE_TO_SECURITY_REASONS", "subjectToken": "HIDDEN_DUE_TO_SECURITY_REASONS", "subjectTokenType": "urn:ietf:params:oauth:token-type:access_token", "requestedTokenType": "urn:ietf:params:oauth:token-type:refresh_token", "resource": "arn:aws:sagemaker:us-west-2:123456789012:training-job/my-job" }
IAM Identity Center と外部ディレクトリ間のユーザーの関連付け
IAM Identity Center には、ディレクトリ内のユーザーを外部ディレクトリ内の同じユーザー ( Microsoft Active Directoryや など) に関連付けるために使用できる 2 つのユーザー属性が用意されていますOkta Universal Directory。
-
externalId
– IAM Identity Center ユーザーの外部識別子。この識別子を外部ディレクトリのイミュータブルなユーザー識別子にマッピングすることをお勧めします。IAM Identity Center は CloudTrail でこの値を出力しないことに注意してください。 -
username
– ユーザーが通常サインインする、お客様が指定した値。値は変更される場合があります (SCIM 更新など)。ID ソースが の場合 AWS Directory Service、IAM Identity Center が CloudTrail で発行するユーザー名は、認証のために入力したユーザー名と一致することに注意してください。ユーザー名は、IAM Identity Center ディレクトリのユーザー名と完全に一致する必要はありません。CloudTrail イベントにアクセスできるが、IAM Identity Center ディレクトリにはアクセスできない場合は、サインイン時に
additionalEventData
要素の下に出力されるユーザー名を使用できます。のユーザー名の詳細についてはadditionalEventData
、「」を参照してくださいサインイン CloudTrail イベントのユーザー名。
これら 2 つのユーザー属性と外部ディレクトリ内の対応するユーザー属性のマッピングは、アイデンティティソースが の場合に IAM アイデンティティセンターで定義されます AWS Directory Service。情報については、「」を参照してくださいIAM アイデンティティセンターと外部 ID プロバイダーディレクトリ間の属性マッピング。SCIM でユーザーをプロビジョニングする外部 IdPs には、独自のマッピングがあります。ID ソースとして IAM Identity Center ディレクトリを使用している場合でも、 externalId
属性を使用してセキュリティプリンシパルを外部ディレクトリに相互参照できます。
次のセクションでは、ユーザーの username
と を指定して IAM Identity Center ユーザーを検索する方法について説明しますexternalId
。
ユーザー名と externalId による IAM Identity Center ユーザーの表示
IAM Identity Center ディレクトリから既知のユーザー名のユーザー属性を取得するには、まず GetUserId
API リクエストuserId
を使用して対応する をリクエストしてから、前の例に示すように DescribeUser
API リクエストを発行します。次の例は、特定のユーザー名の を Identity Store userId
から取得する方法を示しています。IAM Identity Center インスタンスが CLI のデフォルトリージョンにある場合は、 region
パラメータを省略できます。
aws identitystore get-user-id \ --identity-store d-9876543210 \ --alternate-identifier '{ "UniqueAttribute": { "AttributePath": "username", "AttributeValue": "
anyuser@example.com
" } }' \ --region your-region-id
同様に、 がわかっている場合も、同じメカニズムを使用できますexternalId
。前の例の属性パスを externalId
値で更新し、属性値を検索externalId
対象の特定の で更新します。
Microsoft Active Directory (AD) と externalId でのユーザーの Secure Identifier (SID) の表示
場合によっては、IAM Identity Center は、 AWS アクセスポータルや OIDC API が出力するイベントなど、CloudTrail イベントのprincipalId
フィールドにユーザーの SID を出力します。 APIs これらのケースは段階的に廃止されています。AD から一意のユーザー識別子が必要な場合は、ワークフローobjectguid
で AD 属性を使用することをお勧めします。この値は、IAM Identity Center ディレクトリの externalId
属性にあります。ただし、ワークフローで SID を使用する必要がある場合は、IAM Identity Center APIs では使用できないため、AD から値を取得します。
同じユーザーセッション内のユーザーイベントの関連付け では、 フィールドexternalId
と username
フィールドを使用して、IAM Identity Center ユーザーと外部ディレクトリ内の一致するユーザーを関連付ける方法について説明します。デフォルトでは、IAM Identity Center は AD の objectguid
属性externalId
にマッピングされ、このマッピングは修正されています。IAM Identity Center を使用すると、管理者は AD userprincipalname
の へのデフォルトのマッピングusername
とは異なる方法で柔軟にマッピングできます。
これらのマッピングは、IAM Identity Center コンソールで表示できます。設定の ID ソースタブに移動し、アクションメニューで同期の管理を選択します。同期の管理セクションで、属性マッピングの表示ボタンを選択します。
IAM Identity Center で使用可能な一意の AD ユーザー識別子を使用して AD のユーザーを検索できますが、変更不可能な識別子であるため、クエリobjectguid
で を使用することをお勧めします。次の例は、Powershell で Microsoft AD をクエリして、ユーザーの objectguid
の値を使用してユーザーを取得する方法を示しています16809ecc-7225-4c20-ad98-30094aefdbca
。このクエリへの正常なレスポンスには、ユーザーの SID が含まれます。
Install-WindowsFeature -Name RSAT-AD-PowerShell Get-ADUser ` -Filter {objectGUID -eq [GUID]::Parse("16809ecc-7225-4c20-ad98-30094aefdbca")} ` -Properties *