Single sign-on

Last reviewed 2024-09-05 UTC

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.

Menggunakan SSO untuk mengakses konsol Google Cloud.

  1. Anda dapat mengarahkan browser ke konsol Google Cloud (atau resource Google lain yang memerlukan autentikasi).
  2. Karena Anda belum diautentikasi, konsol Google Cloud akan mengalihkan browser Anda ke Login dengan Google.
  3. Login dengan Google menampilkan halaman Login, yang meminta Anda untuk memasukkan alamat email.
  4. Masukkan alamat email Anda dan kirim formulirnya.
  5. Login dengan Google mencari akun Cloud Identity atau Google Workspace yang terkait dengan alamat email Anda.
  6. 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 dan SAMLRequest.

    • 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) di https://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 bukan google.com, dengan DOMAIN 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:

    Pertukaran SAML menggunakan SSO.

  7. 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 IdP https://idp.example.org/ telah mengautentikasi pengguna bob@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.

  8. Browser memposting pernyataan SAML ke endpoint ACS Google.

  9. 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.

  10. Endpoint ACS mencari akun pengguna dengan mencocokkan NameID pernyataan SAML dengan alamat email utama pengguna. Endpoint akan memulai sesi.

  11. 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:

  1. 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.
  2. 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:

Komunikasi yang disampaikan melalui browser pengguna.

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:nameid-format:emailAddress urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
ID entitas

Jika fitur penerbit khusus domain diaktifkan:

google.com/a/DOMAIN

Jika fitur penerbit khusus domain dinonaktifkan (default):

google.com

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:

https://accounts.google.com/samlrp/metadata?rpid=ID

https://accounts.google.com/samlrp/ID

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:

https://accounts.google.com/samlrp/acs?rpid=ID

https://accounts.google.com/samlrp/ID/acs

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