Klaim dan Token
Topik ini menjelaskan berbagai jenis klaim yang dibuat oleh Windows Communication Foundation (WCF) dari token default yang didukungnya.
Anda dapat memeriksa klaim kredensial klien dengan menggunakan kelas ClaimSet dan Claim. ClaimSet
berisi kumpulan objek Claim
. Masing-masing Claim
memiliki anggota penting berikut:
Properti ClaimType mengembalikan Pengidentifikasi Sumber Daya Seragam (URI) yang menentukan jenis klaim yang dibuat. Misalnya, jenis klaim dapat berupa thumbprint dari sertifikat, dalam hal ini URI adalah
http://schemas.microsoft.com/ws/20005/05/identity/claims/thumprint
.Properti Right mengembalikan URI yang menentukan hak klaim. Hak yang telah ditentukan sebelumnya ditemukan di kelas Rights (Identity, PossessProperty).
Properti Resource mengembalikan sumber daya yang terkait dengan klaim.
Setiap ClaimSet juga memiliki properti Issuer, yang mewakili ClaimSet dari Issuer
.
Akun Windows
Jika kredensial klien dipetakan ke akun pengguna Windows, ClaimSet yang dihasilkan memiliki nilai berikut:
Issuer
adalah nilai yang dikembalikan oleh properti Windows statis dari kelas ClaimSet.Klaim dalam kumpulan tersebut adalah:
Claim dengan nilai ClaimType pengidentifikasi keamanan (SID), Right nilai properti
Identity
, dan Resource yang mengembalikan nilai SID sebenarnya. SID adalah nilai unik yang dikeluarkan pengendali domain untuk setiap pengguna. SID digunakan untuk mengidentifikasi pengguna dalam interaksi dengan keamanan Windows.Claim dengan ClaimType nilai SID, Right dari
PossessProperty
, dan Resource dari nilai SID.Claim dengan ClaimType dari Name, Right dari
PossessProperty
dan Resource string yang berisi nama pengguna (misalnya, "MYMACHINE\Bob").Klaim SID tambahan dengan PossessProperty untuk berbagai grup milik pengguna.
Sertifikat
Jika kredensial klien adalah sertifikat, ClaimSet yang dihasilkan memiliki nilai berikut:
Untuk sertifikat yang diterbitkan sendiri,
Issuer
adalah ClaimSet itu sendiri. ClaimSet mengembalikan ClaimType dari Thumbprint, Right dariIdentity
, dan nilai Resource yang merupakan array Byte yang berisi thumbprint sertifikat.Untuk sertifikat yang diterbitkan oleh otoritas sertifikasi, pengeluar sertifikatnya adalah
ClaimSet
yang mewakili sertifikat otoritas sertifikasi.Claims
dalam kumpulan meliputi:Claim
denganClaimType
dari Thumbprint,Right
dari PossessProperty, danResource
yang merupakan array byte yang berisi thumbprint dari sertifikatKlaim PossessProperty tambahan dari berbagai jenis, termasuk X500DistinguishedName, Dns, Name, Upn, dan Rsa, mewakili berbagai properti sertifikat. Sumber daya untuk klaim Rsa adalah kunci publik yang terkait dengan sertifikat.Catatan Jika jenis kredensial klien adalah sertifikat yang dipetakan layanan ke akun Windows, dua objek
ClaimSet
akan dibuat. Pertama berisi semua klaim yang terkait dengan akun Windows dan yang kedua berisi semua klaim yang terkait dengan sertifikat.
Nama Pengguna/Kata Sandi
Jika kredensial klien adalah nama pengguna/sandi (atau yang setara) yang tidak dipetakan ke akun Windows, ClaimSet
yang dihasilkan dikeluarkan oleh properti System statis dari kelas ClaimSet
. ClaimSet
berisi Identity
klaim jenis Name yang sumber dayanya adalah nama pengguna yang diberikan klien. Klaim yang sesuai memiliki Right
dari PossessProperty
.
Kunci RSA
Jika kunci RSA yang tidak terkait dengan sertifikat digunakan, ClaimSet
yang dihasilkan diterbitkan sendiri dan berisi klaim Identity
berjenis Rsa dengan sumber dayanya adalah kunci RSA. Klaim yang sesuai memiliki Right
dari PossessProperty
.
Klik SAML
Saat klien mengautentikasi dengan token Security Assertions Markup Language (SAML), ClaimSet
yang dihasilkan dikeluarkan oleh entitas yang menandatangani token SAML, seringkali sertifikat layanan token keamanan (STS) yang mengeluarkan token SAML. ClaimSet
berisi berbagai klaim seperti yang ditemukan di token SAML. Jika token SAML berisi SamlSubject
dengan nama non-null
, maka klaim Identity
dengan jenis NameIdentifier dan jenis sumber daya SamlNameIdentifierClaimResource akan dibuat.
Klaim Identitas dan ServiceSecurityContext.IsAnonymous
Jika tidak ada objek ClaimSet
yang dihasilkan dari kredensial klien yang berisi klaim dengan Right
dari Identity,
, maka properti IsAnonymous akan mengembalikan true
. Jika satu atau lebih klaim seperti itu ada, properti IsAnonymous
akan mengembalikan false
.