CloudTrail elemen UserIdentity - AWS CloudTrail

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

CloudTrail elemen UserIdentity

AWS Identity and Access Management (IAM) menyediakan berbagai jenis identitas. userIdentityElemen berisi rincian tentang jenis identitas IAM yang membuat permintaan, dan kredensi mana yang digunakan. Jika kredensil sementara digunakan, elemen menunjukkan bagaimana kredensil diperoleh.

Contoh

userIdentitydengan kredensi pengguna IAM

Contoh berikut menunjukkan userIdentity elemen permintaan sederhana yang dibuat dengan kredensil dari pengguna IAM bernama. Alice

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

userIdentitydengan kredensil keamanan sementara

Contoh berikut menunjukkan userIdentity elemen untuk permintaan yang dibuat dengan kredensil keamanan sementara yang diperoleh dengan mengasumsikan peran IAM. Elemen berisi rincian tambahan tentang peran yang diasumsikan untuk mendapatkan kredensil.

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

userIdentityuntuk permintaan yang dibuat atas nama pengguna IAM Identity Center

Contoh berikut menunjukkan userIdentity elemen untuk permintaan yang dibuat atas nama pengguna IAM Identity Center.

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

Bidang

Bidang berikut dapat muncul dalam userIdentity elemen.

type

Jenis identitas. Nilai-nilai berikut dimungkinkan:

  • Root— Permintaan dibuat dengan Akun AWS kredensialmu. Jika userIdentity jenisnyaRoot, dan Anda menetapkan alias untuk akun Anda, userName bidang berisi alias akun Anda. Untuk informasi selengkapnya, lihat Akun AWS ID Anda dan aliasnya.

  • IAMUser— Permintaan dibuat dengan kredensil pengguna IAM.

  • AssumedRole— Permintaan dibuat dengan kredenal keamanan sementara yang diperoleh dengan peran dengan melakukan panggilan ke AWS Security Token Service (AWS STS) AssumeRoleAPI. Ini dapat mencakup peran untuk Amazon EC2 dan akses API lintas akun.

  • Role— Permintaan dibuat dengan identitas IAM persisten yang memiliki izin khusus. Penerbit sesi peran selalu menjadi peran. Untuk informasi selengkapnya tentang peran, lihat Istilah dan konsep peran dalam Panduan Pengguna IAM.

  • FederatedUser— Permintaan dibuat dengan kredensil keamanan sementara yang diperoleh dari panggilan ke API. AWS STS GetFederationToken sessionIssuerElemen menunjukkan apakah API dipanggil dengan kredenal pengguna root atau IAM.

    Untuk informasi selengkapnya tentang kredensial keamanan sementara, lihat Kredensial Keamanan Sementara dalam Panduan Pengguna IAM.

  • Directory— Permintaan dibuat ke layanan direktori, dan jenisnya tidak diketahui. Layanan direktori meliputi yang berikut: Amazon WorkDocs dan Amazon QuickSight.

  • AWSAccountPermintaan itu dibuat oleh orang lain Akun AWS

  • AWSService— Permintaan itu dibuat oleh seorang Akun AWS yang menjadi milik sebuah Layanan AWS. Misalnya, AWS Elastic Beanstalk mengasumsikan peran IAM di akun Anda untuk menelepon orang lain Layanan AWS atas nama Anda.

  • IdentityCenterUser— Permintaan dibuat atas nama pengguna IAM Identity Center.

  • Unknown— Permintaan dibuat dengan tipe identitas yang tidak CloudTrail dapat ditentukan.

Opsional: Salah

AWSAccountdan AWSService muncul type di log Anda ketika ada akses lintas akun menggunakan peran IAM yang Anda miliki.

Contoh: Akses lintas akun yang diprakarsai oleh akun lain AWS
  1. Anda memiliki peran IAM di akun Anda.

  2. AWS Akun lain beralih ke peran itu untuk mengambil peran untuk akun Anda.

  3. Karena Anda memiliki peran IAM, Anda menerima log yang menunjukkan akun lain yang mengambil peran tersebut. type adalah AWSAccount. Untuk contoh entri log, lihat peristiwa AWS STS API di file CloudTrail log.

