Cloud & IT Cert Prep · Pelajaran

Identiti Bersekutu: SAML, OAuth dan OpenID Connect

Pelajari cara SSO, penegasan SAML, aliran OAuth 2.0 dan token OpenID Connect membolehkan pengguna mengesahkan identiti sekali untuk mengakses banyak aplikasi dengan selamat.

Pelajaran 4 daripada 413 langkah

Identiti Bersekutu: SAML, OAuth dan OpenID Connect ialah pelajaran Cloud & IT Cert Prep percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cloud & IT Cert Prep, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cloud & IT Cert Prep merangkumi sejumlah 4 pelajaran.

Masalah Identiti Merentas Domain

Dalam perusahaan moden, pekerja perlu mengaccess berdozen-dozen aplikasi — aplikasi awan, alat SaaS, portal rakan kongsi dan sistem dalaman — yang setiap satunya mungkin diselenggara oleh organisasi yang berbeza. Mencipta dan mengurus akaun berasingan untuk setiap aplikasi adalah tidak selamat (penggandaan kelayakan) dan tidak cekap. Identiti bersekutu menyelesaikan masalah ini dengan membolehkan Penyedia Identiti (IdP) — sumber identiti yang dipercayai dan berautoriti — mengesahkan pengguna serta berkongsi identiti yang telah disahkan itu dengan Penyedia Perkhidmatan (SP) merentas sempadan organisasi. Pengguna mengesahkan diri sekali dan mendapat access kepada berbilang sistem tanpa memasukkan semula kelayakan.

Asas Single Sign-On (SSO)

Single Sign-On (SSO) membolehkan pengguna mengesahkan diri sekali dan mengaccess berbilang aplikasi dalam sesuatu sesi tanpa pengesahan semula. Pengguna log masuk ke Penyedia Identiti (Active Directory korporat, Okta, Azure AD), menerima token sesi atau penegasan, lalu mengemukakan token ini kepada setiap Penyedia Perkhidmatan yang dilawati. SSO meningkatkan keselamatan dengan mengurangkan bilangan kata laluan yang perlu diurus oleh pengguna (sekali gus mengurangkan penggunaan semula), membolehkan penguatkuasaan dasar pengesahan secara berpusat, dan membenarkan pembatalan access serta-merta merentas semua aplikasi bersepadu apabila akaun dinyahaktifkan pada peringkat IdP.

SAML 2.0: Persekutuan Berasaskan XML

SAML (Bahasa Penandaan Penegasan Keselamatan) 2.0 ialah standard terbuka berasaskan XML untuk menukar data pengesahan dan authorization antara Penyedia Identiti dan Penyedia Perkhidmatan. Aliran SAML: (1) pengguna mengaccess Penyedia Perkhidmatan (contohnya, Salesforce), (2) SP mengubah hala pengguna ke Penyedia Identiti (contohnya, Okta), (3) pengguna mengesahkan diri di IdP, (4) IdP mengeluarkan Penegasan SAML XML yang ditandatangani dan mengandungi identiti serta atribut pengguna, (5) penegasan dikembalikan kepada SP, (6) SP mengesahkan tandatangan penegasan menggunakan kunci awam IdP dan memberikan access. SAML digunakan secara meluas untuk SSO perusahaan dalam aplikasi web.

<!-- Simplified SAML Assertion structure -->
<saml:Assertion xmlns:saml='urn:oasis:names:tc:SAML:2.0:assertion'
  IssueInstant='2026-06-21T10:00:00Z'
  ID='_abc123'>
  <saml:Issuer>https://idp.company.com</saml:Issuer>
  <saml:Subject>
    <saml:NameID>alice@company.com</saml:NameID>
  </saml:Subject>
  <saml:Conditions NotBefore='2026-06-21T10:00:00Z'
                   NotOnOrAfter='2026-06-21T10:05:00Z'/>
  <saml:AttributeStatement>
    <saml:Attribute Name='groups'>
      <saml:AttributeValue>Sales</saml:AttributeValue>
    </saml:Attribute>
  </saml:AttributeStatement>
  <!-- Signature verifies IdP signed this assertion -->
</saml:Assertion>

Peranan SAML: IdP, SP dan Principal

Tiga pihak mengambil bahagian dalam persekutuan SAML. Principal ialah pengguna (atau sistem) yang ingin mendapatkan access — pihak ini memulakan proses pengesahan. Penyedia Identiti (IdP) ialah sumber identiti berautoriti yang mengesahkan principal dan mengeluarkan penegasan — contohnya Microsoft Azure AD, Okta, Ping Identity dan ADFS. Penyedia Perkhidmatan (SP) menggunakan penegasan dan memberikan access berdasarkan penegasan tersebut — contohnya Salesforce, Google Workspace, AWS dan mana-mana aplikasi yang didayakan SAML. SP dan IdP mewujudkan kepercayaan terlebih dahulu dengan bertukar metadata yang mengandungi URL titik akhir serta sijil tandatangan masing-masing.

