Anda dapat mengonfigurasi akun Cloud Identity atau Google Workspace Anda untuk menggunakan single sign-on (SSO). Saat Anda mengaktifkan SSO, pengguna tidak diminta untuk memasukkan sandi saat mereka mencoba mengakses layanan Google. Sebagai gantinya, pengguna akan dialihkan ke penyedia identitas eksternal (IdP) untuk melakukan autentikasi.
Menggunakan SSO dapat memberikan beberapa keuntungan:
- Anda memungkinkan pengalaman yang lebih baik bagi pengguna karena mereka dapat menggunakan kredensial yang ada untuk mengautentikasi dan tidak perlu memasukkan kredensial terlalu sering.
- Anda dapat memastikan bahwa IdP yang ada tetap menjadi sistem data untuk mengautentikasi pengguna.
- Anda tidak perlu menyinkronkan sandi ke Cloud Identity atau Google Workspace.
Untuk menggunakan SSO, pengguna harus memiliki akun pengguna di Cloud Identity atau Google Workspace dan identitas yang sesuai di IdP eksternal. Oleh karena itu, SSO biasa digunakan bersamaan dengan sumber otoritatif eksternal yang secara otomatis menyediakan pengguna ke Cloud Identity atau Google Workspace.
Proses single sign-on
Cloud Identity dan Google Workspace mendukung Security Assertion Markup Language (SAML) 2.0 untuk single sign-on. SAML adalah standar terbuka untuk pertukaran data autentikasi dan otorisasi antara IdP SAML dan penyedia layanan SAML. Saat Anda menggunakan SSO untuk Cloud Identity atau Google Workspace, IdP eksternal Anda adalah IdP SAML dan Google adalah penyedia layanan SAML.
Google menerapkan binding POST HTTP SAML 2.0. Binding ini menentukan cara informasi autentikasi dipertukarkan antara IdP SAML dan penyedia layanan SAML. Diagram berikut menggambarkan contoh cara kerja proses ini saat Anda menggunakan SSO untuk mengakses konsol Google Cloud.
- Anda dapat mengarahkan browser ke konsol Google Cloud (atau resource Google lain yang memerlukan autentikasi).
- Karena Anda belum diautentikasi, konsol Google Cloud akan mengalihkan browser Anda ke Login dengan Google.
- Login dengan Google menampilkan halaman Login, yang meminta Anda untuk memasukkan alamat email.
- Masukkan alamat email Anda dan kirim formulirnya.
- Login dengan Google mencari akun Cloud Identity atau Google Workspace yang terkait dengan alamat email Anda.
Karena akun Cloud Identity atau Google Workspace yang terkait telah mengaktifkan Single Sign-On, Login dengan Google akan mengalihkan browser ke URL IdP eksternal yang dikonfigurasi. Sebelum melakukan pengalihan, akan ditambahkan dua parameter ke URL,
RelayState
danSAMLRequest
.RelayState
berisi ID yang diharapkan akan diteruskan kembali oleh IdP eksternal.SAMLRequest
berisi Permintaan autentikasi SAML, sebuah dokumen XML yang telah menyusut, berenkode base64, dan URL Dalam bentuk yang didekode, permintaan autentikasi SAML terlihat mirip dengan berikut ini:<samlp:AuthnRequest ProviderName="google.com" IsPassive="false" AssertionConsumerServiceURL="https://www.google.com/a/example.com/acs" ...> <saml:Issuer xmlns:saml="...">google.com</saml:Issuer> <samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/> </samlp:AuthnRequest>
Contoh permintaan ini menginstruksikan IdP eksternal untuk mengautentikasi pengguna, membuat pernyataan SAML untuk
google.com
audiens, dan mempostingnya ke pernyataan layanan konsumen (ACS) dihttps://www.google.com/a/example.com/acs
.Domain yang disematkan di URL ACS (
example.com
) sesuai dengan domain primer akun Google Workspace atau Cloud Identity Anda.Jika Anda menggunakan fitur penerbit khusus domain saat mengonfigurasi SSO, penerbitnya merupakan
google.com/a/DOMAIN
bukangoogle.com
, denganDOMAIN
sebagai domain primer Cloud Identity atau akun Google Workspace Anda.Langkah-langkah yang diambil oleh IdP eksternal untuk melakukan autentikasi bergantung pada IdP dan konfigurasinya—misalnya, IdP yang mungkin menampilkan dialog login, atau mungkin meminta MFA atau sidik jari. Jika langkah-langkah tersebut berhasil diselesaikan, pertukaran SAML akan dilanjutkan:
IdP eksternal menampilkan halaman HTML yang dibuat khusus yang menyebabkan browser Anda segera mengirim permintaan HTTP POST ke URL ACS. Permintaan ini berisi dua parameter:
RelayState
, yang berisi nilai asli yang diteruskan ke IdP dalam permintaan autentikasi SAML.SAMLResponse
, yang berisi pernyataan SAML.berenkode base64. Pernyataan SAML adalah dokumen XML yang menyatakan bahwa IdP telah berhasil mengautentikasi pengguna. Dalam bentuk yang didekode, pernyataan SAML akan terlihat seperti berikut:<samlp:Response ...> ... <Assertion x...> <Issuer>https://idp.example.org/</Issuer> <Signature ...> ... </Signature> <Subject> <NameID Format="...:nameid-format:emailAddress">bob@example.org</NameID> ... </Subject> <Conditions NotBefore="..." NotOnOrAfter="..."> <AudienceRestriction> <Audience>google.com</Audience> </AudienceRestriction> </Conditions> <AttributeStatement> ... </AttributeStatement> <AuthnStatement AuthnInstant="..." ...> <AuthnContext> <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef> </AuthnContext> </AuthnStatement> </Assertion> </samlp:Response>
Contoh pernyataan ini telah dikeluarkan untuk audiens
google.com
(cocok dengan penerbit permintaan autentikasi SAML) dan menyatakan bahwa IdPhttps://idp.example.org/
telah mengautentikasi penggunabob@example.org
.Pernyataan SAML juga berisi tanda tangan digital. IdP membuat tanda tangan ini menggunakan kunci pribadi sertifikat penandatanganan. Kunci pribadi hanya diketahui oleh IdP. Kunci publik yang sesuai adalah bagian dari konfigurasi SSO di Cloud Identity atau Google Workspace dan dibagikan melalui Login dengan Google.
Pernyataan SAML juga berisi tanda tangan digital yang memungkinkan penyedia layanan SAML memverifikasi keaslian pernyataan.
Browser memposting pernyataan SAML ke endpoint ACS Google.
Titik akhir ACS memverifikasi tanda tangan digital pada pernyataan SAML. Pemeriksaan ini dilakukan untuk memastikan bahwa pernyataan berasal dari IdP eksternal tepercaya dan belum mengalami perubahan. Dengan asumsi bahwa tanda tangan tersebut valid, endpoint ACS akan menganalisis konten pernyataan, yang mencakup verifikasi informasi audiens dan membaca atribut
NameID
.Endpoint ACS mencari akun pengguna dengan mencocokkan
NameID
pernyataan SAML dengan alamat email utama pengguna. Endpoint akan memulai sesi.Berdasarkan informasi yang dienkode dalam
RelayState
parameter, endpoint menentukan URL resource yang awalnya ingin Anda akses, dan Anda akan dialihkan ke konsol Google Cloud.
Login yang dimulai dengan IdP
Proses yang diuraikan di bagian sebelumnya terkadang disebut sebagai login yang dimulai penyedia layanan karena proses tersebut dimulai pada penyedia layanan, yang dalam contoh sebelumnya adalah proses login konsol Google Cloud.
SAML juga menentukan alur alternatif yang disebut login yang dimulai IdP, yang dimulai di IdP. Google tidak mendukung alur ini, tetapi Anda dapat mencapai hasil yang serupa menggunakan URL berikut untuk memulai login yang dimulai oleh penyedia layanan:
https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://console.cloud.google.com/
Dalam contoh ini, DOMAIN
adalah domain primer
akun Cloud Identity atau Google Workspace Anda.
Autentikasi multi-faktor
Untuk melindungi akun pengguna dari akses yang tidak resmi, Anda dapat mewajibkan pengguna untuk memberikan faktor kedua selama autentikasi. Terdapat dua cara untuk menerapkan autentikasi multi-faktor saat menggunakan single sign-on:
- Jika IdP eksternal mendukung autentikasi multi-faktor, Anda dapat memintanya untuk menjalankan autentikasi multi-faktor sebagai bagian dari proses login berbasis SAML. Dalam kasus ini, konfigurasi tambahan tidak diperlukan pada Cloud Identity atau Google Workspace.
- Jika IdP tidak mendukung autentikasi multi-faktor, Anda dapat mengonfigurasi akun Cloud Identity atau Google Workspace untuk melakukan verifikasi dua langkah segera setelah pengguna melakukan autentikasi dengan IdP eksternal.
Jaringan
Pada binding Pengalihan HTTP SAML 2.0, IdP dan penyedia layanan tidak berkomunikasi secara langsung. Sebagai gantinya, semua komunikasi direlai melalui browser pengguna, seperti yang ditunjukkan dalam diagram berikut:
Dengan arsitektur ini, IdP tidak perlu diekspos melalui internet, atau bahkan memiliki akses internet, selama pengguna dapat mengaksesnya dari jaringan perusahaan Anda.
Konfigurasi IdP eksternal
Cloud Identity dan Google Workspace memungkinkan Anda mengonfigurasi single sign-on menggunakan fitur berikut:
Profil SAML: Anda dapat membuat profil SAML untuk setiap IdP yang ingin diintegrasikan. Untuk setiap pengguna, grup, atau unit organisasi di akun Cloud Identity atau Google Workspace, Anda kemudian memutuskan apakah mereka harus menggunakan SSO, dan profil SAML mana yang harus mereka gunakan.
Profil SSO organisasi klasik: Anda dapat membuat satu profil organisasi untuk diintegrasikan dengan satu IdP. Untuk setiap pengguna, grup, atau unit organisasi di akun Cloud Identity atau Google Workspace, Anda kemudian memutuskan apakah mereka harus menggunakan SSO atau tidak.
Cara yang tepat untuk mengonfigurasi IdP bergantung pada apakah Anda menggunakan profil SAML atau profil organisasi klasik. Tabel berikut merangkum setelan yang harus dikonfigurasi di IdP eksternal untuk membantu memastikan kompatibilitas.
Konfigurasi | Setelan yang diperlukan untuk profil organisasi klasik |
Setelan yang diperlukan untuk profil SAML |
Keterangan |
---|---|---|---|
ID Nama | Alamat email utama pengguna | Alamat email utama pengguna | |
Format ID Nama | urn:oasis:names:tc:SAML:1.1: |
urn:oasis:names:tc:SAML:1.1: |
|
ID entitas |
Jika fitur penerbit khusus domain diaktifkan:
Jika fitur penerbit khusus domain dinonaktifkan (default):
Gunakan fitur penerbit khusus domain jika Anda ingin mengintegrasikan beberapa akun Google Workspace atau Cloud Identity dengan IdP yang sama. Jika tidak, biarkan dinonaktifkan. |
ID entitas unik profil SAML Anda. Bergantung pada tanggal pembuatan profil SAML Anda, ID entitas menggunakan salah satu format berikut:
|
|
Pola URL ACS (atau URL Pengalihan) | https://www.google.com/a/* |
URL ACS unik profil SAML Anda. Bergantung pada tanggal pembuatan profil SAML Anda, URL menggunakan salah satu format berikut:
|
|
Permintaan penandatanganan | Nonaktif | Nonaktif | Permintaan autentikasi SAML yang dikeluarkan oleh Login dengan Google tidak pernah ditandatangani |
Penandatanganan pernyataan | Aktif | Aktif | Pernyataan SAML harus ditandatangani agar dapat mengaktifkan Login dengan Google untuk memverifikasi
keasliannya. Saat menyiapkan SSO di Konsol Admin, Anda harus mengupload kunci publik dari pasangan kunci penandatanganan token. |
Enkripsi pernyataan | Nonaktif | Nonaktif | |
Algoritme penandatanganan | RSA-SHA256 | RSA-SHA256 | RSA-SHA256 terkadang disingkat menjadi RS256 |
Langkah berikutnya
- Meninjau arsitektur referensi untuk berintegrasi dengan IdP eksternal.
- Pelajari cara menyiapkan penyediaan akun dan SSO dengan Azure AD atau Active Directory.
- Pelajari Praktik terbaik untuk menggabungkan Google Cloud dengan IdP eksternal.