View a markdown version of this page

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 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 atau mitra pihak ketiga dengan data di S3. Dengan opsi ini, pelanggan Anda dapat melakukan otentikasi menggunakan penyedia identitas sosial atau perusahaan.

Anda memberikan kredentif 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 atas Amazon Cognito, layanan manajemen akses dan identitas pelanggan yang dikelola sepenuhnya di mana Anda dapat mengotentikasi dan mengotorisasi pengguna dari direktori pengguna bawaan atau direktori perusahaan, 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 untuk AWS Amplify, lihat Mengatur 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 AWS akun

Jika Anda ingin mengelola akses untuk prinsipal IAM Anda atau Akun AWS secara langsung, Anda dapat membuat peran IAM yang memiliki izin untuk memanggil operasi API S3. GetDataAccess Untuk menyiapkannya, Anda harus membuat instance S3 Access Grants untuk memetakan izin untuk bucket tujuan umum S3 dan awalan ke identitas IAM yang ditentukan. Komponen Storage Browser (yang harus dipanggil di sisi klien setelah mendapatkan kredenSIAL IAM) kemudian akan memanggil operasi ListCallerAccessGrants S3 API untuk mengambil hibah yang tersedia kepada pemohon identitas dan mengisi lokasi di komponen. Setelah Anda mendapatkan s3:GetDataAccess izin, kredenSIAL 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 besar

Jika Anda ingin mengaitkan instance S3 Access Grants 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 S3 Access Grants 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 terpercaya 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, sebaiknya gunakan propagasi identitas tepercaya. Dengan propagasi identitas tepercaya, pengguna dapat masuk ke aplikasi, dan aplikasi tersebut dapat meneruskan identitas pengguna dalam permintaan apa pun yang mengakses data dalam AWS layanan. Aplikasi ini berinteraksi dengan Pusat Identitas IAM atas nama pengguna yang diautentikasi. Untuk informasi selengkapnya, lihat Menggunakan propagasi identitas tepercaya dengan aplikasi yang dikelola pelanggan.

Propagasi identitas tepercaya adalah AWS IAM Identity Center fitur yang Layanan AWS dapat digunakan administrator yang terhubung untuk memberikan dan mengaudit akses ke data layanan. Akses ke data ini didasarkan pada atribut pengguna seperti asosiasi grup. Menyiapkan propagasi identitas tepercaya memerlukan kolaborasi antara administrator yang terhubung Layanan AWS dan administrator Pusat Identitas IAM. Untuk informasi selengkapnya, lihat Pras yarat dan pertimbangan.

Pengaturan

Untuk mengatur otentikasi Browser Penyimpanan Konsol Manajemen AWS menggunakan S3 Access Grants dan propagasi identitas terpercaya IAM Identity Center, aplikasi Anda harus meminta data dari Amazon S3 atas nama pengguna yang diautentikasi saat ini. Dengan pendekatan ini, Anda dapat memberikan 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 apa pun ke prinsipal IAM.

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

Langkah-langkah Deskripsi
1 Aktifkan Pusat Identitas IAM untuk AWS Organizations
2 Konfigurasi AWS Identity and Access Management Federasi Pusat Identitas
3 Tambahkan penerbit token tepercaya di AWS Identity and Access Management Konsol Pusat Identitas

Penerbit token tepercaya mewakili penyedia identitas eksternal (IdP) Anda dalam Pusat Identitas IAM, memungkinkannya mengenali token identitas untuk pengguna yang diautentikasi aplikasi Anda.

4 Buat peran IAM untuk aplikasi bootstrap dan pembawa identitas
5 Membuat dan mengkonfigurasi aplikasi Anda di Pusat Identitas IAM

Aplikasi ini berinteraksi dengan Pusat Identitas IAM 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 aplikasi tersebut 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 Pusat Identitas IAM Anda sinkron dengan identitas dari penyedia identitas (IdP) Anda.

8 Buat Browser Penyimpanan Anda untuk komponen S3

Aktifkan Pusat Identitas IAM untuk AWS Organizations

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

  1. Masuk ke Konsol Manajemen AWS, menggunakan salah satu metode berikut:

    1. Baru untuk 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 (kredenSIAL IAM) - Masuk menggunakan kredenSIAL IAM Anda dengan izin administratif.

  2. Buka konsol Pusat Identi tas IAM.

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

    catatan

    Pusat Identitas IAM memerlukan penyiapan 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 mengirim 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.

Konfigurasi AWS Identity and Access Management Federasi Pusat Identitas

Untuk menggunakan Storage Browser 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, perlu diketahui bahwa setiap penyedia identitas menggunakan pengaturan konfigurasi yang berbeda. Untuk tutorial 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 perlu 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 AWS Identity and Access Management Konsol Pusat 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 AWS Identity and Access Management Identity Center, lakukan langkah-langkah berikut:

  1. Buka konsol Pusat Identi tas IAM.

  2. Pilih Pengaturan.

  3. Pilih tab O tentikasi.

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

    1. Di bawah URL Pener bit, 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 memet akan atribut aplikasi email ke atribut email pengguna Pusat Identitas IAM. Untuk melihat daftar atribut pengguna yang diizinkan di Pusat Identitas IAM, lihat tabel di Pemetaan atribut untuk direktori Microsoft AD yang AWS dikelola.

  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 aplikasi bootstrap dan pembawa identitas

