Menyiapkan Browser Penyimpanan untuk S3 - Amazon Simple Storage Service

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

Menyiapkan Browser Penyimpanan untuk S3

Untuk menghubungkan pengguna akhir dengan lokasi Amazon S3, Anda harus terlebih dahulu menyiapkan metode otentikasi dan otorisasi. Ada tiga metode untuk mengatur metode otentikasi dan otorisasi dengan Storage Browser:

Metode 1: Mengelola akses data untuk pelanggan Anda dan mitra pihak ketiga

Dengan metode ini, Anda dapat menggunakan AWS Amplify Auth untuk mengelola kontrol akses dan keamanan untuk file. Metode ini sangat ideal ketika Anda ingin menghubungkan pelanggan Anda atau mitra pihak ketiga dengan data di S3. Dengan opsi ini, pelanggan Anda dapat mengautentikasi menggunakan penyedia identitas sosial atau perusahaan.

Anda memberikan kredensyal IAM kepada pengguna akhir dan mitra pihak ketiga menggunakan AWS Amplify Auth dengan bucket S3 yang dikonfigurasi untuk menggunakan Amplify Storage. AWS Amplify Auth dibangun di Amazon Cognito, identitas pelanggan yang dikelola sepenuhnya dan layanan manajemen akses tempat Anda dapat mengautentikasi dan mengotorisasi pengguna dari direktori pengguna atau direktori perusahaan bawaan, atau dari penyedia identitas konsumen. Model otorisasi Amplify mendefinisikan awalan mana yang dapat diakses oleh pengguna yang diautentikasi saat ini. Untuk informasi selengkapnya tentang cara mengatur otorisasi AWS Amplify, lihat Menyiapkan penyimpanan.

Untuk menginisialisasi komponen dengan metode otentikasi dan penyimpanan Amplify, tambahkan cuplikan kode berikut ke aplikasi web Anda:

import { createAmplifyAuthAdapter, createStorageBrowser, } from '@aws-amplify/ui-react-storage/browser'; import "@aws-amplify/ui-react-storage/styles.css"; import config from './amplify_outputs.json'; Amplify.configure(config); export const { StorageBrowser } = createStorageBrowser({ config: createAmplifyAuthAdapter(), });

Metode 2: Mengelola akses data untuk prinsipal IAM Anda untuk akun Anda AWS

Jika Anda ingin mengelola akses untuk prinsipal IAM atau Akun AWS langsung, Anda dapat membuat peran IAM yang memiliki izin untuk memanggil GetDataAccessOperasi API S3. Untuk mengaturnya, Anda harus membuat instance S3 Access Grants untuk memetakan izin untuk bucket dan awalan tujuan umum S3 ke identitas IAM yang ditentukan. Komponen Storage Browser (yang harus dipanggil di sisi klien setelah mendapatkan kredensi IAM) kemudian akan memanggil ListCallerAccessGrantsOperasi S3 API untuk mengambil hibah yang tersedia untuk pemohon identitas dan mengisi lokasi dalam komponen. Setelah Anda mendapatkan s3:GetDataAccess izin, kredensyal tersebut kemudian digunakan oleh komponen Storage Browser untuk meminta akses data ke S3.

