Bagikan melalui


Manajemen identitas dan akses untuk beban kerja SaaS di Azure

Identitas aplikasi adalah area penting untuk beban kerja SaaS karena berfungsi sebagai garis pertahanan pertama untuk melindungi data. Ini sering diabaikan sampai akhir proyek, tetapi banyak keputusan tentang elemen lain dari aplikasi tergantung pada strategi identitas yang solid. Jangan meremehkan pentingnya identitas dalam membantu melindungi data pelanggan Anda.

Dalam konteks beban kerja SaaS, ada dua jenis identitas yang berbeda.

  • Identitas aplikasi, juga dikenal sebagai manajemen identitas dan akses pelanggan (CIAM), memungkinkan pengguna akhir untuk mengautentikasi dan menggunakan aplikasi SaaS Anda. Ada dua metode utama untuk memasukkan pengguna ke idP aplikasi:

    • Identitas gabungan. Pengguna masuk dengan kredensial yang ada yang dikelola oleh idP lain. Penyedia tersebut bisa menjadi penyedia identitas sosial seperti Google, Facebook, atau LinkedIn, atau idP perusahaan yang digunakan pelanggan Anda, seperti Microsoft Entra atau Okta. Pemeliharaan akun pengguna adalah tanggung jawab penyedia identitas federasi.

    • Identitas lokal. Pengguna membuat akun hanya untuk aplikasi Anda. Akun diamankan dengan nama pengguna dan kata sandi, kode akses, atau metode autentikasi lainnya. Pemeliharaan akun pengguna adalah tanggung jawab Anda.

  • Identitas perusahaan adalah solusi identitas yang digunakan untuk mengautentikasi pengguna internal dan beban kerja ke alat produktivitas bisnis, alat atau layanan internal, dan layanan Azure. Anda menggunakan solusi identitas perusahaan untuk pengguna internal dan beban kerja Anda untuk mengautentikasinya ke alat produktivitas bisnis, alat atau layanan internal, dan layanan Azure.

    Lihat MANAJEMEN identitas dan akses SE:05.

Diagram yang memperlihatkan hubungan antara identitas aplikasi dan identitas perusahaan.

Identitas aplikasi dan perusahaan melayani tujuan yang berbeda dan mungkin menggunakan penyedia identitas yang berbeda. Artikel ini berfokus pada pertimbangan desain untuk identitas aplikasi, meskipun kedua jenis kemungkinan akan ada di lingkungan beban kerja SaaS Anda.

Manajemen identitas melibatkan dua masalah terkait: autentikasi (memverifikasi identitas pengguna) dan otorisasi (memberikan izin berdasarkan identitas). Tiga bagian pertama dari artikel ini berfokus pada autentikasi untuk SaaS. Bagian akhir membahas pertimbangan otorisasi untuk penyedia SaaS.

Identitas dalam aplikasi multipenyewa

Memisahkan data penyewa dalam aplikasi multipenyewa sangat penting. Segmentasi tersebut didorong oleh pilihan autentikasi dan otorisasi pengguna yang efektif. Selain itu, pilihan model penyewaan secara signifikan memengaruhi keputusan Anda tentang Penyedia Identitas. Prioritaskan identitas sebagai perimeter utama Anda.

Lihat Rekomendasi SE:04 untuk segmentasi.

Pertimbangan Desain

Pahami model penyewaan dan penyebaran untuk aplikasi Anda. Mungkin ada nuansa yang memengaruhi strategi identitas Anda. Misalnya, ini adalah kesalahpahaman bahwa pola Stempel Penyebaran memerlukan penyedia identitas di setiap stempel. Untuk sebagian besar penyedia identitas, Anda sering dapat menggunakan model isolasi alternatif.

Saat Anda memilih Penyedia Identitas untuk multipenyewa, evaluasi dampak kegagalan. Kesalahan konfigurasi berpotensi menurunkan seluruh aplikasi Anda untuk semua penyewa. Timbang biaya overhead terhadap risiko potensi radius dampak.

Jika Anda menyebarkan solusi ke lingkungan Azure pelanggan dan mengelolanya atas nama mereka, Anda mungkin perlu berintegrasi dengan idP perusahaan mereka. Memiliki pemahaman yang jelas tentang aspek-aspek ini:

  • Jenis pengguna dan kebutuhan akses mereka saat berinteraksi dengan penyewa aplikasi Anda. Misalnya, Pengguna A mungkin hanya memerlukan akses untuk masuk ke penyewa 1, tetapi pengguna B mungkin memerlukan akses untuk masuk ke penyewa 1 dan penyewa 2.
  • Kepatuhan terhadap peraturan residensi data, jika berlaku untuk penyedia identitas Anda. Dalam beberapa kasus, data yang disimpan oleh IdP mungkin tunduk pada peraturan. Banyak penyedia identitas memberikan panduan dan kemampuan khusus untuk skenario ini. Menilai apakah skenario ini relevan dengan Anda dan mengambil langkah-langkah yang diperlukan untuk memastikan kepatuhan.

Rekomendasi desain

Rekomendasi Keuntungan
Ikuti praktik dan panduan terbaik idP Anda untuk mempartisi solusi untuk beberapa penyewa. Isolasi penyewa membantu Anda mencapai tujuan keamanan dan kepatuhan Anda.
Hindari memiliki beberapa akun untuk pengguna yang sama. Pengguna harus memiliki satu akun dengan satu set kredensial, bahkan jika mereka memerlukan akses ke beberapa penyewa. Berikan akses ke setiap penyewa sesuai kebutuhan daripada membuat beberapa akun untuk pengguna yang sama. Membuat beberapa akun untuk pengguna yang sama meningkatkan risiko keamanan dan dapat membingungkan pengguna yang perlu mengingat beberapa nama pengguna dan kata sandi untuk perangkat lunak yang sama.
Saat Anda mempertimbangkan residensi data, rencanakan cara menyimpan data pengguna di lokasi terpisah. Jika Anda menyebarkan stempel penyebaran terpisah untuk pengguna Anda di geografi lain, Anda mungkin juga memerlukan penyedia identitas terpisah.

Pastikan Anda memiliki cara untuk mengidentifikasi tempat data pengguna disimpan sehingga Anda dapat mengarahkannya ke wilayah yang benar untuk masuk, jika perlu.
Anda akan dapat mendukung persyaratan kepatuhan dan meningkatkan pengalaman pengguna dengan merutekan pengguna ke pengalaman masuk yang sesuai untuk lokasi mereka.

Pemilihan Penyedia Identitas

Setiap idP menawarkan fitur, batasan, model harga, dan pola implementasi yang unik. Microsoft Entra dan Okta adalah opsi identitas sebagai layanan (IDaaS) populer. Ada juga penyedia sumber terbuka lainnya, seperti Keycloak dan Authentik.

Pertimbangan Desain

  • Dokumentasikan persyaratan identitas Anda. Mulailah dengan mencantumkan fitur yang dibutuhkan aplikasi Anda sekarang dan akan membutuhkannya di masa mendatang. Fitur umum yang perlu dipertimbangkan meliputi:

    • Dukungan Penyedia Identitas federasi untuk berintegrasi dengan solusi identitas pelanggan. Fitur ini memungkinkan Anda menghindari pembuatan identitas baru.
    • Alur masuk/pendaftaran yang dapat disesuaikan untuk memodifikasi tampilan dan nuansa untuk mempertahankan branding Anda. Fitur ini juga menyediakan kemampuan untuk menyuntikkan logika bisnis kustom ke dalam proses masuk/pendaftaran.
    • Pemisahan data penyewa menjadi silo yang berbeda untuk mempertahankan isolasi penyewa.
    • Mengaudit dukungan untuk menyimpan atau mengekspor log masuk untuk manajemen keamanan.

    Penting

    Pertimbangkan pertumbuhan pengguna yang direncanakan saat Anda mengevaluasi biaya solusi identitas. Solusi mungkin tidak tetap hemat biaya atau dapat diskalakan dalam jangka panjang, tetapi bisa berguna untuk saat ini. Memiliki rencana migrasi yang dapat Anda gunakan jika kebutuhan muncul.

    Misalnya, solusi mungkin terjangkau untuk 500 pengguna tetapi tidak berkelanjutan untuk 5 juta. Jika memerlukan pengaturan minimal dan mudah digunakan dan mudah dimigrasikan, itu masih bisa menjadi pilihan yang tepat sampai biaya penskalan membenarkan beralih ke solusi yang berbeda.

  • Teliti kemampuan penyedia identitas secara menyeluruh. Pastikan solusi identitas cocok dengan daftar fitur yang diperlukan. Bahkan jika saat ini Anda tidak memerlukan skenario kompleks seperti identitas federasi, pertimbangkan kebutuhan di masa depan. Untuk solusi SaaS business-to-business (B2B), identitas federasi mungkin akan diperlukan pada akhirnya.

  • Faktor dalam overhead manajemen. Penyedia identitas yang berbeda memerlukan berbagai tingkat overhead manajemen. Solusi IDaaS terkenal biasanya memiliki lebih sedikit overhead karena mereka menangani hosting, pemeliharaan, dan keamanan. Namun, overhead tambahan dari solusi sumber terbuka mungkin bermanfaat jika solusinya lebih cocok untuk kebutuhan khusus Anda.

