Bagikan melalui


Aturan klaim dan klaim

Untuk memahami tata bahasa aturan klaim, Anda harus terlebih dahulu memahami klaim kebijakan pengesahan.

Klaim

Klaim adalah kumpulan properti yang dikelompokkan bersama untuk memberikan informasi yang relevan. Untuk Azure Attestation, klaim berisi properti berikut ini:

  • jenis: Nilai string yang menunjukkan jenis klaim.
  • nilai: Nilai Boolean, bilangan bulat, atau untai yang mewakili nilai klaim.
  • valueType: Jenis data informasi yang disimpan dalam properti nilai. Jenis yang didukung adalah Untai, Bilangan bulat, dan Boolean. Jika tidak ditentukan, nilai defaultnya adalah "Untai".
  • pengeluar sertifikat: Informasi mengenai pengeluar sertifikat klaim. Pengeluar sertifikat akan menjadi salah satu jenis berikut:
    • AttestationService: Klaim tertentu disediakan untuk pembuat kebijakan oleh Azure Attestation, yang dapat digunakan oleh pembuat kebijakan pengesahan untuk menyusun kebijakan yang sesuai.
    • AttestationPolicy: Kebijakan (sebagaimana ditentukan oleh administrator) itu sendiri dapat menambahkan klaim ke bukti yang masuk selama pemrosesan. Pengeluar sertifikat dalam hal ini diatur ke "AttestationPolicy".
    • CustomClaim: Attestor (klien) juga dapat menambahkan klaim tambahan ke bukti pengesahan. Pengeluar sertifikat dalam hal ini diatur ke "CustomClaim".

Jika tidak ditentukan. nilai defaultnya adalah "CustomClaim".

Aturan Klaim

Kumpulan klaim masuk digunakan oleh mesin kebijakan untuk menghitung hasil pengesahan. Aturan klaim adalah kumpulan ketentuan yang digunakan untuk memvalidasi klaim masuk dan mengambil tindakan yang ditentukan.

Conditions list => Action (Claim)

Evaluasi Azure Attestation terhadap aturan klaim melibatkan langkah-langkah berikut:

  • Jika daftar ketentuan tidak ada, jalankan tindakan dengan klaim tertentu
  • Jika tidak, evaluasi ketentuan dari daftar ketentuan.
  • Jika daftar ketentuan dievaluasi ke false, hentikan. Jika tidak, lanjutkan.

Ketentuan dalam aturan klaim digunakan untuk menentukan apakah tindakan perlu dijalankan. Daftar ketentuan adalah urutan ketentuan yang dipisahkan oleh operator "&&".

Daftar ketentuan disusun sebagai:

Condition && Condition && ...

Ketentuan tersebut disusun sebagai:

Identifier:[ClaimPropertyCondition, ClaimPropertyCondition,…]

Daftar ketentuan terdiri dari ketentuan masing-masing pada berbagai properti klaim. Suatu ketentuan dapat memiliki pengidentifikasi opsional, yang dapat digunakan untuk merujuk klaim yang memenuhi ketentuan. Referensi ini dapat digunakan dalam ketentuan lain atau tindakan dari aturan yang sama.

Misalnya

F1:[type=="OSName" , issuer=="CustomClaim"] && 
[type=="OSName" , issuer=="AttestationService", value== F1.value ] 
=> issueproperty(type="report_validity_in_minutes", value=1440);

F1:[type=="OSName" , issuer=="CustomClaim"] && 
C2:[type=="OSName" , issuer=="AttestationService", value== F1.value ] 
=> issue(claim = C2);

Berikut ini adalah operator yang dapat digunakan untuk memeriksa ketentuan:

Valuetype Operasi yang Didukung
Bilangan bulat == (sama dengan), != (tidak sama dengan), <= (kurang dari atau sama dengan), < (kurang dari), >= (lebih besar dari atau sama dengan), > (lebih besar dari)
String == (sama dengan), != (tidak sama)
Boolean == (sama dengan), != (tidak sama)

Evaluasi daftar ketentuan:

  • Kehadiran operator "&&" menyiratkan bahwa daftar ketentuan dievaluasi sebagai true hanya jika semua ketentuan dari daftar dievaluasi menjadi true.
  • Ketentuan mewakili kriteria pemfilteran pada kumpulan klaim. Ketentuan itu sendiri dikatakan bernilai true jika ditemukan setidaknya satu klaim yang memenuhi ketentuan tersebut.
  • Klaim dikatakan untuk memenuhi kriteria pemfilteran yang diwakili oleh ketentuan jika setiap propertinya memenuhi ketentuan properti klaim yang sesuai yang ada dalam ketentuan tersebut.

Kumpulan tindakan yang diizinkan dalam kebijakan dijelaskan di bawah ini.

Kata Kerja Tindakan Deskripsi Bagian kebijakan yang berlaku
permit() Kumpulan klaim masuk dapat digunakan untuk menghitung issuancerules. Tidak mengambil klaim apa pun sebagai parameter authorizationrules
deny() Kumpulan klaim yang masuk tidak boleh digunakan untuk menghitung issuancerules Tidak mengambil klaim apa pun sebagai parameter authorizationrules
add(claim) Menambahkan klaim ke kumpulan klaim masuk. Setiap klaim yang ditambahkan ke kumpulan klaim masuk akan tersedia untuk aturan klaim berikutnya. authorizationrules, issuancerules
issue(claim) Menambahkan klaim ke kumpulan klaim masuk dan keluar issuancerules
issueproperty(claim) Menambahkan klaim ke kumpulan klaim masuk dan properti issuancerules

Langkah berikutnya