import { createManagedAuthAdapter, createStorageBrowser, } from '@aws-amplify/ui-react-storage/browser'; import "@aws-amplify/ui-react-storage/styles.css"; export const { StorageBrowser } = createStorageBrowser({ config: createManagedAuthAdapter({ credentialsProvider: async (options?: { forceRefresh?: boolean }) => { // return your credentials object return { credentials: { accessKeyId: 'my-access-key-id', secretAccessKey: 'my-secret-access-key', sessionToken: 'my-session-token', expiration: new Date() }, } }, // AWS `region` and `accountId` region: '', accountId: '', // call `onAuthStateChange` when end user auth state changes // to clear sensitive data from the `StorageBrowser` state registerAuthListener: (onAuthStateChange) => {}, }) });

Metode 3: Mengelola akses data dalam skala

Jika Anda ingin mengaitkan instans Hibah Akses S3 ke Pusat Identitas IAM Anda untuk solusi yang lebih skalabel (seperti menyediakan akses data ke seluruh perusahaan Anda), Anda dapat meminta data dari Amazon S3 atas nama pengguna yang diautentikasi saat ini. Misalnya, Anda dapat memberikan grup pengguna di direktori perusahaan Anda akses ke data Anda di S3. Pendekatan ini memungkinkan Anda mengelola izin Hibah Akses S3 secara terpusat untuk pengguna dan grup Anda, termasuk yang dihosting di penyedia eksternal seperti Microsoft Entra, Okta, dan lainnya.

Saat menggunakan metode ini, integrasi dengan Pusat Identitas IAM memungkinkan Anda untuk menggunakan direktori pengguna yang ada. Manfaat lain dari propagasi identitas tepercaya IAM Identity Center adalah bahwa setiap peristiwa AWS CloudTrail data untuk Amazon S3 berisi referensi langsung ke identitas pengguna akhir yang mengakses data S3.

Jika Anda memiliki aplikasi yang mendukung OAuth 2.0 dan pengguna Anda memerlukan akses dari aplikasi ini ke AWS layanan, kami sarankan Anda menggunakan propagasi identitas tepercaya. Dengan propagasi identitas tepercaya, pengguna dapat masuk ke aplikasi, dan aplikasi itu dapat meneruskan identitas pengguna dalam permintaan apa pun yang mengakses data dalam AWS layanan. Aplikasi ini berinteraksi dengan IAM Identity Center atas nama pengguna yang diautentikasi. Untuk informasi selengkapnya, lihat Menggunakan propagasi identitas tepercaya dengan aplikasi yang dikelola pelanggan.

Pengaturan

Untuk mengatur otentikasi Browser Penyimpanan dalam propagasi identitas tepercaya AWS Management Console menggunakan S3 Access Grants dan IAM Identity Center, aplikasi Anda harus meminta data dari Amazon S3 atas nama pengguna yang diautentikasi saat ini. Dengan pendekatan ini, Anda dapat memberi pengguna atau grup pengguna dari direktori perusahaan Anda akses langsung ke bucket, awalan, atau objek S3 Anda. Ini berarti bahwa aplikasi Anda tidak perlu memetakan pengguna ke prinsipal IAM.

Alur kerja berikut menguraikan langkah-langkah untuk menyiapkan Browser Penyimpanan untuk S3, menggunakan IAM Identity Center dan S3 Access Grants:

Langkah-langkah Deskripsi
1 Aktifkan Pusat Identitas IAM untuk Anda AWS Organizations
2 Konfigurasikan federasi Pusat AWS Identity and Access Management Identitas
3 Tambahkan penerbit token tepercaya di konsol Pusat AWS Identity and Access Management Identitas

Penerbit token tepercaya mewakili penyedia identitas eksternal (iDP) Anda dalam IAM Identity Center, memungkinkannya mengenali token identitas untuk pengguna yang diautentikasi aplikasi Anda.

4 Buat peran IAM untuk bootstrap aplikasi dan identity bearer
5 Buat dan konfigurasikan aplikasi Anda di IAM Identity Center

Aplikasi ini berinteraksi dengan IAM Identity Center atas nama pengguna yang diautentikasi.

6 Tambahkan S3 Access Grants sebagai aplikasi tepercaya untuk propagasi identitas

Langkah ini menghubungkan aplikasi Anda ke S3 Access Grants, sehingga dapat membuat permintaan ke S3 Access Grants atas nama pengguna yang diautentikasi.

7 Membuat hibah untuk pengguna atau grup

Langkah ini menyinkronkan pengguna dari AWS Identity and Access Management Identity Center dengan System for Cross-domain Identity Management (SCIM). SCIM menjaga identitas IAM Identity Center Anda tetap sinkron dengan identitas dari penyedia identitas Anda (iDP).

8 Buat Browser Penyimpanan Anda untuk komponen S3

Aktifkan Pusat Identitas IAM untuk Anda AWS Organizations

Untuk mengaktifkan Pusat Identitas IAM untuk Anda AWS Organizations, lakukan langkah-langkah berikut:

  1. Masuk ke AWS Management Console, menggunakan salah satu metode ini:

    1. Baru di AWS (pengguna root) - Masuk sebagai pemilik akun dengan memilih pengguna Root dan memasukkan alamat Akun AWS email Anda. Di laman berikutnya, masukkan kata sandi.

    2. Sudah menggunakan AWS (kredensyal IAM) - Masuk menggunakan kredensyal IAM Anda dengan izin administratif.

  2. Buka konsol Pusat Identitas IAM.

  3. Di bawah Aktifkan Pusat Identitas IAM, pilih Aktifkan.

    catatan

    IAM Identity Center membutuhkan pengaturan. AWS Organizations Jika Anda belum menyiapkan organisasi, Anda dapat memilih untuk AWS membuatnya untuk Anda. Pilih Buat AWS organisasi untuk menyelesaikan proses ini.

  4. Pilih Aktifkan dengan AWS Organizations.

  5. Pilih Lanjutkan.

  6. (Opsional) Tambahkan tag apa pun yang ingin Anda kaitkan dengan instance organisasi ini.

  7. (Opsional) Konfigurasikan administrasi yang didelegasikan.

    catatan

    Jika Anda menggunakan lingkungan multi-akun, sebaiknya Anda mengonfigurasi administrasi yang didelegasikan. Dengan administrasi yang didelegasikan, Anda dapat membatasi jumlah orang yang memerlukan akses ke akun manajemen di AWS Organizations. Untuk informasi selengkapnya, lihat Administrasi yang didelegasikan.

  8. Pilih Simpan.

AWS Organizations secara otomatis mengirimkan email verifikasi ke alamat yang terkait dengan akun manajemen Anda. Mungkin ada waktu tunda sebelum Anda menerima email verifikasi. Pastikan untuk memverifikasi alamat email Anda dalam waktu 24 jam, sebelum email verifikasi Anda kedaluwarsa.

Konfigurasikan federasi Pusat AWS Identity and Access Management Identitas

Untuk menggunakan Browser Penyimpanan untuk S3 dengan pengguna direktori perusahaan, Anda harus mengonfigurasi Pusat Identitas IAM untuk menggunakan penyedia identitas eksternal (iDP). Anda dapat menggunakan penyedia identitas pilihan Anda. Namun, ketahuilah bahwa setiap penyedia identitas menggunakan pengaturan konfigurasi yang berbeda. Untuk tutorial tentang menggunakan penyedia identitas eksternal yang berbeda, lihat tutorial sumber Pusat Identitas IAM.

catatan

Pastikan untuk merekam URL penerbit dan atribut audiens dari penyedia identitas yang telah Anda konfigurasi karena Anda harus merujuknya di langkah selanjutnya. Jika Anda tidak memiliki akses atau izin yang diperlukan untuk mengonfigurasi iDP, Anda mungkin perlu menghubungi administrator iDP eksternal untuk mendapatkannya.

Tambahkan penerbit token tepercaya di konsol Pusat AWS Identity and Access Management Identitas

Penerbit token tepercaya mewakili penyedia identitas eksternal Anda di Pusat AWS Identity and Access Management Identitas, dan mengenali token untuk pengguna yang diautentikasi aplikasi Anda. Pemilik akun instans Pusat Identitas IAM di Anda AWS Organizations harus melakukan langkah-langkah ini. Langkah-langkah ini dapat dilakukan baik di konsol IAM Identity Center, atau secara terprogram.

Untuk menambahkan penerbit token tepercaya di konsol Pusat AWS Identity and Access Management Identitas, lakukan langkah-langkah berikut:

  1. Buka konsol Pusat Identitas IAM.

  2. Pilih Pengaturan.

  3. Pilih tab Otentikasi.

  4. Buka bagian Penerbit token tepercaya, dan isi detail berikut:

    1. Di bawah URL Penerbit, masukkan URL IDP eksternal yang berfungsi sebagai penerbit token tepercaya. Anda mungkin perlu menghubungi administrator iDP eksternal untuk mendapatkan informasi ini. Untuk informasi selengkapnya, lihat Menggunakan aplikasi dengan penerbit token tepercaya.

    2. Di bawah nama penerbit token tepercaya, masukkan nama untuk penerbit token tepercaya. Nama ini akan muncul dalam daftar penerbit token tepercaya yang dapat Anda pilih di Langkah 8, ketika sumber daya aplikasi dikonfigurasi untuk propagasi identitas.

  5. Perbarui atribut Peta Anda ke atribut aplikasi pilihan Anda, di mana setiap atribut penyedia identitas dipetakan ke atribut Pusat Identitas IAM. Misalnya, Anda mungkin ingin memetakan atribut aplikasi email ke atribut email pengguna IAM Identity Center. Untuk melihat daftar atribut pengguna yang diizinkan di Pusat Identitas IAM, lihat tabel di Pemetaan atribut untuk direktori AWS Microsoft AD Terkelola.

  6. (Opsional) Jika Anda ingin menambahkan tag sumber daya, masukkan pasangan kunci dan nilai. Untuk menambahkan beberapa tag sumber daya, pilih Tambahkan tag baru untuk menghasilkan entri baru dan masukkan pasangan kunci dan nilai.

  7. Pilih Buat penerbit token tepercaya.

  8. Setelah Anda selesai membuat penerbit token tepercaya, hubungi administrator aplikasi untuk memberi tahu mereka nama penerbit token tepercaya, sehingga mereka dapat mengonfirmasi bahwa penerbit token tepercaya terlihat di konsol yang berlaku.

  9. Pastikan administrator aplikasi memilih penerbit token tepercaya ini di konsol yang berlaku untuk mengaktifkan akses pengguna ke aplikasi dari aplikasi yang dikonfigurasi untuk propagasi identitas tepercaya.

Buat peran IAM untuk bootstrap aplikasi dan identity bearer

Untuk memastikan bahwa bootstrap aplikasi dan identity bearer pengguna dapat bekerja dengan baik satu sama lain, pastikan untuk membuat dua peran IAM. Satu peran IAM diperlukan untuk bootstrap aplikasi dan peran IAM lainnya harus digunakan untuk pembawa identitas, atau pengguna akhir yang mengakses aplikasi web yang meminta akses melalui S3 Access Grants. bootstrapAplikasi menerima token yang dikeluarkan oleh penyedia identitas dan memanggil CreateTokenWithIAM API, menukar token ini dengan yang dikeluarkan oleh Pusat Identitas.

Buat peran IAM, sepertibootstrap-role, dengan izin seperti berikut ini. Contoh berikut kebijakan IAM memberikan izin bootstrap-role untuk melakukan pertukaran token:

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "sso-oauth:CreateTokenWithIAM", ], "Resource": "arn:${Partition}:sso::${AccountId}:application/${InstanceId}/${ApplicationId}", "Effect": "Allow" }, { "Action": [ "sts:AssumeRole", "sts:SetContext" ], "Resource": "arn:aws:iam::${AccountId}:role/identity-bearer-role", "Effect": "Allow" }] }

Kemudian, buat peran IAM kedua (sepertiidentity-bearer-role), yang digunakan broker identitas untuk menghasilkan kredensi IAM. Kredensi IAM yang dikembalikan dari broker identitas ke aplikasi web digunakan oleh Storage Browser untuk komponen S3 untuk memungkinkan akses ke data S3:

{ "Action": [ "s3:GetDataAccess", "s3:ListCallerAccessGrants", ], "Resource": "arn:${Partition}:s3:${Region}:${Account}:access-grants/default", "Effect": "Allow" }

Peran IAM (identity-bearer-role) ini harus menggunakan kebijakan kepercayaan dengan pernyataan berikut:

{ "Effect": "Allow", "Principal": { "AWS": "arn:${Partition}:iam::${Account}:role/${RoleNameWithPath}" }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] }