Rekomendasi desain

Rekomendasi Keuntungan
Jangan membuat solusi identitas Anda sendiri. Identitas adalah area yang sangat khusus, dan menciptakan solusi identitas itu kompleks dan mahal. Sulit untuk membuat solusi identitas yang aman dan dapat diandalkan. Anda akan menghindari antipattern untuk membuat penyedia Anda sendiri dan meningkatkan keamanan, keandalan, dan efisiensi operasional solusi Anda.
Buat matriks kemampuan fitur yang ditawarkan oleh penyedia identitas dan petakan terhadap persyaratan identitas Anda. Anda akan memastikan kemampuan Anda untuk berkembang tanpa dibatasi oleh serangkaian fitur identitas terbatas.
Lebih suka opsi IDaaS daripada solusi sumber terbuka.

Hosting solusi sumber terbuka sendiri menimbulkan overhead operasional yang signifikan dan risiko keamanan. Namun, Anda dapat memilih opsi tersebut untuk memenuhi persyaratan khusus untuk kepatuhan, residensi data, atau keandalan yang tidak dapat dipenuhi penyedia. Untuk informasi selengkapnya, lihat IdP IDaaS.
Dengan menggunakan penyedia identitas IDaaS, Anda akan menghindari kompleksitas yang tidak perlu dan dapat memfokuskan upaya Anda pada bisnis inti Anda.

Identitas federasi

Identitas federasi, juga dikenal sebagai akses menyeluruh (SSO), memungkinkan pengguna untuk masuk dengan kredensial yang sudah mereka gunakan di tempat lain. Anda mengaktifkan identitas federasi dengan membuat hubungan kepercayaan antara penyedia identitas aplikasi Anda dan idP pelanggan yang ada. Identitas federasi adalah persyaratan umum untuk solusi SaaS, terutama di B2B, karena pelanggan lebih memilih karyawan mereka untuk menggunakan kredensial perusahaan. Ini menawarkan beberapa manfaat untuk solusi B2B, seperti manajemen identitas terpusat dan manajemen siklus hidup otomatis. Dalam produk SaaS B2C, mengintegrasikan dengan penyedia identitas sosial adalah umum untuk memungkinkan pengguna masuk dengan kredensial yang ada.

Tradeoff: Kompleksitas dan efisiensi operasional. Dengan bekerja dengan penyedia identitas federasi, Anda membongkar kompleksitas pengelolaan identitas pengguna Anda. Namun, Anda mengambil biaya integrasi dengan IdP lain. Tentukan di mana Anda ingin memfokuskan upaya operasional Anda.

Meskipun menerapkan identitas federasi awalnya sederhana, itu menjadi lebih kompleks saat jumlah penyedia identitas yang didukung meningkat. Perencanaan yang cermat sangat penting, terutama jika setiap pelanggan menggunakan IdP unik. Bahkan jika mereka menggunakan penyedia identitas yang sama, hubungan kepercayaan unik sering diperlukan untuk setiap pelanggan karena detail konfigurasi tertentu.

Gambar ini menunjukkan hubungan antara aplikasi Anda, idP aplikasi Anda, dan penyedia identitas hilir yang mungkin Anda pilih untuk diterapkan dengan menggunakan federasi identitas.

