Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menulis aplikasi Anda untuk menggunakan federasi identitas web
Untuk menggunakan federasi identitas web, aplikasi Anda harus mengasumsikan peran IAM yang Anda buat. Sejak saat itu, aplikasi menghormati kebijakan akses yang Anda lampirkan pada peran tersebut.
Saat runtime, jika aplikasi Anda menggunakan federasi identitas web, aplikasi harus mengikuti langkah-langkah berikut:
-
Autentikasi dengan penyedia identitas pihak ketiga. Aplikasi Anda harus memanggil penyedia identitas menggunakan antarmuka yang mereka sediakan. Cara yang tepat di mana Anda mengautentikasi pengguna bergantung pada penyedia dan pada platform apa aplikasi Anda berjalan. Biasanya, jika pengguna belum masuk, penyedia identitas berperan untuk menampilkan halaman masuk untuk penyedia tersebut.
Setelah penyedia identitas mengautentikasi pengguna, penyedia mengembalikan token identitas web ke aplikasi Anda. Format token ini bergantung pada penyedia, tetapi biasanya berupa string karakter yang sangat panjang.
-
Dapatkan kredensyal AWS keamanan sementara. Untuk melakukan ini, aplikasi Anda mengirimkan permintaan
AssumeRoleWithWebIdentityuntuk AWS Security Token Service (AWS STS). Permintaan ini berisi hal berikut ini:-
Token identitas web dari langkah sebelumnya
-
ID aplikasi dari penyedia identitas
-
Amazon Resource Name (ARN) dari peran IAM yang Anda buat untuk penyedia identitas ini untuk aplikasi ini
AWS STS mengembalikan satu set kredensi AWS keamanan yang kedaluwarsa setelah jangka waktu tertentu (3.600 detik, secara default).
Berikut ini adalah sampel permintaan dan respons dari tindakan
AssumeRoleWithWebIdentitydalam AWS STS. Token identitas web diperoleh dari penyedia identitas Login with Amazon.GET / HTTP/1.1 Host: sts.amazonaws.com Content-Type: application/json; charset=utf-8 URL: https://sts.amazonaws.com/?ProviderId=www.amazon.com &DurationSeconds=900&Action=AssumeRoleWithWebIdentity &Version=2011-06-15&RoleSessionName=web-identity-federation &RoleArn=arn:aws:iam::123456789012:role/GameRole &WebIdentityToken=Atza|IQEBLjAsAhQluyKqyBiYZ8-kclvGTYM81e...(remaining characters omitted)<AssumeRoleWithWebIdentityResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> <AssumeRoleWithWebIdentityResult> <SubjectFromWebIdentityToken>amzn1.account.AGJZDKHJKAUUSW6C44CHPEXAMPLE</SubjectFromWebIdentityToken> <Credentials> <SessionToken>AQoDYXdzEMf//////////wEa8AP6nNDwcSLnf+cHupC...(remaining characters omitted)</SessionToken> <SecretAccessKey>8Jhi60+EWUUbbUShTEsjTxqQtM8UKvsM6XAjdA==</SecretAccessKey> <Expiration>2013-10-01T22:14:35Z</Expiration> <AccessKeyId>06198791C436IEXAMPLE</AccessKeyId> </Credentials> <AssumedRoleUser> <Arn>arn:aws:sts::123456789012:assumed-role/GameRole/web-identity-federation</Arn> <AssumedRoleId>AROAJU4SA2VW5SZRF2YMG:web-identity-federation</AssumedRoleId> </AssumedRoleUser> </AssumeRoleWithWebIdentityResult> <ResponseMetadata> <RequestId>c265ac8e-2ae4-11e3-8775-6969323a932d</RequestId> </ResponseMetadata> </AssumeRoleWithWebIdentityResponse> -
-
Akses AWS sumber daya. Respons dari AWS STS berisi informasi yang dibutuhkan aplikasi Anda untuk mengakses sumber daya DynamoDB:
-
Bidang
AccessKeyID,SecretAccessKey, danSessionTokenberisi kredensial keamanan yang valid hanya untuk pengguna dan aplikasi ini. -
Bidang
Expirationmenandakan batas waktu untuk kredensial ini, setelah itu mereka tidak lagi valid. -
Bidang
AssumedRoleIdberisi nama peran IAM khusus sesi yang telah diasumsikan oleh aplikasi. Aplikasi ini menghormati kontrol akses dalam dokumen kebijakan IAM selama sesi ini. -
Bidang
SubjectFromWebIdentityTokenberisi ID unik yang muncul dalam variabel kebijakan IAM untuk penyedia identitas khusus ini. Berikut ini adalah variabel kebijakan IAM untuk penyedia yang didukung, dan beberapa contoh nilai untuk mereka:Variabel Kebijakan Nilai Contoh ${www.amazon.com:user_id}amzn1.account.AGJZDKHJKAUUSW6C44CHPEXAMPLE${graph.facebook.com:id}123456789${accounts.google.com:sub}123456789012345678901
-
Untuk kebijakan IAM contoh di mana variabel kebijakan ini digunakan, lihat Kebijakan Contoh: Menggunakan ketentuan untuk kontrol parameter terperinci.
Untuk informasi selengkapnya tentang cara AWS STS menghasilkan kredensil akses sementara, lihat Meminta Kredensil Keamanan Sementara di Panduan Pengguna IAM.