View a markdown version of this page

Memahami klaim token - AWS Identity and Access Management

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

Memahami klaim token

Saat Anda memanggil GetWebIdentityToken API, Layanan Token AWS Keamanan mengembalikan Token Web JSON (JWT) yang ditandatangani yang berisi serangkaian klaim yang mewakili identitas prinsipal IAM. Token ini sesuai dengan RFC 75 19. Memahami struktur dan isi token ini membantu Anda menerapkan alur otentikasi aman, mengonfigurasi validasi klaim yang sesuai di layanan eksternal, dan secara efektif menggunakan klaim khusus untuk kontrol akses yang halus.

JWT mencakup klaim OpenID Connect (OIDC) standar seperti subjek (“sub”), audiens (“aud”), penerbit (“iss”) untuk memfasilitasi interoperabilitas di berbagai layanan eksternal. AWS STS mengisi token dengan klaim AWS khusus identitas (seperti ID AWS Akun dan tag Principal) dan klaim konteks sesi (seperti ARN instans EC2) bila berlaku. Anda juga dapat menambahkan klaim khusus ke token dengan meneruskannya sebagai tag permintaan ke GetWebIdentityToken API. K AWS laim khusus identitas, dan klaim konteks sesi dan klaim khusus bersarang di bawah namespace "https://sts.amazonaws.com/" di token.

Lihat token sampel di bawah ini untuk daftar klaim yang disertakan dalam token. Harap dicatat bahwa semua klaim ini mungkin tidak hadir dalam token pada saat yang bersamaan.

{ "iss": "https://abc123-def456-ghi789-jkl012.tokens.sts.global.api.aws", "aud": "https://api.example.com", "sub": "arn:aws:iam::123456789012:role/DataProcessingRole", "iat": 1700000000, "exp": 1700000900, "jti": "xyz123-def456-ghi789-jkl012", "https://sts.amazonaws.com/": { "aws_account": "123456789012", "source_region": "us-east-1", "org_id": "o-abc1234567", "ou_path": "o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/", "principal_tags": { "environment": "production", "team": "data-engineering", "cost-center": "engineering" }, "lambda_source_function_arn": "arn:aws:lambda:us-east-1:123456789012:function:process-data", "request_tags": { "job-id": "job-2024-001", "priority": "high", "data-classification": "sensitive" } } }

Klaim standar

Klaim OIDC standar yang ada dalam token memfasilitasi interoperabilitas dengan berbagai layanan eksternal. Klaim ini dapat divalidasi menggunakan sebagian besar pustaka JWT.

Klaim Nama Deskripsi Nilai Contoh
is Penerbit URL penerbit khusus akun Anda. Layanan eksternal memvalidasi klaim ini untuk memastikannya cocok dengan penerbit tepercaya mereka. https://abc123-def456-ghi789-jkl012.tokens.sts.global.api.aws
aud Audiens Penerima yang dituju untuk token yang ditentukan dalam GetWebIdentityToken permintaan. https://api.example.com
sub Subjek ARN dari kepala sekolah IAM yang meminta token. Arn:aws:iam: :123456789012: role/DataProcessingRole
is Diterbitkan Pada NumericDate nilai yang mengidentifikasi waktu di mana JWT dikeluarkan. 1700000000
exp Kedaluwarsa NumericDate nilai yang mengidentifikasi waktu kedaluwarsa pada atau setelah itu JWT TIDAK HARUS diterima untuk diproses. 1700000900
jti JWT ID Pengidentifikasi unik untuk contoh token ini. xyz123-def456-ghi789-jkl012

Klaim khusus

Selain klaim OIDC standar, AWS STS menambahkan klaim tentang identitas dan konteks sesi bila berlaku. Anda juga dapat menambahkan klaim Anda sendiri ke token dengan meneruskannya sebagai tag permintaan. Klaim khusus bersarang di bawah https://sts.amazonaws.com/ namespace.

AWS klaim identitas

Klaim ini memberikan informasi terperinci tentang AWS akun, struktur organisasi, dan prinsipal IAM Anda.