OAuth 2.0: Rangka Kerja Authorization

OAuth 2.0 ialah rangka kerja authorization (bukan protokol pengesahan) yang membolehkan aplikasi pihak ketiga mengaccess sumber bagi pihak pengguna tanpa mendedahkan kelayakan pengguna. Kes penggunaan klasiknya ialah: 'Benarkan aplikasi penyuntingan foto ini mengaccess Google Photos anda.' OAuth 2.0 memperkenalkan empat peranan: Pemilik Sumber (pengguna), Client (aplikasi pihak ketiga), Pelayan Authorization (mengeluarkan token) dan Pelayan Sumber (menempatkan sumber yang dilindungi). Pengguna memberikan authorization kepada client, yang menerima token access untuk dikemukakan kepada pelayan sumber — tanpa memerlukan kata laluan sebenar pengguna.

Aliran Kod Authorization OAuth 2.0

Aliran Kod Authorization ialah aliran OAuth 2.0 yang paling selamat untuk aplikasi web. Alirannya: (1) Client mengubah hala pengguna ke Pelayan Authorization bersama skop yang diminta; (2) User mengesahkan diri dan memberikan persetujuan pada Pelayan Authorization; (3) Pelayan Authorization mengubah hala kembali dengan kod authorization yang berjangka hayat pendek; (4) Client menukar kod tersebut dengan token access (dan secara pilihan token penyegaran) melalui panggilan pelayan-ke-pelayan menggunakan kelayakan client; (5) Client menggunakan token access untuk memanggil Pelayan Sumber. Pertukaran kod berlaku pada bahagian pelayan, sekali gus menghalang token access daripada terdedah dalam sejarah pelayar atau log.

# OAuth 2.0 Authorization Code Flow (step 3-4)
# Step 3: User is redirected back to client with auth code
# GET https://app.example.com/callback?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz

# Step 4: Client exchanges code for access token (server-to-server)
curl -X POST https://auth.example.com/oauth2/token \
  -d 'grant_type=authorization_code' \
  -d 'code=SplxlOBeZQQYbYS6WxSbIA' \
  -d 'redirect_uri=https://app.example.com/callback' \
  -d 'client_id=client_abc' \
  -d 'client_secret=secret_xyz'
# Response: {'access_token': 'MTQ0Nj...', 'token_type': 'Bearer', 'expires_in': 3600}

OpenID Connect: Menambahkan Pengesahan pada OAuth

OpenID Connect (OIDC) ialah lapisan pengesahan yang dibina di atas OAuth 2.0. OAuth hanya menyediakan authorization (token access membuktikan perkara yang boleh dilakukan oleh client); OIDC menambahkan pengesahan ( token ID yang membuktikan identiti pengguna). OIDC menambahkan skop openid pada aliran OAuth dan mengembalikan Token ID JWT (JSON Web Token) yang ditandatangani bersama token access. Token ID mengandungi tuntutan (nama, e-mel, sub [pengenal subjek]) yang mengenal pasti pengguna. OIDC kini merupakan protokol utama untuk SSO yang menghadap pengguna — butang 'Log masuk dengan Google/Apple/Microsoft' semuanya menggunakan OIDC.

# OIDC ID Token is a JWT with three base64url-encoded parts:
# header.payload.signature

# Decoded payload example:
# {
#   'iss': 'https://accounts.google.com',
#   'sub': '110169484474386276334',
#   'aud': 'client_id_abc123',
#   'exp': 1750000000,
#   'iat': 1749996400,
#   'email': 'alice@gmail.com',
#   'name': 'Alice Smith',
#   'email_verified': true
# }

# The signature is verified with the IdP's public key (from JWKS endpoint)

JWT: Token dalam Pengesahan Moden

JSON Web Tokens (JWT) ialah format padat dan selamat URL untuk mewakili tuntutan antara pihak. JWT mempunyai tiga bahagian yang dikodkan dalam base64url dan dipisahkan oleh noktah: Header (algoritma dan jenis token), Payload (tuntutan: iss, sub, aud, exp, iat dan tuntutan tersuai), serta Signature (tandatangan kriptografi yang mengesahkan integriti token). JWT adalah serba lengkap — Pelayan Sumber boleh mengesahkannya tanpa memanggil semula Pelayan Authorization, sekali gus meningkatkan prestasi dan membolehkan seni bina tanpa keadaan. Keperluan keselamatan kritikal: sentiasa sahkan tandatangan JWT serta semak tuntutan exp (tamat tempoh) dan aud (audiens).

# Decode a JWT (header and payload are just base64 encoded)
import base64, json

jwt = 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFsaWNlIiwiZXhwIjoxNzUwMDAwMDAwfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
parts = jwt.split('.')
print('Header:', json.loads(base64.b64decode(parts[0] + '==')))
print('Payload:', json.loads(base64.b64decode(parts[1] + '==')))
# Signature (parts[2]) must be verified with IdP public key!

SAML vs OAuth vs OIDC: Bila Hendak Menggunakan Setiap Satu

Memahami bila setiap standard digunakan amat penting untuk peperiksaan Security+. SAML 2.0: SSO perusahaan untuk aplikasi web, aliran berasaskan pelayar dan penegasan XML. Teknologi legasi tetapi digunakan secara meluas dalam perusahaan. OAuth 2.0: authorization API — memberikan aplikasi pihak ketiga access terhad kepada sumber. Ia tidak mengesahkan pengguna secara langsung. OIDC: pengesahan pengguna umum dan perusahaan moden (SSO), dibina di atas OAuth 2.0. Ia mengembalikan token ID JWT yang mengenal pasti pengguna. Dalam amalan, persekitaran perusahaan sering menggunakan SAML untuk SSO aplikasi dan OIDC untuk pengesahan API/mudah alih. Persekitaran cloud-native moden lebih mengutamakan OIDC berbanding SAML kerana format JSON/JWT dan sokongan mudah alihnya yang lebih baik.

Vektor Serangan Persekutuan

Sistem identiti bersekutu memperkenalkan vektor serangan tertentu. Serangan pengulangan penegasan: penyerang memintas penegasan SAML dan mengulang penghantarannya untuk mendapatkan access. Langkah mitigasinya ialah jangka hayat penegasan yang pendek dan ID penegasan yang hanya boleh digunakan sekali. Pembungkusan tandatangan XML (XSW): dalam SAML, penyerang kadangkala boleh memanipulasi XML yang ditandatangani untuk mengubah tuntutan sambil mengekalkan tandatangan yang sah pada kandungan asal. Kekeliruan algoritma JWT: jika pelayan menerima kedua-dua algoritma RS256 (asimetrik) dan HS256 (simetrik), penyerang boleh memalsukan JWT dengan menggunakan kunci awam pelayan sebagai rahsia HMAC untuk HS256. Sentiasa sahkan bahawa Header algoritma sepadan dengan algoritma yang dijangka. Pengubah hala terbuka: URI penghalaan semula OAuth mesti dipadankan tepat-tepat untuk menghalang kecurian token melalui penghalaan semula ke tapak yang dikawal penyerang.

Persekutuan Direktori dan SCIM

Persekutuan identiti perusahaan sering memerlukan penyegerakan data identiti pengguna antara sistem. SCIM (Pengurusan Identiti Rentas Domain Sistem) ialah standard API REST untuk mengautomatikkan pembekalan dan nyahbekalan pengguna antara Penyedia Identiti dan Penyedia Perkhidmatan yang disambungkan. Apabila pekerja baharu ditambahkan pada Azure AD (IdP), SCIM mencipta akaun mereka secara automatik dalam Salesforce, Slack, GitHub dan aplikasi lain yang serasi dengan SCIM. Apabila pekerja tersebut diberhentikan, SCIM menyahaktifkan semua akaun serentak — menutup tempoh apabila akaun yatim boleh dieksploitasi. SCIM melengkapi protokol SSO (SAML/OIDC) dengan mengendalikan pengurusan kitar hayat yang tidak ditangani oleh protokol SSO.

Semakan Pantas

Uji pemahaman anda tentang konsep CompTIA Security+ (SY0-701) daripada pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini, anda telah mempelajari bahawa: SAML 2.0 menggunakan penegasan XML untuk SSO perusahaan berasaskan pelayar; OAuth 2.0 ialah rangka kerja authorization untuk pendelegasian access API; OpenID Connect menambahkan pengesahan (token ID JWT) pada OAuth; dan SCIM mengautomatikkan pengurusan kitar hayat identiti merentas sistem bersekutu. Kursus Pengesahan dan Authorization ini telah selesai — seterusnya, kita akan meneroka Asas Keselamatan Network.

Percuma untuk bermula

Pelajari Cloud & IT Cert Prep dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
150
Pelajaran
600

Soalan Lazim

Adakah pelajaran “Identiti Bersekutu: SAML, OAuth dan OpenID Connect” percuma?

Ya — teks penuh “Identiti Bersekutu: SAML, OAuth dan OpenID Connect” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Cloud & IT Cert Prep, tingkat taraf kepada CoddyKit PRO. Kursus Cloud & IT Cert Prep merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Identiti Bersekutu: SAML, OAuth dan OpenID Connect”?

Pelajari cara SSO, penegasan SAML, aliran OAuth 2.0 dan token OpenID Connect membolehkan pengguna mengesahkan identiti sekali untuk mengakses banyak aplikasi dengan selamat. Anda berlatih Cloud & IT Cert Prep menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Cloud & IT Cert Prep?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Cloud & IT Cert Prep di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Identiti Bersekutu: SAML, OAuth dan OpenID Connect” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Dasar Kata Laluan dan Pengesahan Berbilang Faktor
  2. Biometrik dan Pengesahan Berasaskan Token
  3. Model Keizinan: RBAC, MAC dan DAC
  4. Identiti Bersekutu: SAML, OAuth dan OpenID Connect
← Kembali ke Cloud & IT Cert Prep