Contoh: Akses lintas akun yang diprakarsai oleh layanan AWS
  1. Anda memiliki peran IAM di akun Anda.

  2. AWS Akun yang dimiliki oleh AWS layanan mengasumsikan peran itu.

  3. Karena Anda memiliki peran IAM, Anda menerima log yang menunjukkan AWS layanan mengambil peran tersebut. type adalah AWSService.

userName

Nama ramah dari identitas yang membuat panggilan. Nilai yang muncul di userName didasarkan pada nilai dalamtype. Tabel berikut menunjukkan hubungan antara type danuserName:

type userName Deskripsi
Root(tidak ada set alias) Tidak hadir Jika Anda belum menyiapkan alias untuk Anda Akun AWS, userName bidang tidak muncul. Untuk informasi selengkapnya tentang alias akun, lihat Akun AWS ID Anda dan aliasnya. Perhatikan bahwa userName bidang tidak dapat berisiRoot, karena Root merupakan tipe identitas dan bukan nama pengguna.
Root(alias set) Alias akun Untuk informasi selengkapnya tentang Akun AWS alias, lihat Akun AWS ID Anda dan aliasnya.
IAMUser Nama pengguna pengguna IAM

AssumedRole

Tidak hadir Untuk AssumedRole jenisnya, Anda dapat menemukan userName bidang sessionContext sebagai bagian dari elemen SessionIssuer. Untuk entri contoh, lihatContoh.

Role

Ditentukan pengguna sessionIssuerBagian sessionContext dan berisi informasi tentang identitas yang mengeluarkan sesi untuk peran tersebut.
FederatedUser Tidak hadir sessionIssuerBagian sessionContext dan berisi informasi tentang identitas yang mengeluarkan sesi untuk pengguna federasi.
Directory Bisa hadir Misalnya, nilainya bisa berupa alias akun atau alamat email dari Akun AWS ID terkait.
AWSService Tidak hadir
AWSAccount Tidak hadir
IdentityCenterUser Tidak hadir onBehalfOfBagian ini berisi informasi tentang ID pengguna Pusat Identitas IAM dan ARN toko identitas tempat panggilan dilakukan. Untuk informasi selengkapnya tentang Pusat Identitas IAM, lihat Panduan AWS IAM Identity Center Pengguna.
Unknown Bisa hadir Misalnya, nilainya bisa berupa alias akun atau alamat email dari Akun AWS ID terkait.
catatan

userNameBidang berisi string HIDDEN_DUE_TO_SECURITY_REASONS ketika peristiwa yang direkam adalah kegagalan masuk konsol yang disebabkan oleh input nama pengguna yang salah. CloudTrail tidak merekam konten dalam kasus ini karena teks dapat berisi informasi sensitif, seperti dalam contoh berikut:

  • Pengguna secara tidak sengaja mengetikkan kata sandi di bidang nama pengguna.

  • Pengguna mengklik tautan untuk halaman masuk satu AWS akun, tetapi kemudian mengetikkan nomor akun untuk yang berbeda.

  • Pengguna secara tidak sengaja mengetikkan nama akun akun email pribadi, pengenal masuk bank, atau ID pribadi lainnya.

Opsional: Benar

principalId

Pengidentifikasi unik untuk entitas yang melakukan panggilan. Untuk permintaan yang dibuat dengan kredensil keamanan sementara, nilai ini mencakup nama sesi yang diteruskan keAssumeRole,AssumeRoleWithWebIdentity, atau panggilan GetFederationToken API.

Opsional: Benar

arn

Nama Sumber Daya Amazon (ARN) dari kepala sekolah yang melakukan panggilan. Bagian terakhir dari arn berisi pengguna atau peran yang melakukan panggilan.

Opsional: Benar

accountId

Akun yang memiliki entitas yang memberikan izin untuk permintaan tersebut. Jika permintaan dibuat dengan kredensil keamanan sementara, ini adalah akun yang memiliki pengguna IAM atau peran yang digunakan untuk mendapatkan kredensil.

Jika permintaan dibuat dengan token akses resmi IAM Identity Center, ini adalah akun yang memiliki instans Pusat Identitas IAM.

Opsional: Benar

accessKeyId

ID kunci akses yang digunakan untuk menandatangani permintaan. Jika permintaan dibuat dengan kredensil keamanan sementara, ini adalah ID kunci akses dari kredenal sementara. Untuk alasan keamanan, accessKeyId mungkin tidak ada, atau mungkin ditampilkan sebagai string kosong.