Untuk memastikan bahwa bootstrap aplikasi dan identity bearer pengguna dapat bekerja dengan benar 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 kebijakan IAM berikut 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 kredenSIAL IAM. KredenSIAL IAM yang dikembalikan dari broker identitas ke aplikasi web digunakan oleh komponen Browser Penyimpanan untuk 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 ini (identity-bearer-role) harus menggunakan kebijakan kepercayaan dengan pernyataan berikut:

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

Membuat dan mengkonfigurasi aplikasi Anda di Pusat Identitas IAM

catatan

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

Untuk membuat dan mengonfigurasi aplikasi yang dikelola pelanggan di Pusat Identitas AWS IAM, lakukan langkah-langkah berikut:

  1. Buka konsol Pusat Identi tas IAM.

  2. Pilih Aplikasi.

  3. Pilih tab Customer managed.

  4. Pilih Tambahkan aplikasi.

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

  6. Di bawah Jenis aplikasi, pilih OAuth 2.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 Pusat Identitas IAM dan permintaan API, tetapi tidak di portal AWS akses.

  10. Di bawah Metode penugasan pengguna dan grup, pilih Tidak 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 T entukan otentikasi ditampilkan.

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

  15. Di bawah Konfigurasikan penerbit token tepercaya yang dipilih, masukkan klaim https://docs.aws.amazon.com/singlesignon/latest/userguide/trusted-token-issuer-configuration-settings.html#trusted-token-issuer-aud-claim aud. K laim 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 T entukan kredentif 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 kumpulan 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 menjual kredenSIAL 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 dengan S3 Access Grants.

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

  1. Buka konsol Pusat Identi tas IAM.

  2. Pilih Aplikasi.

  3. Pilih tab Customer managed.

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

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

  6. Di bawah Jenis Pengaturan, pilih Aplikasi individual dan tentukan akses, lalu pilih Ber ikutnya.

  7. Pada halaman Pilih layanan, 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 Ber ikutnya.

  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 konfigurasi tingkat akses, lalu pilih Edit akses. Di Tingkat akses yang akan diterapkan, ubah tingkat akses sesuai kebutuhan, lalu pilih S impan perubahan.

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

  11. Pilih Berikutnya.

  12. Pada halaman T injau konfigurasi, tinjau pilihan yang Anda buat.

    catatan

    Anda akan ingin memastikan s3:access_grants:read_write izin diberikan untuk pengguna Anda. Izin ini memungkinkan pengguna untuk mengambil kredenSIAL 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 S impan perubahan.

  14. Pilih Aplikasi percaya untuk menambahkan aplikasi tepercaya untuk propagasi identitas.

Membuat hibah untuk pengguna atau grup

Pada langkah ini, Anda menggunakan Pusat Identitas IAM untuk menyediakan pengguna Anda. Anda dapat menggunakan SCIM untuk penye diaan pengguna dan grup secara otomatis atau manual. SCIM menjaga identitas Pusat Identitas IAM Anda sinkron dengan identitas dari penyedia identitas (IdP) Anda. Ini termasuk penyediaan, pembaruan, dan penghapusan penyediaan pengguna antara IdP dan Pusat Identitas IAM Anda.

catatan

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

Untuk menyinkronkan pengguna dari penyedia identitas Anda dengan Pusat Identitas IAM, lakukan langkah-langkah berikut:

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

Buat Browser Penyimpanan Anda untuk komponen S3

Setelah menyiapkan instance 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 memberikan penyedia kredenSIAL untuk mengembalikan kredenSIAL yang Anda peroleh dari Pusat Identitas IAM. 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 (JWT) dari aplikasi web Anda dengan kredenSIAL IAM dari Pusat Identitas IAM. Untuk informasi selengkapnya tentang cara menukar JWT, lihat sumber daya berikut:

Kemudian, siapkan titik akhir API untuk menangani permintaan pengambilan kredenSIAL. 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 kreden AWS sional IAM, lakukan langkah-langkah berikut:

Tip

Pastikan untuk menghindari mencatat informasi sensitif apa pun. Sebaiknya gunakan kontrol penanganan kesalahan untuk otorisasi yang hilang, token kedaluwarsa, dan pengecualian lainnya. Untuk informasi selengkapnya, lihat posting M enerapkan pola penanganan AWS Lambda kesalahan di AWS Compute Blog.

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

  2. Gunakan CreateTokenWithIAM API untuk menukar token web JSON dengan token Pusat Identitas IAM.

    catatan

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

  3. Gunakan operasi AssumeRole API untuk mengambil peran sementara menggunakan token Pusat Identitas IAM. Pastikan untuk menggunakan peran pembawa identitas, juga dikenal sebagai peran yang membawa konteks identitas (misalnya,identity-bearer-role) untuk meminta kredenSIAL.

  4. Kembalikan kredenSIAL IAM ke aplikasi web.

    catatan

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