Diagram yang menunjukkan aplikasi yang mempercayai penyedia identitas tunggal, yang pada gilirannya bergabung dengan beberapa penyedia identitas pelanggan.

Pertimbangan Desain

  • Perkirakan jenis dan jumlah penyedia identitas yang perlu Anda dukung. Anda mungkin memerlukan jumlah statis idP sosial, atau Anda mungkin memerlukan idP federasi unik untuk setiap pelanggan. Anda harus tahu apakah pelanggan Anda akan menggunakan OpenID Connect (OIDC), Security Assertion Markup Language (SAML), atau keduanya untuk integrasi.

  • Petakan pengalaman masuk. Visualisasikan alur pengguna proses pendaftaran dan masuk. Perhatikan persyaratan khusus apa pun yang dapat mengubah desain alur pengguna Anda. Contohnya:

    • Branding kustom. Pelabelan putih atau domain masuk kustom per pelanggan.

    • Informasi kustom. Mengumpulkan informasi pengguna tambahan selama pendaftaran atau masuk, seperti pilihan penyewa untuk pengguna dengan akses ke beberapa penyewa.

    • Pemilihan Penyedia Identitas. Jika Anda menggunakan penyedia identitas aplikasi tunggal yang memiliki banyak penyedia identitas federasi yang mempercayainya, putuskan cara memilih penyedia. Pilihan ini mungkin dilakukan secara manual melalui tombol atau secara otomatis berdasarkan informasi pengguna yang diketahui. Ketika jumlah penyedia meningkat, pemilihan otomatis menjadi lebih praktis. Kemampuan ini dikenal sebagai Home Realm Discovery.

Rekomendasi desain

Rekomendasi Keuntungan
Pilih penyedia identitas yang dapat menskalakan untuk mengakomodasi jumlah penyedia identitas federasi yang Anda butuhkan.

Perhatikan batas keras penyedia, yang tidak dapat terlampaui.
Anda akan memastikan bahwa solusi identitas Anda dapat diskalakan saat Anda tumbuh.
Rencanakan onboarding setiap penyedia identitas federasi dan otomatiskan proses sebanyak mungkin.

Upaya kolaboratif antara organisasi Anda dan pelanggan Anda ini melibatkan pertukaran informasi untuk membangun hubungan kepercayaan, biasanya melalui protokol OIDC atau SAML.
Integrasi identitas dapat memakan waktu dan upaya untuk Anda dan pelanggan Anda. Dengan merencanakan proses, Anda akan meningkatkan efisiensi operasional Anda.
Mencerminkan kompleksitas dan biaya identitas federasi dalam harga dan model bisnis Anda.

Memungkinkan pelanggan menggunakan penyedia identitas mereka sendiri meningkatkan kompleksitas dan biaya operasional karena overhead mempertahankan beberapa hubungan kepercayaan identitas federasi. Adalah hal umum dalam solusi SaaS bagi perusahaan untuk membayar tingkat yang lebih tinggi yang memungkinkan masuk federasi.
Menggabungkan dengan idP pelanggan dapat menjadi biaya tersembunyi dalam solusi SaaS. Dengan merencanakannya, Anda akan menghindari biaya tak terduga selama implementasi.
Rencanakan bagaimana idP pengguna akan dipilih selama alur masuk. Pertimbangkan untuk menggunakan Home Realm Discovery.

MICROSOFT Entra ID menyediakan Home Realm Discovery bawaan.
Anda akan menyederhanakan pengalaman pelanggan dan memastikan bahwa pengguna diarahkan ke proses masuk yang tepat.

Authorization

Otorisasi pengguna sangat penting untuk aplikasi SaaS, yang sering menyimpan data untuk beberapa penyewa. Tentukan dengan jelas bagaimana pengguna akan berwenang untuk mengakses hanya data mereka tanpa secara tidak sengaja mengakses data penyewa lain. Selain itu, berikan otorisasi terperinci dalam penyewa, memungkinkan pengguna untuk membaca atau mengakses informasi tertentu sambil membatasi pembaruan atau akses ke data lain.

