Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Akses Layanan AWS dari aplikasi ASP.NET Core menggunakan kumpulan identitas Amazon Cognito
Bibhuti Sahu dan Marcelo Barbosa, Amazon Web Services
Ringkasan
Pola ini membahas bagaimana Anda dapat mengonfigurasi kumpulan pengguna Amazon Cognito dan kumpulan identitas, lalu mengaktifkan aplikasi ASP.NET Core untuk AWS mengakses sumber daya setelah otentikasi berhasil.
Amazon Cognito menyediakan otentikasi, otorisasi, dan manajemen pengguna untuk web dan aplikasi seluler Anda. Dua komponen utama Amazon Cognito adalah kumpulan pengguna dan kumpulan identitas.
Kolam pengguna adalah direktori pengguna di Amazon Cognito. Dengan kolam pengguna, pengguna Anda dapat masuk ke web atau aplikasi seluler Anda melalui Amazon Cognito. Pengguna Anda juga dapat masuk melalui penyedia identitas sosial seperti Google, Facebook, Amazon, atau Apple, dan melalui penyedia identitas SALL.
Kolam Identitas Amazon Cognito (gabungan identitas) memungkinkan Anda untuk membuat identitas unik untuk pengguna Anda dan menggabungkan mereka dengan penyedia identitas. Dengan kumpulan identitas, Anda dapat memperoleh AWS kredensi hak istimewa terbatas sementara untuk mengakses lainnya. Layanan AWS Sebelum Anda dapat mulai menggunakan kumpulan identitas Amazon Cognito baru Anda, Anda harus menetapkan satu atau beberapa peran AWS Identity and Access Management (IAM) untuk menentukan tingkat akses yang Anda ingin pengguna aplikasi Anda miliki ke sumber daya Anda. AWS Kolam identites mendefinisikan dua jenis identitas: terautentikasi dan tidak terautentikasi. Setiap tipe identitas dapat diberikan perannya sendiri di IAM. Identitas yang diautentikasi adalah milik pengguna yang diautentikasi oleh penyedia login publik (kumpulan pengguna Amazon Cognito, Facebook, Google, SAM, atau penyedia OpenID Connect) atau penyedia pengembang (proses otentikasi backend Anda sendiri), sedangkan identitas yang tidak diautentikasi biasanya milik pengguna tamu. Saat Amazon Cognito menerima permintaan pengguna, layanan menentukan apakah permintaan tersebut diautentikasi atau tidak diautentikasi, menentukan peran mana yang terkait dengan jenis autentikasi tersebut, dan kemudian menggunakan kebijakan yang dilampirkan pada peran tersebut untuk menanggapi permintaan tersebut.
Prasyarat dan batasan
Prasyarat
An Akun AWS dengan izin Amazon Cognito dan IAM
Akses ke AWS sumber daya yang ingin Anda gunakan
ASP.NET Core 2.0.0 atau yang lebih baru
Arsitektur
Tumpukan teknologi
Amazon Cognito
ASP.NET Inti
Arsitektur target

Alat
Alat, SDKs, dan Layanan AWS
Visual Studio atau Kode Visual Studio
Amazon. AspNetCore.Identity.Cognito
(1.0.4) - paket NuGet AWSSDK.S3 (3.3.110.32)
— paket NuGet
Kode
File.zip terlampir menyertakan file contoh yang menggambarkan hal berikut:
Cara mengambil token akses untuk pengguna yang masuk
Cara menukar token akses dengan AWS kredensil
Cara mengakses layanan Amazon Simple Storage Service (Amazon S3) dengan kredensil AWS
Peran IAM untuk identitas yang diautentikasi
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "mobileanalytics:PutEvents", "cognito-sync:*", "cognito-identity:*", "s3:ListAllMyBuckets*" ], "Resource": [ "*" ] } ] }
Epik
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Membuat pengguna. |
| Developer |
Tambahkan klien aplikasi. | Anda dapat membuat aplikasi untuk menggunakan halaman web bawaan untuk mendaftar dan masuk ke pengguna Anda.
| Developer |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Buat kolam identitas. |
| Developer |
Tetapkan peran IAM untuk kumpulan identitas. | Anda dapat mengedit peran IAM untuk pengguna yang diautentikasi dan tidak diautentikasi, atau mempertahankan default, lalu memilih Izinkan. Untuk pola ini, kami akan mengedit peran IAM yang diautentikasi dan menyediakan akses untuk. | Developer |
Salin ID kumpulan identitas. | Saat Anda memilih Izinkan di langkah sebelumnya, halaman Memulai dengan Amazon Cognito ditampilkan. Di halaman ini, Anda dapat menyalin ID kumpulan identitas dari bagian Dapatkan Kredensial AWS atau memilih Edit kumpulan identitas di kanan atas dan menyalin ID kumpulan identitas dari layar yang ditampilkan. | Developer |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Kloning contoh aplikasi web ASP.NET Core. |
| Developer |
Tambahkan dependensi. | Tambahkan NuGet dependensi | Developer |
Tambahkan tombol konfigurasi dan nilai ke | Sertakan kode dari | Developer |
Buat pengguna baru dan masuk. | Buat pengguna baru di kumpulan pengguna Amazon Cognito, dan verifikasi bahwa pengguna tersebut ada di bawah Pengguna dan Grup di kumpulan pengguna. | Developer |
Buat Razor Page baru yang disebut | Tambahkan ASP.NET Core Razor Page baru ke aplikasi sampel Anda, dan ganti konten untuk | Developer |
Pemecahan Masalah
Isu | Solusi |
---|---|
Setelah Anda membuka aplikasi sampel dari GitHub repositori, Anda mendapatkan kesalahan ketika Anda mencoba menambahkan NuGet paket ke proyek Sampel. | Di |
Sumber daya terkait
Lampiran
Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip