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