Buat dan konfigurasikan aplikasi Anda di IAM Identity Center

catatan

Sebelum memulai, pastikan bahwa Anda telah membuat peran IAM yang diperlukan dari langkah sebelumnya. Anda harus menentukan salah satu peran IAM ini dalam langkah ini.

Untuk membuat dan mengkonfigurasi aplikasi yang dikelola pelanggan di AWS IAM Identity Center, lakukan langkah-langkah berikut:

  1. Buka konsol Pusat Identitas IAM.

  2. Pilih Aplikasi.

  3. Pilih tab yang dikelola Pelanggan.

  4. Pilih Tambahkan aplikasi.

  5. Pada halaman Pilih jenis aplikasi, di bawah preferensi Pengaturan, pilih Saya memiliki aplikasi yang ingin saya atur.

  6. Di bawah Jenis aplikasi, pilih OAuth2.0.

  7. Pilih Berikutnya. Halaman Tentukan aplikasi ditampilkan.

  8. Di bawah bagian Nama dan deskripsi aplikasi, masukkan nama Tampilan untuk aplikasi, sepertistorage-browser-oauth.

  9. Masukkan Deskripsi. Deskripsi aplikasi muncul di konsol IAM Identity Center dan permintaan API, tetapi tidak di portal AWS akses.

  10. Di bawah Metode penugasan pengguna dan grup, pilih Jangan memerlukan tugas. Opsi ini memungkinkan semua pengguna dan grup IAM Identity Center resmi mengakses aplikasi ini.

  11. Di bawah portal AWS akses, masukkan URL aplikasi tempat pengguna dapat mengakses aplikasi.

  12. (Opsional) Jika Anda ingin menambahkan tag sumber daya, masukkan pasangan kunci dan nilai. Untuk menambahkan beberapa tag sumber daya, pilih Tambahkan tag baru untuk menghasilkan entri baru dan masukkan pasangan kunci dan nilai.

  13. Pilih Berikutnya. Halaman Tentukan otentikasi ditampilkan.

  14. Di bawah Otentikasi dengan penerbit token tepercaya, gunakan kotak centang untuk memilih penerbit token tepercaya yang sebelumnya Anda buat.

  15. Di bawah Konfigurasi penerbit token tepercaya yang dipilih, masukkan klaim aud. Klaim aud mengidentifikasi audiens JSON Web Token (JWT), dan itu adalah nama yang digunakan penerbit token tepercaya untuk mengidentifikasi aplikasi ini.

    catatan

    Anda mungkin perlu menghubungi administrator iDP eksternal untuk mendapatkan informasi ini.

  16. Pilih Berikutnya. Halaman Tentukan kredensial otentikasi ditampilkan.

  17. Di bawah Metode konfigurasi, pilih Masukkan satu atau beberapa peran IAM.

  18. Di bawah Masukkan peran IAM, tambahkan peran IAM atau Nama Sumber Daya Amazon (ARN) untuk token pembawa identitas. Anda harus memasukkan peran IAM yang Anda buat dari langkah sebelumnya untuk aplikasi broker identitas (misalnya,bootstrap-role).

  19. Pilih Berikutnya.

  20. Pada halaman Tinjau dan konfigurasi, tinjau detail konfigurasi aplikasi Anda. Jika Anda perlu mengubah salah satu pengaturan, pilih Edit untuk bagian yang ingin Anda edit dan buat perubahan.

  21. Pilih Kirim. Halaman detail aplikasi yang baru saja Anda tambahkan ditampilkan.

