Aracılığıyla paylaş


Kanıtlama ilkesi yazma

Kanıtlama ilkesi, Microsoft Azure Doğrulama'a yüklenen bir dosyadır. Azure Doğrulama, bir ilkeyi kanıtlamaya özgü bir ilke biçiminde karşıya yükleme esnekliği sunar. Alternatif olarak, JSON Web İmzası'nda ilkenin kodlanmış bir sürümü de karşıya yüklenebilir. Kanıtlama ilkesini yazmak ilke yöneticisinin sorumluluğundadır. Çoğu kanıtlama senaryosunda, bağlı olan taraf ilke yöneticisi olarak görev yapar. Kanıtlama çağrısını yapan istemci, hizmetin ayrıştırdığı ve gelen taleplere (özellik kümesi, değer) dönüştürdüğü kanıtlama kanıtı gönderir. Ardından hizmet, ilkede tanımlananları temel alarak talepleri işler ve hesaplanan sonucu döndürür.

İlke yetkilendirme ölçütlerini, özelliklerini ve kanıtlama belirtecinin içeriğini belirleyen kurallar içerir:

version=1.0;
authorizationrules
{
    c:[type="secureBootEnabled", issuer=="AttestationService"]=> permit()
};

issuancerules
{
    c:[type="secureBootEnabled", issuer=="AttestationService"]=> issue(claim=c)
    c:[type="notSafeMode", issuer=="AttestationService"]=> issue(claim=c)
};

İlke dosyasının üç kesimi vardır:

  • sürüm: Sürüm, takip edilen dil bilgisinin sürüm numarasıdır.
    version=MajorVersion.MinorVersion	
    
    Şu anda desteklenen tek sürüm 1.0 sürümüdür.
  • authorizationrules: Azure Doğrulama verme işlemlerine devam etmesi gerekip gerekmediğini belirlemek için önce denetlenen talep kuralları koleksiyonu. Talep kuralları tanımlanma sırasına göre uygulanır.
  • verme kuralları: İlkede tanımlandığı gibi kanıtlama sonucuna ek bilgi eklemek için değerlendirilen talep kuralları koleksiyonu. Talep kuralları tanımlanma sırasına göre uygulanır ve isteğe bağlıdır.

Daha fazla bilgi için bkz . Talep ve talep kuralları.

İlke dosyasını taslak oluşturma

  1. Yeni bir dosya oluşturun.
  2. Dosyaya sürüm ekleyin.
  3. Yetkilendirme ve verme işlemleri için bölümler ekleyin.
    version=1.0;
    authorizationrules
    {
    =>deny();
    };
    
    issuancerules
    {
    };
    
    Yetkilendirme kuralları, verme kurallarının işlenmediğinden emin olmak için herhangi bir koşul olmadan deny() eylemini içerir. Alternatif olarak, yetkilendirme kuralı verme kurallarının işlenmesine izin vermek için permit() eylemi de içerebilir.
  4. Yetkilendirme kurallarına talep kuralları ekleme
    version=1.0;
    authorizationrules
    {
        [type=="secureBootEnabled", value==true, issuer=="AttestationService"]=>permit();
    };
    
    issuancerules
    {
    };
    
    Gelen talep kümesi tür, değer ve verenle eşleşen bir talep içeriyorsa, permit() eylemi ilke altyapısına verme belgelerini işlemesini söyler.
  5. Verenlere talep kuralları ekleyin.
    version=1.0;
    authorizationrules
    {
        [type=="secureBootEnabled", value==true, issuer=="AttestationService"]=>permit();
    };
    
    issuancerules
    {
        => issue(type="SecurityLevelValue", value=100);
    };
    
    Giden talep kümesi aşağıdakilerle bir talep içerir:
    [type="SecurityLevelValue", value=100, valueType="Integer", issuer="AttestationPolicy"]
    
    Karmaşık ilkeler benzer şekilde oluşturulabilir. Daha fazla bilgi için bkz . kanıtlama ilkesi örnekleri.
  6. Dosyayı kaydedin.

İlke dosyasını JSON Web İmzası biçiminde oluşturma

İlke dosyası oluşturduktan sonra, JSON Web İmzası (JWS) biçiminde bir ilke yüklemek için aşağıdaki adımları izleyin.

  1. Yük olarak ilkeyle (utf-8 kodlanmış) RFC7515 JWS'yi oluşturun. Base64Url kodlanmış ilkesinin yük tanımlayıcısı "AttestationPolicy" olmalıdır.

    Örnek JWT:

    Header: {"alg":"none"}
    Payload: {"AttestationPolicy":" Base64Url (policy)"}
    Signature: {}
    
    JWS format: eyJhbGciOiJub25lIn0.XXXXXXXXX.
    
  2. İlkeyi imzalayın (isteğe bağlı). Azure Doğrulama aşağıdaki algoritmaları destekler:

    • Yok: İlke yükünü imzalamayın.
    • RS256: İlke yükünü imzalamak için desteklenen algoritma.
  3. JWS'yi karşıya yükleyin ve ilkeyi doğrulayın.

    • İlke dosyasında söz dizimi hatası yoksa, hizmet ilke dosyasını kabul eder.
    • İlke dosyasında söz dizimi hataları varsa, hizmet ilke dosyasını reddeder.

Sonraki adımlar