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 dari Identity, 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 dengan ClaimType dari Thumbprint, Right dari PossessProperty, dan Resource yang merupakan array byte yang berisi thumbprint dari sertifikat

    • Klaim 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.

Lihat juga