Setelah menyiapkan aplikasi, pengguna dapat mengakses aplikasi Anda dari dalam portal AWS akses mereka berdasarkan set izin yang telah Anda buat dan akses pengguna yang telah Anda tetapkan.

Tambahkan S3 Access Grants sebagai aplikasi tepercaya untuk propagasi identitas

Setelah menyiapkan aplikasi yang dikelola pelanggan, Anda harus menentukan S3 Access Grants untuk propagasi identitas. S3 Access Grants memberikan kredensi bagi pengguna untuk mengakses data Amazon S3. Saat Anda masuk ke aplikasi yang dikelola pelanggan, S3 Access Grants akan meneruskan identitas pengguna Anda ke aplikasi tepercaya.

Prasyarat: Pastikan Anda telah menyiapkan S3 Access Grants (seperti membuat instance S3 Access Grants dan mendaftarkan lokasi) sebelum mengikuti langkah-langkah ini. Untuk informasi selengkapnya, lihat Memulai Hibah Akses S3.

Untuk menambahkan S3 Access Grants untuk propagasi identitas ke aplikasi yang dikelola pelanggan Anda, lakukan langkah-langkah berikut:

  1. Buka konsol Pusat Identitas IAM.

  2. Pilih Aplikasi.

  3. Pilih tab yang dikelola Pelanggan.

  4. Dalam daftar aplikasi yang dikelola Pelanggan, pilih aplikasi OAuth 2.0 yang ingin Anda mulai permintaan akses. Ini adalah aplikasi yang akan digunakan pengguna Anda.

  5. Pada halaman Detail, di bawah Aplikasi tepercaya untuk propagasi identitas, pilih Tentukan aplikasi tepercaya.

  6. Di bawah Jenis pengaturan, pilih Aplikasi individual dan tentukan akses, lalu pilih Berikutnya.

  7. Pada halaman Select Service, pilih S3 Access Grants. S3 Access Grants memiliki aplikasi yang dapat Anda gunakan untuk menentukan aplikasi web Anda sendiri untuk propagasi identitas tepercaya.

  8. Pilih Berikutnya. Anda akan memilih aplikasi Anda di langkah berikutnya.

  9. Pada halaman Pilih aplikasi, pilih Aplikasi individual, pilih kotak centang untuk setiap aplikasi yang dapat menerima permintaan akses, lalu pilih Berikutnya.

  10. Pada halaman Konfigurasi akses, di bawah metode Konfigurasi, pilih salah satu dari berikut ini:

    • Pilih akses per aplikasi — Pilih opsi ini untuk mengonfigurasi tingkat akses yang berbeda untuk setiap aplikasi. Pilih aplikasi yang ingin Anda konfigurasikan tingkat aksesnya, lalu pilih Edit akses. Di Tingkat akses untuk diterapkan, ubah tingkat akses sesuai kebutuhan, lalu pilih Simpan perubahan.

    • Terapkan tingkat akses yang sama ke semua aplikasi Pilih opsi ini jika Anda tidak perlu mengonfigurasi tingkat akses per aplikasi.

  11. Pilih Berikutnya.

  12. Pada halaman konfigurasi Tinjauan, tinjau pilihan yang Anda buat.

    catatan

    Anda akan ingin memastikan s3:access_grants:read_write izin diberikan untuk pengguna Anda. Izin ini memungkinkan pengguna Anda untuk mengambil kredensil untuk mengakses Amazon S3. Pastikan untuk menggunakan kebijakan IAM yang Anda buat sebelumnya, atau S3 Access Grants, untuk membatasi akses ke operasi penulisan.

  13. Untuk membuat perubahan, pilih Edit untuk bagian konfigurasi yang ingin Anda ubah. Kemudian, buat perubahan yang diperlukan dan pilih Simpan perubahan.

  14. Pilih aplikasi Trust untuk menambahkan aplikasi tepercaya untuk propagasi identitas.