Opsional: Benar

sessionContext

Jika permintaan dibuat dengan kredensil keamanan sementara, sessionContext berikan informasi tentang sesi yang dibuat untuk kredensil tersebut. Anda membuat sesi saat memanggil API apa pun yang mengembalikan kredensi sementara. Pengguna juga membuat sesi saat mereka bekerja di konsol dan membuat permintaan dengan API yang menyertakan otentikasi multi-faktor. Atribut berikut dapat muncul disessionContext:

  • sessionIssuerJika pengguna membuat permintaan dengan kredensil keamanan sementara, sessionIssuer memberikan informasi tentang bagaimana pengguna memperoleh kredensil. Misalnya, jika mereka memperoleh kredensil keamanan sementara dengan mengambil peran, elemen ini memberikan informasi tentang peran yang diasumsikan. Jika mereka memperoleh kredensil dengan kredensi pengguna root atau IAM untuk dipanggil AWS STS GetFederationToken, elemen tersebut memberikan informasi tentang akun root atau pengguna IAM. Elemen ini memiliki atribut berikut:

    • type— Sumber kredensil keamanan sementara, seperti, RootIAMUser, atau. Role

    • userName— Nama ramah pengguna atau peran yang mengeluarkan sesi. Nilai yang muncul tergantung pada sessionIssuer identitastype. Tabel berikut menunjukkan hubungan antara sessionIssuer type danuserName:

      sessionIssuerjenis userName Deskripsi
      Root(tidak ada set alias) Tidak hadir Jika Anda belum menyiapkan alias untuk akun Anda, userName bidang tidak muncul. Untuk informasi selengkapnya tentang Akun AWS alias, lihat Akun AWS ID Anda dan aliasnya. Perhatikan bahwa userName bidang tidak dapat berisiRoot, karena Root merupakan tipe identitas, bukan nama pengguna.
      Root(alias set) Alias akun Untuk informasi selengkapnya tentang Akun AWS alias, lihat ID AWS akun Anda dan aliasnya.
      IAMUser Nama pengguna pengguna IAM Ini juga berlaku ketika pengguna federasi menggunakan sesi yang dikeluarkan olehIAMUser.
      Role Nama peran Peran yang diasumsikan oleh pengguna IAM, Layanan AWS, atau pengguna federasi identitas web dalam sesi peran.
    • principalId— ID internal entitas yang digunakan untuk mendapatkan kredensil.

    • arnARN dari sumber (akun, pengguna IAM, atau peran) yang digunakan untuk mendapatkan kredensil keamanan sementara.

    • accountId— Akun yang memiliki entitas yang digunakan untuk mendapatkan kredensil.

  • webIdFederationData— Jika permintaan dibuat dengan kredenal keamanan sementara yang diperoleh oleh federasi identitas web, webIdFederationData daftar informasi tentang penyedia identitas.

    Elemen ini memiliki atribut berikut:

    • federatedProvider— Nama utama penyedia identitas (misalnya, www.amazon.com untuk Login with Amazon atau accounts.google.com untuk Google).

    • attributes— ID aplikasi dan ID pengguna seperti yang dilaporkan oleh penyedia (misalnya, www.amazon.com:app_id dan www.amazon.com:user_id untuk Login with Amazon).

    catatan

    Kelalaian bidang ini atau keberadaan bidang ini dengan nilai kosong menandakan bahwa tidak ada informasi tentang penyedia identitas.

  • creationDate— Tanggal dan waktu ketika kredensil keamanan sementara dikeluarkan. Diwakili dalam notasi dasar ISO 8601.

  • mfaAuthenticated— Nilainya adalah true jika pengguna root atau pengguna IAM yang menggunakan kredensialnya untuk permintaan tersebut juga diautentikasi dengan perangkat MFA; jika tidak,. false

  • sourceIdentity— Lihat AWS STS identitas sumber di topik ini. sourceIdentityBidang terjadi dalam peristiwa ketika pengguna mengambil peran IAM untuk melakukan tindakan. sourceIdentitymengidentifikasi identitas pengguna asli yang membuat permintaan, apakah identitas pengguna tersebut adalah pengguna IAM, peran IAM, pengguna yang diautentikasi melalui federasi berbasis SAML, atau pengguna yang diautentikasi melalui federasi identitas web yang sesuai dengan OpenID Connect (OIDC). Untuk informasi selengkapnya tentang mengonfigurasi AWS STS untuk mengumpulkan informasi identitas sumber, lihat Memantau dan mengontrol tindakan yang diambil dengan peran yang diasumsikan dalam Panduan Pengguna IAM.

  • ec2RoleDelivery— Nilainya adalah 1.0 jika kredensialnya disediakan oleh Amazon EC2 Instans Metadata Service Version 1 (IMDSv1). Nilainya adalah 2.0 jika kredensil diberikan menggunakan skema IMDS baru.

    AWS kredensional yang disediakan oleh Amazon EC2 Instance Metadata Service (IMDS) menyertakan kunci konteks ec2: IAM. RoleDelivery Kunci konteks ini memudahkan untuk menerapkan penggunaan skema baru atas resource-by-resource dasar service-by-service atau dengan menggunakan kunci konteks sebagai syarat dalam kebijakan IAM, kebijakan sumber daya, atau kebijakan kontrol AWS Organizations layanan. Untuk informasi selengkapnya, lihat Metadata instans dan data pengguna di Panduan Pengguna Amazon EC2.

Opsional: Benar

invokedBy

Nama Layanan AWS yang membuat permintaan, ketika permintaan dibuat oleh Layanan AWS seperti Amazon EC2 Auto Scaling atau. AWS Elastic Beanstalk Bidang ini hanya ada ketika permintaan dibuat oleh Layanan AWS. Ini termasuk permintaan yang dibuat oleh layanan menggunakan sesi akses maju (FAS), Layanan AWS kepala sekolah, peran terkait layanan, atau peran layanan yang digunakan oleh file. Layanan AWS

Opsional: Benar

onBehalfOf

Jika permintaan dibuat oleh penelepon IAM Identity Center, onBehalfOf berikan informasi tentang ID pengguna IAM Identity Center dan ARN toko identitas tempat panggilan dilakukan. Elemen ini memiliki atribut berikut:

  • userId— ID pengguna IAM Identity Center yang panggilan dilakukan atas nama.

  • identityStoreArn— ARN dari toko identitas IAM Identity Center tempat panggilan dilakukan atas nama.

Opsional: Benar

credentialId

ID kredensi untuk permintaan tersebut. Ini hanya diatur ketika penelepon menggunakan token pembawa, seperti token akses resmi IAM Identity Center.

Opsional: Benar

Nilai untuk AWS STS API dengan SAFL dan federasi identitas web

AWS CloudTrail mendukung logging AWS Security Token Service (AWS STS) panggilan API yang dilakukan dengan Security Assertion Markup Language (SAMB) dan federasi identitas web. Saat pengguna melakukan panggilan ke AssumeRoleWithWebIdentityAPI AssumeRoleWithSAMLdan, CloudTrail merekam panggilan dan mengirimkan acara ke bucket Amazon S3 Anda.

userIdentityElemen untuk API ini berisi nilai-nilai berikut.

type

Tipe identitas.

  • SAMLUserPermintaan itu dibuat dengan pernyataan SAFL.

  • WebIdentityUser— Permintaan dibuat oleh penyedia federasi identitas web.

principalId

Pengidentifikasi unik untuk entitas yang melakukan panggilan.

  • SebabSAMLUser, ini adalah kombinasi dari tombol saml:namequalifier dan saml:sub tombol.

  • SebabWebIdentityUser, ini adalah kombinasi dari penerbit, ID aplikasi, dan ID pengguna.

userName

Nama identitas yang membuat panggilan.

  • SebabSAMLUser, inilah saml:sub kuncinya.

  • UntukWebIdentityUser, ini adalah ID pengguna.

identityProvider

Nama utama penyedia identitas eksternal. Bidang ini hanya muncul untuk SAMLUser atau WebIdentityUser jenis.

  • SebabSAMLUser, ini adalah saml:namequalifier kunci untuk pernyataan SAFL.

  • UntukWebIdentityUser, ini adalah nama penerbit penyedia federasi identitas web. Ini bisa menjadi penyedia yang Anda konfigurasikan, seperti berikut ini:

    • cognito-identity.amazon.comuntuk Amazon Cognito

    • www.amazon.comuntuk Login with Amazon

    • accounts.google.comuntuk Google

    • graph.facebook.comuntuk Facebook

