Mengenal AWS PVC (Amazon Cognito) : pengertian, kegunaan, perbedaan
Amazon Cognito adalah produk dari Amazon Web Services yang mengontrol autentikasi dan akses pengguna ke aplikasi seluler pada perangkat yang terhubung dengan Internet.
Apa itu Amazon Cognito?
Amazon Cognito adalah produk dari Amazon Web Services yang mengontrol autentikasi dan akses pengguna ke aplikasi seluler pada perangkat yang terhubung dengan Internet. Layanan ini menyimpan dan menyinkronkan data pengguna akhir, memungkinkan pengembang aplikasi untuk fokus pada penulisan kode daripada membangun dan mengelola infrastruktur backend. Ini dapat mempercepat proses pengembangan aplikasi seluler.
Kontrol akses melalui autentikasi dan otorisasi diperlukan untuk mengkonfirmasi identitas perangkat atau orang yang mencoba mengakses situs web dan apakah mereka memiliki izin untuk melakukannya. Kedua aspek ini penting untuk memastikan bahwa organisasi dapat menjaga jaringan dan sumber daya yang dilindungi tetap aman dari aktor jahat. Di sinilah Amazon Cognito berperan.
Amazon Cognito menggabungkan atribut profil pengguna ke dalam direktori yang disebut user pools yang digunakan aplikasi seluler atau web untuk mengonfigurasi akses terbatas ke sumber daya AWS. Identity pool mengkonsolidasikan informasi pengguna akhir yang diperoleh platform akses klien, perangkat, dan sistem operasi untuk mengatur grup identitas terfederasi.
Saat perangkat online, data disinkronkan dengan AWS, memungkinkan pengguna akhir mengakses informasi yang sama di perangkat lain. Data dapat disimpan secara lokal ke database SQLite saat offline sebelum terhubung kembali. Amazon Cognito mengasosiasikan set data dengan identitas dan menyimpan informasi terenkripsi sebagai pasangan kunci atau nilai dalam penyimpanan Amazon Cognito Sync. Setiap pengguna dapat menyimpan hingga 20MB data, dengan setiap set data berisi hingga 1MB.
Seorang pengembang dapat mengonfigurasi Amazon Cognito untuk menerima aliran acara saat data diperbarui dan disinkronkan. Pengembang seluler juga dapat mengquery data melalui layanan cloud AWS lainnya, seperti database Amazon Redshift, instance layanan database relasional (RDS), atau file Amazon Simple Storage Service (S3).
Amazon Cognito untuk apa?
Amazon Cognito memungkinkan autentikasi pengguna, otorisasi, dan manajemen pengguna yang sederhana dan aman untuk aplikasi web dan seluler. Dengan Cognito, pengguna atau pengunjung dapat masuk dengan nama pengguna dan kata sandi melalui Amazon atau pihak ketiga seperti Facebook, Google, atau Apple.
Dengan demikian, dengan Cognito, seorang pengembang dapat:
- Mudah menambahkan pendaftaran pengguna, masuk, dan kontrol akses ke aplikasi mereka dengan antarmuka pengguna (UI) bawaan dan konfigurasi yang mudah.
- Menggunakan identifikasi dari penyedia identitas sosial.
- Menyinkronkan data di berbagai perangkat dan aplikasi.
- Memberikan akses yang aman ke layanan AWS lainnya dari aplikasi mereka dengan mendefinisikan peran dan memetakan pengguna ke peran yang berbeda.
- Karena Cognito menangani semua kebutuhan autentikasi, pengembang dapat fokus pada pembangunan aplikasi dan situs web. Ini dapat mempercepat proses pengembangan, memperpendek siklus rilis, dan meningkatkan waktu ke pasar dan harga.
Cognito adalah bagian dari ekosistem Amazon Web Services (AWS). Konsol Cognito itu sendiri adalah bagian dari AWS Management Console organisasi, di mana dapat melihat semua informasi tentang akun Cognito dan penagihan.
Perbedaan : User Pool vs Identity Pool
- User Pools: Direktori pengguna yang menyediakan opsi pendaftaran dan masuk bagi pengguna aplikasi.
- Identity Pools: Elemen Cognito yang memberikan akses pengguna ke layanan AWS lainnya (misalnya, Amazon S3 dan DynamoDB).
Dengan User Pools, pengguna dapat masuk ke aplikasi melalui Amazon Cognito, penyedia identitas sosial (misalnya, Google atau Facebook), atau penyedia identitas security assertion markup language (SAML). Setiap pengguna akan memiliki profil direktori. Pengembang dapat mengakses profil-profil ini melalui Software Development Kit (SDK). User Pools dapat memeriksa kredensial yang terkompromi, menyediakan verifikasi berbasis email dan telepon, serta menyediakan autentikasi multifaktor (MFA) untuk keamanan tambahan. Administrator juga dapat mengintegrasikan AWS Lambda dengan Amazon Cognito Identity untuk menambahkan logika untuk fitur keamanan yang dapat disesuaikan.
Jika organisasi perlu memberikan pengguna akses ke sumber daya AWS, dapat mengkonfigurasi identity pool. Identity Pools adalah identitas terfederasi yang mendukung autentikasi melalui user pools dan penyedia identitas terfederasi, penyedia identitas SAML, dan bahkan identitas yang tidak sah (pengguna tamu). Dengan identity pools, organisasi dapat membuat identitas unik dan menetapkan izin pengguna.
Identity pool dan user pool dapat digunakan secara terpisah atau bersama-sama.
SDK Support
Pengembang aplikasi seluler dapat menggunakan SDK untuk mengintegrasikan dengan Cognito atau mengakses API sisi server secara langsung. AWS mendukung Amazon Cognito dalam AWS Mobile SDK, yang mencakup pustaka, contoh kode, dan API untuk membantu pengembang menggunakan layanan ini. SDK tersedia untuk iOS, Android, Unity, dan Kindle Fire. AWS SDK untuk JavaScript juga mendukung Cognito. User pools tersedia dalam AWS SDK untuk JavaScript dan AWS Mobile SDK untuk iOS dan Android.
Cara Kerja Autentikasi Amazon Cognito: Proses 4 Langkah Begini cara kerja autentikasi
ketika Identity Pool dan User Pool digunakan bersama-sama:
- Pengguna masuk melalui user pool.
- Setelah berhasil diautentikasi, pengguna menerima token user pool.
- Aplikasi menukar token untuk kredensial AWS melalui identity pool.
- Pengguna dapat menggunakan kredensial AWS yang diautentikasi ini untuk mengakses layanan lain di cloud AWS.
Tinjauan tentang cara kerja keamanan Amazon Cognito.
Sinkronisasi Data Pengguna dengan AWS Cognito Sync
AWS Cognito Sync menyinkronkan data profil pengguna di berbagai perangkat seluler dan aplikasi web. Fitur ini memungkinkan pengguna memiliki ID pengguna dan kredensial yang terstandardisasi dengan Amazon Cognito.
Layanan ini mendukung perangkat Android dan iOS dengan pustaka klien kelas atas yang menyimpan data pengguna secara lokal. Hal ini membuat data tersedia bahkan jika perangkat itu sendiri sedang offline.
Data pengguna bertahan dalam satu set data. Data ini hanya dapat diakses oleh kredensial yang ditetapkan untuk identitas tertentu. Untuk menyediakan identitas pengguna, Cognito Sync memerlukan Amazon Cognito Identity Pool.
Oleh karena itu, untuk menggunakan Amazon Cognito Sync, sebuah organisasi perlu mengatur identity pool.
Keamanan dan Perlindungan Data Amazon Cognito
Keamanan di Amazon Cognito selaras dengan model “Shared Security” AWS untuk keamanan data. AWS menyediakan keamanan cloud, sedangkan organisasi bertanggung jawab atas keamanan di dalam cloud.
Amazon Cognito mendukung MFA dan mengenkripsi data saat disimpan dan dalam perjalanan sesuai dengan standar industri untuk lapisan keamanan tambahan. Layanan ini juga mematuhi beberapa standar dan regulasi perlindungan data, termasuk:
- HIPAA
- PCI DSS
- Service Organization Control
- ISO/IEC 27001/27017/27018
- ISO 9001
Amazon Cognito juga mendukung beberapa kapabilitas identitas dan manajemen akses (IAM), termasuk:
- Kebijakan berbasis identitas
- Tindakan kebijakan
- Kredensial sementara
- Peran layanan
- Peran terkait layanan
Amazon Cognito mencakup beberapa kapabilitas manajemen akses identitas.
Harga Amazon Cognito
Pengguna aktif bulanan (MAU) menentukan harga untuk Amazon Cognito. Seorang pengguna adalah MAU jika ada operasi pendaftaran, masuk, penyegaran token, atau perubahan kata sandi yang berkaitan dengan pengguna tersebut dalam satu bulan kalender.
50.000 MAU pertama gratis. Setelah itu, harga didasarkan pada model berjenjang berdasarkan jumlah MAU.
Biaya untuk Cognito Sync didasarkan pada jumlah operasi sinkronisasi dan jumlah data yang disimpan oleh Cognito Sync. Dengan AWS free tier, sebuah perusahaan dapat menyimpan 10GB data dan melakukan 1.000.000 operasi sinkronisasi per bulan selama hingga 12 bulan. Setelah periode free tier berakhir, Amazon Cognito mengenakan biaya 15 sen per bulan untuk setiap GB penyimpanan sinkronisasi dan 15 sen untuk setiap 10.000 operasi sinkronisasi.