Membuat hibah untuk pengguna atau grup

Pada langkah ini, Anda menggunakan IAM Identity Center untuk menyediakan pengguna Anda. Anda dapat menggunakan SCIM untuk penyediaan otomatis atau manual pengguna dan grup. SCIM menjaga identitas IAM Identity Center Anda tetap sinkron dengan identitas dari penyedia identitas Anda (iDP). Ini termasuk penyediaan, pembaruan, dan penonaktifan pengguna antara IDP dan Pusat Identitas IAM Anda.

catatan

Langkah ini diperlukan karena ketika S3 Access Grants digunakan dengan IAM Identity Center, pengguna IAM Identity Center lokal tidak digunakan. Sebagai gantinya, pengguna harus disinkronkan dari penyedia identitas dengan IAM Identity Center.

Untuk menyinkronkan pengguna dari penyedia identitas Anda dengan IAM Identity Center, lakukan langkah-langkah berikut:

Untuk contoh cara mengatur penyedia identitas dengan IAM Identity Center untuk kasus penggunaan spesifik Anda, lihat tutorial sumber Identitas Pusat Identitas IAM.

Buat Browser Penyimpanan Anda untuk komponen S3

Setelah menyiapkan instans IAM Identity Center dan membuat hibah di S3 Access Grants, buka aplikasi React Anda. Dalam aplikasi React, gunakan createManagedAuthAdapter untuk mengatur aturan otorisasi. Anda harus menyediakan penyedia kredensi untuk mengembalikan kredensil yang Anda peroleh dari IAM Identity Center. Anda kemudian dapat memanggil createStorageBrowser untuk menginisialisasi Browser Penyimpanan untuk komponen S3:

import { createManagedAuthAdapter, createStorageBrowser, } from '@aws-amplify/ui-react-storage/browser'; import '@aws-amplify/ui-react-storage/styles.css'; export const { StorageBrowser } = createStorageBrowser({ config: createManagedAuthAdapter({ credentialsProvider: async (options?: { forceRefresh?: boolean }) => { // return your credentials object return { credentials: { accessKeyId: 'my-access-key-id', secretAccessKey: 'my-secret-access-key', sessionToken: 'my-session-token', expiration: new Date(), }, } }, // AWS `region` and `accountId` of the S3 Access Grants Instance. region: '', accountId: '', // call `onAuthStateChange` when end user auth state changes // to clear sensitive data from the `StorageBrowser` state registerAuthListener: (onAuthStateChange) => {}, }) });

Kemudian, buat mekanisme untuk menukar token web JSON (JWTs) dari aplikasi web Anda dengan kredensyal IAM dari IAM Identity Center. Untuk informasi selengkapnya tentang cara menukar JWT, lihat sumber daya berikut:

Kemudian, siapkan titik akhir API untuk menangani permintaan untuk mengambil kredensil. Untuk memvalidasi pertukaran token web JSON (JWT), lakukan langkah-langkah berikut:

  1. Ambil token web JSON dari header otorisasi untuk permintaan masuk.

  2. Validasi token menggunakan kunci publik dari URL set kunci web JSON (JWKS) yang ditentukan.

  3. Verifikasi kedaluwarsa token, penerbit, subjek, dan klaim audiens.

Untuk menukar token web JSON penyedia identitas dengan kredensil AWS IAM, lakukan langkah-langkah berikut:

Tip

Pastikan untuk menghindari mencatat informasi sensitif apa pun. Kami menyarankan Anda menggunakan kontrol penanganan kesalahan untuk otorisasi yang hilang, token kedaluwarsa, dan pengecualian lainnya. Untuk informasi selengkapnya, lihat posting Menerapkan pola penanganan AWS Lambda kesalahan di AWS Compute Blog.

  1. Verifikasi bahwa parameter Izin dan Lingkup yang diperlukan disediakan dalam permintaan.

  2. Gunakan CreateTokenWithIAMAPI untuk menukar token web JSON dengan token IAM Identity Center.

    catatan

    Setelah token web iDP JSON digunakan, token tersebut tidak dapat digunakan lagi. Token baru harus digunakan untuk bertukar dengan IAM Identity Center.

  3. Gunakan operasi AssumeRoleAPI untuk mengambil peran sementara menggunakan token IAM Identity Center. Pastikan untuk menggunakan peran pembawa identitas, juga dikenal sebagai peran yang membawa konteks identitas (misalnya,identity-bearer-role) untuk meminta kredensialnya.

  4. Kembalikan kredensi IAM ke aplikasi web.

    catatan

    Pastikan Anda telah menyiapkan mekanisme logging yang tepat. Respons dikembalikan dalam format JSON standar dengan kode status HTTP yang sesuai.