Klaim Deskripsi Peta ke Condition Key Nilai Contoh
aws_account ID AWS akun Anda aw: PrincipalAccount 123456789012
sumber_wilayah Wil AWS ayah tempat token diminta aw: RequestedRegion us-east-1
org_id ID AWS Organisasi Anda (jika akun Anda adalah bagian dari organisasi) aws: PrincipalOrg ID o-abc1234567
ou_path Jalur unit organisasi Anda (jika ada) aw: PrincipalOrgPaths o- a1b2c3d4e5/r - ab12/ou -ab12- -ab12-22222222/11111111/ou
tag_utama Tag yang dilampirkan ke sesi peran utama atau asumsi IAM. Ketika token diminta di mana prinsipal IAM yang meminta memiliki tag utama dan tag sesi, tag sesi akan ada di JWT. aw:PrincipalTag/<tag-key> {"environment”: “production”, “team”: “rekayasa data”, “pusat biaya” :"rekayasa "}

Klaim konteks sesi

Klaim ini memberikan informasi tentang lingkungan komputasi dan sesi tempat permintaan token berasal. AWS STS secara otomatis memasukkan klaim ini bila berlaku berdasarkan konteks sesi kepala sekolah yang meminta.

Klaim Deskripsi Peta ke Condition Key Nilai Contoh
asli_session_exp Kapan kredenSIAL sesi peran asli akan kedaluwarsa (untuk peran yang diasumsikan) N/A 2024-01-15 T10:00:00Z
penyedia federasi Nama penyedia identitas untuk sesi federasi aw: FederatedProvider arn:aws:iam: :111122223333:oidc- provider/your_oidc_provider
identity_store_user_id ID pengguna Pusat Identitas IAM toko identitas: UserId pengguna-abc123def456
identity_store_arn ARN dari toko identitas Pusat Identitas toko identitas: IdentityStoreArn arn: aws:identitystore: :123456789012: -abc1234567 identitystore/d
ec2_source_instance_arn ARN instans EC2 yang meminta ec2: SourceInstanceArn arn: aws:ec2: us-timur- 1:123456789012: -abc123def456 instance/i
ec2_instance_source_vpc ID VPC tempat kredentif peran EC2 dikirimkan aws: Ec2InstanceSourceVpc vpc-abc123def456
ec2_instance_source_private_ipv4 Alamat IPv4 pribadi dari instance EC2 aws: Ec2InstanceSourcePrivateIPv4 10.0.1.25
ec2_role_delivery Versi layanan metadata instans ec2: RoleDelivery 2
identitas_sumber Identitas sumber ditetapkan oleh kepala sekolah aws: SourceIdentity admin-pengguna
lambda_source_fungsi_arn ARN dari fungsi memanggil Lambda Lambda: SourceFunctionArn arn: aws:lambda: us-east- 1:123456789012: fungsi: fungsi saya
layanan_penerbitan_kredensi_glue_credential_ AWS Pengidentifikasi layanan lem untuk pekerjaan Lem lem: CredentialIssuingService perekat.amazonaws.com

Minta tag

Anda dapat menambahkan klaim khusus ke token dengan menentukan tag dalam permintaan GetWebIdentityToken API. Klaim ini muncul di bawah bidang request_tags di token dan memungkinkan Anda untuk menyampaikan informasi spesifik yang dapat digunakan layanan eksternal untuk keputusan otorisasi yang halus. Anda dapat menentukan hingga 50 tag per permintaan.

Contoh permintaan:

response = sts_client.get_web_identity_token( Audience=['https://api.example.com'], SigningAlgorithm='ES384', Tags=[ {'Key': 'team', 'Value': 'data-engineering'}, {'Key': 'cost-center', 'Value': 'analytics'}, {'Key': 'environment', 'Value': 'production'} ] )

Klaim yang dihasilkan dalam token:

{ "request_tags": { "team": "data-engineering", "cost-center": "analytics", "environment": "production" } }