Pertimbangan Desain

  • Pilih model otorisasi yang tepat untuk kasus penggunaan. Ada dua jenis utama:

    • Otorisasi berbasis peran. Pengguna diberi peran atau grup, dan fitur tertentu dibatasi untuk peran tertentu. Misalnya, administrator dapat melakukan tindakan apa pun, tetapi pengguna dalam peran lain memiliki izin terbatas.
    • Otorisasi berbasis sumber daya. Setiap sumber daya memiliki sekumpulan izinnya sendiri. Pengguna mungkin merupakan administrator untuk satu sumber daya tetapi tidak memiliki akses ke sumber daya lain.
  • Tentukan tempat untuk menyimpan data otorisasi. Data otorisasi untuk aplikasi Anda dapat disimpan di:

    • IdP Anda. Manfaatkan grup atau peran bawaan, memunculkan izin sebagai klaim dalam token yang dikeluarkan untuk aplikasi Anda. Aplikasi Anda kemudian dapat menerapkan aturan otorisasi dengan menggunakan klaim token ini.
    • Aplikasi Anda. Kembangkan logika otorisasi Anda sendiri dan simpan izin pengguna dalam database atau sistem serupa, memungkinkan kontrol otorisasi berbasis peran atau tingkat sumber daya yang halus.

    Tradeoff: Kompleksitas, fleksibilitas, dan keamanan. Menyimpan data otorisasi di penyedia identitas dan memunculkan melalui klaim token biasanya lebih sederhana daripada mengelola sistem otorisasi Anda sendiri. Namun, otorisasi berbasis klaim membatasi fleksibilitas Anda, dan Anda perlu menerima bahwa klaim hanya di-refresh ketika token diterbitkan kembali, yang dapat menyebabkan keterlambatan dalam menerapkan izin yang diubah.

  • Menilai dampak manajemen yang didelegasikan. Di sebagian besar aplikasi SaaS, terutama dalam aplikasi B2B, peran dan manajemen izin didelegasikan kepada pelanggan. Tanpa fungsionalitas ini, Anda dapat meningkatkan overhead manajemen jika pelanggan sering mengubah izin pengguna mereka.

  • Mengevaluasi akses multipenyewa. Dalam beberapa sistem, satu pengguna mungkin perlu mengakses data dari beberapa penyewa. Misalnya, konsultan mungkin perlu mengakses data dari beberapa penyewa. Rencanakan bagaimana pelanggan akan memberikan akses ke pengguna ini dan bagaimana alur masuk Anda akan mendukung pemilihan dan peralihan di antara penyewa.

Rekomendasi desain

Rekomendasi Keuntungan
Mencegah pengguna mengakses data di seluruh batas penyewa kecuali akses tersebut diizinkan secara eksplisit. Akses tidak sah ke data penyewa lain, bahkan akses yang tidak disengaja, dapat dilihat sebagai insiden keamanan utama dan mengikis kepercayaan pelanggan pada platform Anda. Memblokir akses yang tidak perlu akan membantu Anda menghindari situasi ini.
Jika data jarang statis dan jarang berubah, simpan di IdP. Jika perubahan yang sering diperlukan saat pengguna menggunakan perangkat lunak, simpan data otorisasi di aplikasi Anda. Memilih penyimpanan data terbaik untuk data otorisasi Anda akan meningkatkan efisiensi operasional Anda dan membantu Anda memenuhi kebutuhan skalabilitas Anda.
Jika Anda mendelegasikan manajemen izin kepada pelanggan, berikan metode yang jelas bagi mereka untuk mengelola izin. Misalnya, buat portal web yang hanya dapat diakses oleh administrator penyewa untuk mengubah izin pengguna. Anda akan memberikan lebih banyak kontrol kepada pelanggan Anda dan menghindari beban operasional yang tidak perlu pada tim dukungan Anda.

Sumber Daya Tambahan:

Multitenancy adalah metodologi bisnis inti untuk merancang beban kerja SaaS. Artikel ini menyediakan informasi selengkapnya tentang manajemen identitas dan akses:

Langkah selanjutnya

Pelajari tentang memilih model hosting komputasi Anda, aspek operasional, dan cara mengoptimalkan opsi teknologi untuk membantu Anda memenuhi perjanjian dan tujuan tingkat layanan Anda.