Sign inGet Started

Menyiapkan SSO dengan Microsoft Entra ID

Halaman ini membahas sisi Entra dari koneksi SSO. Sisi Bird (memverifikasi domain, menguji, mengaktifkan, dan mewajibkan SSO) sama untuk setiap provider dan ada di SSO dan provisioning.

Entra dan Bird masing-masing membutuhkan nilai dari sisi lain, jadi dari mana Anda memulai bergantung pada protokolnya. Buka keduanya selama Anda bekerja.

SAML

Mulai di Bird untuk SAML. Entity ID dan Assertion Consumer Service URL koneksi SAML berasal dari koneksi itu sendiri, jadi buat koneksi dengan I have not set up my provider yet, daftarkan nilai yang ditampilkan, lalu kembali ke Supply the details. Menyiapkan SAML tanpa nilai placeholder memandu alur tersebut.

Nama field Entra tidak sama dengan nama field Bird:

Di Bird, pada Register these with your identity providerDi Microsoft Entra ID
Assertion Consumer Service URLReply URL (Assertion Consumer Service URL)
Entity IDIdentifier (Entity ID)
Sign-in URL for this connectionSign on URL

Mengisi Sign on URL atau tidak menentukan perilaku tile My Apps. Jika diisi, tile memulai sign-in di Bird, yang kemudian meminta assertion dari Entra. Jika dikosongkan, tile mengirim assertion ke Bird secara langsung. Bird menerima keduanya, selama koneksi mengizinkan sign-in yang dimulai oleh identity provider.

Atur format NameID sendiri

Metadata federasi Entra tidak mengiklankan format NameID sama sekali. Bird membaca format dari metadata jika provider mempublikasikannya, sehingga koneksi Entra secara default menggunakan permanent identifier, dan pengujian pertama gagal karena format yang benar-benar dikirim Entra tidak cocok.

Buka Edit pada koneksi dan atur Identify members by ke alamat email anggota sebelum Anda menjalankan pengujian pertama. Di Entra, atur claim Unique User Identifier (Name ID) ke user.mail, dengan format name identifier diatur ke Email address.

Okta dan Google keduanya mengiklankan format, jadi langkah ini khusus untuk Entra.

Nonaktifkan Sign SAML response

Biarkan Sign SAML response nonaktif, sehingga Entra menandatangani assertion, bukan response yang membungkusnya. Jika response signing diaktifkan, assertion di dalamnya tidak ditandatangani dan Bird menolak setiap sign-in dengan error tanda tangan yang terlihat seperti masalah sertifikat.

Masa berlaku assertion dan rotasi sertifikat

Entra menandatangani assertion yang valid dari lima menit sebelum diterbitkan hingga 60 menit setelahnya, jendela waktu yang lebih lebar dibandingkan Okta atau Google, dan Bird menerimanya.

Lakukan rotasi dengan tumpang tindih. Tambahkan sertifikat baru ke koneksi Bird selagi sertifikat lama masih ada, aktifkan sertifikat baru di Entra, lalu hapus sertifikat lama dari Bird. Menghapus sertifikat lama sebelum Entra mengaktifkan yang baru akan menolak setiap sign-in hingga keduanya cocok.

Client secret dan signing certificate Entra keduanya memiliki masa kedaluwarsa. Catat tanggalnya dan rencanakan penggantian; sign-in melalui kredensial yang kedaluwarsa langsung gagal pada hari itu.

OIDC

Mulai di portal Entra untuk OIDC. Bird membutuhkan issuer, client ID, dan client secret untuk membuat koneksi OIDC, jadi daftarkan aplikasi di Entra terlebih dahulu. Redirect URI Bird sama untuk setiap koneksi dan ditampilkan di Add connection sebelum Anda membuat apa pun, jadi Anda bisa mendaftarkannya lebih awal.

Daftarkan aplikasi di Entra, tambahkan client secret, dan salin client ID beserta secret ke Bird.

Gunakan issuer khusus tenant Anda, yaitu issuer v2.0 yang memuat tenant id Anda. Jangan gunakan endpoint multi-tenant common: discovery document-nya mendeskripsikan issuer sebagai template, bukan nilai, dan koneksi yang dibuat dari endpoint tersebut gagal di setiap sign-in. Bird melakukan autentikasi ke token endpoint dengan client_secret_basic.

Daftarkan Redirect URI Bird sebagai redirect URI pada app registration.

Isi atribut mail setiap anggota

Bird membaca alamat anggota dari claim email pada ID token. Entra mengeluarkan claim tersebut hanya jika atribut mail pengguna diisi, di bagian Contact information pada profil Entra mereka. Tenant yang penggunanya tidak memiliki mailbox (organisasi yang menggunakan penyedia email lain) umumnya mengosongkannya, dan pengujian Bird kemudian melaporkan bahwa tidak ada alamat email yang diterima, meskipun principal name pengguna adalah alamat yang valid.

Isi mail untuk setiap anggota yang akan sign in melalui Bird.

Tile My Apps

Agar tile muncul, atur Home page URL pada app registration ke Initiate login URI koneksi dari Bird, atur Visible to users ke Yes, dan tugaskan pengguna. Tanpa home page URL, tile disembunyikan.

Penugasan aplikasi tidak membatasi siapa yang dapat mengakses Bird

Mengatur Assignment required pada aplikasi Entra tidak dengan sendirinya mencegah anggota yang belum ditugaskan untuk sign in ke Bird melalui OIDC. Bird meminta scope standar openid dan email, yang diperlakukan Entra sebagai permission Microsoft Graph, sehingga Entra mengevaluasi penugasan terhadap Graph, bukan terhadap aplikasi Bird Anda.

Agar Entra menerapkan penugasan, beserta conditional access bercakupan aplikasi, buat scope pada app registration di bagian Expose an API, dan minta Bird untuk memintanya pada koneksi. Sebelum itu, anggota yang dapat mengakses organisasi Anda melalui koneksi ini adalah mereka yang alamatnya terdaftar di salah satu domain terverifikasi.

Ini berlaku untuk jalur OIDC. Aplikasi SAML adalah resource tersendiri di Entra, sehingga penugasan dievaluasi terhadap aplikasi itu sendiri.

Langkah selanjutnya

Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini.