Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Berlaku mulai 1 Mei 2025, Azure AD B2C tidak akan lagi tersedia untuk dibeli untuk pelanggan baru. Pelajari lebih lanjut di FAQ kami.
Artikel ini membahas cara mengelola akses pengguna ke aplikasi Anda dengan menggunakan Azure Active Directory B2C (Azure AD B2C). Manajemen akses dalam aplikasi Anda meliputi:
- Mengidentifikasi anak di bawah umur dan mengontrol akses pengguna ke aplikasi Anda.
- Memerlukan persetujuan orang tua bagi anak di bawah umur untuk menggunakan aplikasi Anda.
- Mengumpulkan data kelahiran dan negara/wilayah dari pengguna.
- Menangkap perjanjian persyaratan penggunaan dan akses gate.
Nota
Di Azure Active Directory B2C, kebijakan kustom didesain khusus untuk menangani skenario kompleks. Untuk skenario umum, sebaiknya gunakan alur pengguna bawaan. Jika Anda belum melakukannya, pelajari tentang paket starter kebijakan kustom di Mulai dengan kebijakan kustom di Azure Active Directory B2C.
Mengontrol akses minor
Aplikasi dan organisasi dapat memutuskan untuk memblokir anak di bawah umur agar tidak menggunakan aplikasi dan layanan yang tidak ditargetkan untuk audiens ini. Atau, aplikasi dan organisasi dapat memutuskan untuk menerima anak di bawah umur dan kemudian mengelola persetujuan orang tua, dan memberikan pengalaman yang diizinkan untuk anak di bawah umur sebagaimana ditentukan oleh aturan bisnis dan diizinkan oleh peraturan.
Jika pengguna diidentifikasi sebagai anak di bawah umur, Anda dapat mengatur alur pengguna di Azure AD B2C ke salah satu dari tiga opsi:
Mengirim id_token JWT yang ditandatangani kembali ke aplikasi: Pengguna terdaftar di direktori, dan token dikembalikan ke aplikasi. Aplikasi kemudian dilanjutkan dengan menerapkan aturan bisnis. Misalnya, aplikasi dapat dilanjutkan dengan proses persetujuan orang tua. Untuk menggunakan metode ini, pilih untuk menerima klaim ageGroup dan consentProvidedForMinor dari aplikasi.
Kirim token JSON yang tidak ditandatangani ke aplikasi: Azure AD B2C memberi tahu aplikasi bahwa pengguna masih di bawah umur dan memberikan status persetujuan orang tua pengguna. Aplikasi kemudian dilanjutkan dengan menerapkan aturan bisnis. Token JSON tidak menyelesaikan autentikasi yang berhasil dengan aplikasi. Aplikasi harus memproses pengguna yang tidak diautentikasi sesuai dengan klaim yang disertakan dalam token JSON, yang mungkin mencakup nama, email, ageGroup, dan consentProvidedForMinor.
Blokir pengguna: Jika pengguna masih di bawah umur, dan persetujuan orang tua belum diberikan, Azure AD B2C dapat memberi tahu pengguna bahwa mereka diblokir. Tidak ada token yang dikeluarkan, akses diblokir, dan akun pengguna tidak dibuat selama perjalanan pendaftaran. Untuk menerapkan pemberitahuan ini, Anda menyediakan halaman konten HTML/CSS yang sesuai untuk memberi tahu pengguna dan menyajikan opsi yang sesuai. Tidak ada tindakan lebih lanjut yang diperlukan oleh aplikasi untuk pendaftaran baru.
Dapatkan izin orang tua
Bergantung pada peraturan aplikasi, izin orang tua mungkin perlu diberikan oleh pengguna yang diverifikasi sebagai orang dewasa. Azure AD B2C tidak memberikan pengalaman untuk memverifikasi usia individu dan kemudian mengizinkan orang dewasa terverifikasi untuk memberikan persetujuan orang tua kepada anak di bawah umur. Pengalaman ini harus diberikan oleh aplikasi atau penyedia layanan lain.
Berikut ini adalah contoh alur pengguna untuk mengumpulkan persetujuan orang tua:
Operasi Microsoft Graph API mengidentifikasi pengguna sebagai anak di bawah umur dan mengembalikan data pengguna ke aplikasi dalam bentuk token JSON yang tidak ditandatangani.
Aplikasi memproses token JSON dan menampilkan layar kepada anak di bawah umur, memberi tahu mereka bahwa persetujuan orang tua diperlukan dan meminta persetujuan orang tua secara online.
Azure AD B2C menunjukkan perjalanan masuk yang dapat masuk pengguna secara normal dan mengeluarkan token ke aplikasi yang diatur untuk menyertakan legalAgeGroupClassification = "minorWithParentalConsent". Aplikasi mengumpulkan alamat email orang tua dan memverifikasi bahwa orang tua adalah orang dewasa. Untuk melakukannya, ia menggunakan sumber tepercaya, seperti kantor ID nasional/regional, verifikasi lisensi, atau bukti kartu kredit. Jika verifikasi berhasil, aplikasi meminta anak di bawah umur untuk masuk dengan menggunakan alur pengguna Azure AD B2C. Jika persetujuan ditolak (misalnya, jika legalAgeGroupClassification = "minorWithoutParentalConsent"), Azure AD B2C mengembalikan token JSON (bukan login) ke aplikasi untuk memulai ulang proses persetujuan. Secara opsional, dimungkinkan untuk menyesuaikan alur pengguna sehingga anak di bawah umur atau orang dewasa dapat mendapatkan kembali akses ke akun anak di bawah umur dengan mengirimkan kode pendaftaran ke alamat email anak di bawah umur atau alamat email orang dewasa yang tercatat.
Aplikasi ini menawarkan opsi kepada anak di bawah umur untuk mencabut persetujuan.
Ketika anak di bawah umur atau orang dewasa mencabut persetujuan, Microsoft Graph API dapat digunakan untuk mengubah consentProvidedForMinor menjadi ditolak. Atau, aplikasi dapat memilih untuk menghapus anak di bawah umur yang persetujuannya telah dicabut. Secara opsional, dimungkinkan untuk menyesuaikan alur pengguna sehingga anak di bawah umur yang diautentikasi (atau induk yang menggunakan akun anak di bawah umur) dapat mencabut persetujuan. Azure AD B2C merekam consentProvidedForMinor seperti ditolak.
Untuk informasi selengkapnya tentang legalAgeGroupClassification, consentProvidedForMinor, dan ageGroup, lihat Jenis sumber daya pengguna. Untuk informasi selengkapnya tentang atribut kustom, lihat Menggunakan atribut kustom untuk mengumpulkan informasi tentang konsumen Anda. Saat Anda menangani atribut yang diperluas dengan menggunakan Microsoft Graph API, Anda harus menggunakan versi panjang atribut, seperti extension_18b70cf9bb834edd8f38521c2583cd86_dateOfBirth: 2011-01-01T00:00:00Z.
Kumpulkan data tanggal lahir dan negara/wilayah
Aplikasi dapat mengandalkan Azure AD B2C untuk mengumpulkan tanggal lahir (DOB) dan informasi negara/wilayah dari semua pengguna selama pendaftaran. Jika informasi ini belum ada, aplikasi dapat memintanya dari pengguna selama perjalanan autentikasi (masuk) berikutnya. Pengguna tidak dapat melanjutkan tanpa memberikan informasi DOB dan negara/wilayah mereka. Azure AD B2C menggunakan informasi untuk menentukan apakah individu tersebut dianggap sebagai anak di bawah umur sesuai dengan standar peraturan negara/wilayah tersebut.
Alur pengguna yang disesuaikan dapat mengumpulkan informasi DOB dan negara/wilayah serta menggunakan transformasi klaim Azure AD B2C untuk menentukan AgeGroup dan mempertahankan hasilnya (atau mempertahankan informasi DOB dan negara/wilayah secara langsung) di direktori.
Langkah-langkah berikut menunjukkan logika yang digunakan untuk menghitung AgeGroup dari tanggal lahir pengguna:
Cobalah untuk menemukan negara/wilayah dengan kode negara/wilayah dalam daftar. Jika negara/wilayah tidak ditemukan, kembali ke Default.
Jika simpul MinorConsent ada di elemen negara/wilayah:
sebuah. Hitung tanggal kelahiran pengguna untuk dianggap dewasa. Misalnya, jika tanggal saat ini adalah 14 Maret 2015, dan MinorConsent adalah 18, tanggal lahir harus selambat-lambatnya 14 Maret 2000.
b. Bandingkan tanggal lahir minimum dengan tanggal lahir yang sebenarnya. Jika tanggal lahir minimum sebelum tanggal lahir pengguna, penghitungan akan menampilkan Anak di Bawah Umur sebagai perhitungan kelompok usia.
Jika simpul MinorNoConsentRequired ada di elemen negara/wilayah, ulangi langkah 2a dan 2b menggunakan nilai dari MinorNoConsentRequired. Output 2b mengembalikan MinorNoConsentRequired jika tanggal lahir minimum sebelum tanggal lahir pengguna.
Jika tidak ada perhitungan yang mengembalikan true, penghitungan akan menampilkan Dewasa.
Jika aplikasi telah mengumpulkan data DOB atau negara/wilayah dengan andal dengan metode lain, aplikasi dapat menggunakan Graph API untuk memperbarui data pengguna dengan informasi ini. Contohnya:
- Jika pengguna diketahui sudah dewasa, perbarui ageGroup atribut direktori dengan nilai Dewasa.
- Jika pengguna diketahui masih di bawah umur, perbarui ageGroup atribut direktori dengan nilai Minor dan atur consentProvidedForMinor, sebagaimana mestinya.
Aturan perhitungan kecil
Age gating melibatkan dua nilai usia: usia di mana seseorang tidak lagi dianggap sebagai anak di bawah umur, dan usia di mana anak di bawah umur harus memiliki persetujuan orang tua. Tabel berikut mencantumkan aturan usia yang digunakan untuk mendefinisikan anak di bawah umur dan anak di bawah umur yang memerlukan persetujuan.
Negara/Wilayah | Nama Negara/wilayah | Usia persetujuan anak di bawah umur | Usia di bawah umur |
---|---|---|---|
Bawaan | Tidak ada | Tidak ada | 18 |
Æ | Uni Emirat Arab | Tidak ada | 21 |
DI | Austria | 14 | 18 |
ADA | Belgia | 14 | 18 |
BG | Bulgaria | 16 | 18 |
BH | Bahrain | Tidak ada | 21 |
cm | Kamerun | Tidak ada | 21 |
CY | Siprus | 16 | 18 |
CZ | Republik Ceko | 16 | 18 |
DE | Jerman | 16 | 18 |
DK | Denmark | 16 | 18 |
EE | Estonia | 16 | 18 |
MISALNYA | Mesir | Tidak ada | 21 |
ES | Spanyol | 13 | 18 |
FR | Prancis | 16 | 18 |
GB | Inggris Raya | 13 | 18 |
GR | Yunani | 16 | 18 |
Sumber Daya Manusia | Kroasia | 16 | 18 |
HU | Hongaria | 16 | 18 |
IE (Internet Explorer) | Irlandia | 13 | 18 |
Teknologi Informasi | Italia | 16 | 18 |
KR | Korea Selatan | 14 | 18 |
LT | Lituania | 16 | 18 |
LU | Luksemburg | 16 | 18 |
Latvia | Latvia | 16 | 18 |
MT | Malta | 16 | 18 |
NA | Namibia | Tidak ada | 21 |
Belanda | Belanda | 16 | 18 |
PL | Polandia | 13 | 18 |
PT | Portugal | 16 | 18 |
RO | Rumania | 16 | 18 |
SE | Swedia | 13 | 18 |
Singapura | Singapura | Tidak ada | 21 |
Sistem Internasional (SI) | Slovenia | 16 | 18 |
SK | Slovakia | 16 | 18 |
TD | Chad | Tidak ada | 21 |
TH | Thailand | Tidak ada | 20 |
Taiwan | Taiwan | Tidak ada | 20 |
Amerika Serikat | Amerika Serikat | 13 | 18 |
Menangkap perjanjian persyaratan penggunaan
Saat mengembangkan aplikasi, Anda biasanya menangkap penerimaan pengguna atas persyaratan penggunaan dalam aplikasi mereka tanpa partisipasi atau hanya sedikit dari direktori pengguna. Namun, dimungkinkan untuk menggunakan alur pengguna Azure AD B2C untuk mengumpulkan penerimaan pengguna terhadap persyaratan penggunaan, membatasi akses jika penerimaan tidak diberikan, dan menegakkan penerimaan perubahan persyaratan penggunaan di masa mendatang, berdasarkan tanggal penerimaan terbaru dan tanggal versi terbaru persyaratan penggunaan.
Ketentuan Penggunaan juga dapat mencakup "Persetujuan untuk berbagi data dengan pihak ketiga." Bergantung pada peraturan setempat dan aturan bisnis, Anda dapat mengumpulkan penerimaan pengguna atas kedua kondisi yang digabungkan, atau Anda dapat mengizinkan pengguna untuk menerima satu kondisi dan bukan yang lain.
Langkah-langkah berikut menjelaskan cara mengelola persyaratan penggunaan:
Catat penerimaan persyaratan penggunaan dan tanggal penerimaan dengan menggunakan Graph API dan atribut yang diperluas. Anda dapat melakukannya dengan menggunakan alur pengguna bawaan dan kebijakan kustom. Sebaiknya buat dan gunakan atribut extension_termsOfUseConsentDateTime dan extension_termsOfUseConsentVersion .
Buat kotak centang wajib berlabel "Terima Ketentuan Penggunaan", dan catat hasilnya saat pendaftaran. Anda dapat melakukannya dengan menggunakan alur pengguna bawaan dan kebijakan kustom.
Azure AD B2C menyimpan perjanjian persyaratan penggunaan dan penerimaan pengguna. Anda dapat menggunakan Graph API untuk mengkueri status pengguna mana pun dengan membaca atribut ekstensi yang digunakan untuk merekam respons (misalnya, baca termsOfUseTestUpdateDateTime). Anda dapat melakukannya dengan menggunakan alur pengguna bawaan dan kebijakan kustom.
Mewajibkan penerimaan ketentuan penggunaan yang diperbarui dengan membandingkan tanggal penerimaan dengan tanggal versi terbaru dari ketentuan penggunaan. Anda dapat membandingkan tanggal hanya dengan menggunakan alur pengguna kustom. Gunakan atribut yang diperluas extension_termsOfUseConsentDateTime, dan bandingkan nilainya dengan klaim termsOfUseTextUpdateDateTime. Jika penerimaan sudah lama, paksa penerimaan baru dengan menampilkan layar yang ditegaskan sendiri. Jika tidak, blokir akses dengan menggunakan logika kebijakan.
Wajibkan penerimaan persyaratan penggunaan yang diperbarui dengan membandingkan nomor versi penerimaan dengan nomor versi terbaru yang diterima. Anda dapat membandingkan nomor versi hanya dengan menggunakan alur pengguna kustom. Gunakan extension_termsOfUseConsentDateTime atribut yang diperluas, dan bandingkan nilainya dengan klaim extension_termsOfUseConsentVersion. Jika penerimaan sudah lama, paksa penerimaan baru dengan menampilkan layar yang ditegaskan sendiri. Jika tidak, blokir akses dengan menggunakan logika kebijakan.
Anda dapat menangkap penerimaan persyaratan penggunaan dalam skenario berikut:
- Pengguna baru mendaftar. Ketentuan penggunaan ditampilkan, dan hasil penerimaan disimpan.
- Pengguna login yang sebelumnya telah menyetujui persyaratan penggunaan terbaru atau aktif. Ketentuan penggunaan tidak ditampilkan.
- Pengguna login yang belum menyetujui persyaratan penggunaan terbaru atau aktif. Ketentuan penggunaan ditampilkan, dan hasil penerimaan disimpan.
- Pengguna login yang telah menerima versi persyaratan penggunaan yang lebih lama, yang sekarang diperbarui ke versi terbaru. Ketentuan penggunaan ditampilkan, dan hasil penerimaan disimpan.
Gambar berikut menunjukkan alur pengguna yang direkomendasikan:
Berikut ini adalah contoh persetujuan persyaratan penggunaan berbasis tanggal dalam klaim. Jika extension_termsOfUseConsentDateTime
klaim lebih lama dari 2025-01-15T00:00:00
, paksa penerimaan baru dengan memeriksa termsOfUseConsentRequired
klaim Boolean, dan menampilkan layar yang ditegaskan sendiri.
<ClaimsTransformations>
<ClaimsTransformation Id="GetNewUserAgreeToTermsOfUseConsentDateTime" TransformationMethod="GetCurrentDateTime">
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="extension_termsOfUseConsentDateTime" TransformationClaimType="currentDateTime" />
</OutputClaims>
</ClaimsTransformation>
<ClaimsTransformation Id="IsTermsOfUseConsentRequired" TransformationMethod="IsTermsOfUseConsentRequired">
<InputClaims>
<InputClaim ClaimTypeReferenceId="extension_termsOfUseConsentDateTime" TransformationClaimType="termsOfUseConsentDateTime" />
</InputClaims>
<InputParameters>
<InputParameter Id="termsOfUseTextUpdateDateTime" DataType="dateTime" Value="2025-01-15T00:00:00" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="termsOfUseConsentRequired" TransformationClaimType="result" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
Berikut ini adalah contoh persetujuan persyaratan penggunaan berbasis versi dalam klaim. Jika extension_termsOfUseConsentVersion
klaim tidak sama dengan V1
, paksa penerimaan baru dengan memeriksa termsOfUseConsentRequired
klaim Boolean, dan menampilkan layar yang ditegaskan sendiri.
<ClaimsTransformations>
<ClaimsTransformation Id="GetEmptyTermsOfUseConsentVersionForNewUser" TransformationMethod="CreateStringClaim">
<InputParameters>
<InputParameter Id="value" DataType="string" Value=""/>
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="extension_termsOfUseConsentVersion" TransformationClaimType="createdClaim" />
</OutputClaims>
</ClaimsTransformation>
<ClaimsTransformation Id="GetNewUserAgreeToTermsOfUseConsentVersion" TransformationMethod="CreateStringClaim">
<InputParameters>
<InputParameter Id="value" DataType="string" Value="V1"/>
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="extension_termsOfUseConsentVersion" TransformationClaimType="createdClaim" />
</OutputClaims>
</ClaimsTransformation>
<ClaimsTransformation Id="IsTermsOfUseConsentRequiredForVersion" TransformationMethod="CompareClaimToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="extension_termsOfUseConsentVersion" TransformationClaimType="inputClaim1" />
</InputClaims>
<InputParameters>
<InputParameter Id="compareTo" DataType="string" Value="V1" />
<InputParameter Id="operator" DataType="string" Value="not equal" />
<InputParameter Id="ignoreCase" DataType="string" Value="true" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="termsOfUseConsentRequired" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
Langkah selanjutnya
- Aktifkan pembatasan usia di Azure AD B2C.
- Untuk mempelajari cara menghapus dan mengekspor data pengguna, lihat Mengelola data pengguna.
- Untuk contoh kebijakan kustom yang mengimplementasikan perintah persyaratan penggunaan, lihat Kebijakan Kustom B2C IEF - Daftar dan Masuk dengan perintah "Ketentuan Penggunaan".