Berikut ini adalah userIdentity elemen contoh untuk AssumeRoleWithWebIdentity tindakan.

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

Misalnya log tentang bagaimana userIdentity elemen muncul SAMLUser dan WebIdentityUser tipe, lihat Logging IAM dan panggilan AWS STS API dengan AWS CloudTrail.

AWS STS identitas sumber

Administrator IAM dapat mengonfigurasi AWS Security Token Service untuk mengharuskan pengguna menentukan identitas mereka ketika mereka menggunakan kredensi sementara untuk mengambil peran. sourceIdentityField terjadi dalam peristiwa ketika pengguna mengambil peran IAM atau melakukan tindakan apa pun dengan peran yang diasumsikan.

sourceIdentityBidang mengidentifikasi identitas pengguna asli yang membuat permintaan, apakah identitas pengguna tersebut adalah pengguna IAM, peran IAM, pengguna yang diautentikasi dengan menggunakan federasi berbasis SAML, atau pengguna yang diautentikasi dengan menggunakan federasi identitas web yang sesuai dengan OpenID Connect (OIDC). Setelah administrator IAM mengonfigurasi AWS STS, CloudTrail mencatat sourceIdentity informasi dalam peristiwa dan lokasi berikut dalam catatan peristiwa:

  • AssumeRoleWithWebIdentityPanggilan AWS STS AssumeRoleAssumeRoleWithSAML,, atau yang dibuat identitas pengguna ketika mengambil peran. sourceIdentityditemukan di requestParameters blok AWS STS panggilan.

  • AssumeRoleWithWebIdentityPanggilan AWS STS AssumeRoleAssumeRoleWithSAML,, atau yang dibuat identitas pengguna jika menggunakan peran untuk mengambil peran lain, yang dikenal sebagai rantai peran. sourceIdentityditemukan di requestParameters blok AWS STS panggilan.

  • API AWS layanan memanggil identitas pengguna yang dibuat saat mengambil peran dan menggunakan kredenal sementara yang ditetapkan oleh. AWS STS Dalam peristiwa API layanansourceIdentity, ditemukan di sessionContext blok. Misalnya, jika identitas pengguna membuat bucket S3 baru, sourceIdentity terjadi di sessionContext blok CreateBucket acara.

Untuk informasi selengkapnya tentang cara mengonfigurasi AWS STS untuk mengumpulkan informasi identitas sumber, lihat Memantau dan mengontrol tindakan yang diambil dengan peran yang diasumsikan dalam Panduan Pengguna IAM. Untuk informasi selengkapnya tentang AWS STS peristiwa yang dicatat CloudTrail, lihat Pencatatan panggilan IAM dan AWS STS API AWS CloudTrail di Panduan Pengguna IAM.

Berikut ini adalah contoh cuplikan peristiwa yang menunjukkan bidang. sourceIdentity

requestParametersBagian contoh

Dalam contoh cuplikan peristiwa berikut, pengguna membuat AWS STS AssumeRole permintaan, dan menetapkan identitas sumber, diwakili di sini oleh. source-identity-value-set Pengguna mengasumsikan peran yang diwakili oleh peran ARNarn:aws:iam::123456789012:role/Assumed_Role. sourceIdentityBidang berada di requestParameters blok acara.

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

responseElementsBagian contoh

Dalam contoh cuplikan peristiwa berikut, pengguna membuat AWS STS AssumeRole permintaan untuk mengambil peran bernamaDeveloper_Role, dan menetapkan identitas sumber,. Admin Pengguna mengasumsikan peran yang diwakili oleh peran ARNarn:aws:iam::111122223333:role/Developer_Role. sourceIdentityBidang ditampilkan di responseElements blok requestParameters dan blok acara. Kredensi sementara yang digunakan untuk mengambil peran, string token sesi, dan ID peran yang diasumsikan, nama sesi, dan ARN sesi ditampilkan di responseElements blok, bersama dengan identitas sumber.

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

sessionContextBagian contoh

Dalam contoh cuplikan peristiwa berikut, pengguna mengasumsikan peran bernama DevRole untuk memanggil API layanan. AWS Pengguna menetapkan identitas sumber, diwakili di sini oleh source-identity-value-set. sourceIdentityBidang ada di sessionContext blok, di dalam userIdentity blok acara.

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