Uygulama onayı ilkelerini yönetme

Uygulama onayı ilkeleri, uygulamaların kuruluşunuzdaki verilere erişmek için sahip olduğu izinleri yönetmenin bir yoludur. Kullanıcıların hangi uygulamalara onay verebileceğini denetlemek ve verilere erişmeden önce uygulamaların belirli ölçütleri karşıladığından emin olmak için kullanılır. Bu ilkeler, kuruluşların verileri üzerinde denetim sahibi olmalarına ve yalnızca güvenilen uygulamalara erişim izni vermelerine yardımcı olur.

Bu makalede, onayın ne zaman verileceğini denetlemek için yerleşik ve özel uygulama onayı ilkelerini yönetmeyi öğreneceksiniz.

Microsoft Graph ve Microsoft Graph PowerShell ile uygulama onay ilkelerini görüntüleyebilir ve yönetebilirsiniz.

Uygulama onayı ilkesi, bir veya daha fazla "dahil" koşul kümesinden ve sıfır veya daha fazla "hariç tutma" koşul kümesinden oluşur. Bir olayın bir uygulama onay ilkesinde dikkate alınması için en az bir "dahil etme" koşul kümesiyle eşleşmesi ve hiçbir "dışlama" koşul kümesiyle eşleşmemesi gerekir.

Her koşul kümesi birkaç koşuldan oluşur. Bir olayın koşul kümesiyle eşleşmesi için, koşul kümesindeki tüm koşulların karşılanması gerekir.

Kimliğin "microsoft-" ile başladığı uygulama onayı ilkeleri yerleşik ilkelerdir. Bu yerleşik ilkelerden bazıları mevcut yerleşik dizin rollerinde kullanılır. Örneğin, uygulama onayı ilkesi, microsoft-application-admin Uygulama Yönetici istrator ve Bulut Uygulaması Yönetici istrator rollerinin kiracı genelinde yönetici onayı vermesine izin verilen koşulları açıklar. Yerleşik ilkeler özel dizin rollerinde ve kullanıcı onayı ayarlarını yapılandırmak için kullanılabilir, ancak düzenlenemez veya silinemez.

Önkoşullar

  • Aşağıdaki rollerden birine sahip bir kullanıcı veya hizmet:
    • Ayrıcalıklı Rol Yönetici istrator dizin rolü
    • Uygulama onay ilkelerini yönetmek için gerekli izinlere sahip özel dizin rolü
    • Uygulama veya hizmet olarak bağlanırken Microsoft Graph uygulama rolü (uygulama izni) Policy.ReadWrite.PermissionGrant

Microsoft Graph PowerShell ile uygulamaların uygulama onay ilkelerini yönetmek için Microsoft Graph PowerShell'e bağlanın.

Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"

Kuruluşunuzdaki mevcut uygulama onayı ilkelerini tanıyarak başlamak iyi bir fikirdir:

  1. Tüm uygulama onay ilkelerini listeleyin:

    Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
    
  2. İlkenin "dahil" koşul kümelerini görüntüleyin:

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    
  3. "Dışla" koşul kümelerini görüntüleyin:

    Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
    

Özel uygulama onay ilkesi oluşturmak için şu adımları izleyin:

  1. Yeni boş bir uygulama onay ilkesi oluşturun.

    New-MgPolicyPermissionGrantPolicy `
        -Id "my-custom-policy" `
        -DisplayName "My first custom consent policy" `
        -Description "This is a sample custom app consent policy."
    
  2. "include" koşul kümeleri ekleyin.

    # Include delegated permissions classified "low", for apps from verified publishers
    New-MgPolicyPermissionGrantPolicyInclude `
        -PermissionGrantPolicyId "my-custom-policy" `
        -PermissionType "delegated" `
        -PermissionClassification "low" `
        -ClientApplicationsFromVerifiedPublisherOnly
    

    Daha fazla "include" koşul kümesi eklemek için bu adımı yineleyin.

  3. İsteğe bağlı olarak, "dışla" koşul kümeleri ekleyin.

    # Retrieve the service principal for the Azure Management API
    $azureApi = Get-MgServicePrincipal -Filter "servicePrincipalNames/any(n:n eq 'https://management.azure.com/')"
    
    # Exclude delegated permissions for the Azure Management API
    New-MgPolicyPermissionGrantPolicyExclude `
        -PermissionGrantPolicyId "my-custom-policy" `
        -PermissionType "delegated" `
        -ResourceApplication $azureApi.AppId
    

    Daha fazla "dışlama" koşul kümesi eklemek için bu adımı yineleyin.

Uygulama onayı ilkesini oluşturduktan sonra, bunu Microsoft Entra Id'de özel bir role atamanız gerekir. Ardından kullanıcıları oluşturduğunuz uygulama onayı ilkesine eklenmiş olan bu özel role atamanız gerekir. Uygulama onay ilkesini özel bir role atama hakkında daha fazla bilgi için bkz . Özel roller için uygulama onayı izinleri.

Aşağıdaki cmdlet'te özel uygulama onay ilkesini nasıl silebileceğiniz gösterilmektedir.

   Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-policy"

Uygulama onay ilkelerini yönetmek için, önkoşul bölümünde listelenen rollerden biriyle Graph Explorer'da oturum açın.

İzin için onay vermeniz Policy.ReadWrite.PermissionGrant gerekir.

Kuruluşunuzdaki mevcut uygulama onayı ilkelerini tanıyarak başlamak iyi bir fikirdir:

  1. Tüm uygulama onay ilkelerini listeleyin:

    GET /policies/permissionGrantPolicies?$select=id,displayName,description
    
  2. İlkenin "dahil" koşul kümelerini görüntüleyin:

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/includes
    
  3. "Dışla" koşul kümelerini görüntüleyin:

    GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/excludes
    

Özel uygulama onay ilkesi oluşturmak için şu adımları izleyin:

  1. Yeni boş bir uygulama onay ilkesi oluşturun.

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies
    Content-Type: application/json
    
    {
      "id": "my-custom-policy",
      "displayName": "My first custom consent policy",
      "description": "This is a sample custom app consent policy"
    }
    
  2. "include" koşul kümeleri ekleyin.

    Doğrulanmış yayımcıların uygulamaları için "düşük" sınıflandırılmış temsilci izinlerini dahil et

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-policy }/includes
    Content-Type: application/json
    
    {
      "permissionType": "delegated",
      "PermissionClassification": "low",
      "clientApplicationsFromVerifiedPublisherOnly": true
    }
    

    Daha fazla "include" koşul kümesi eklemek için bu adımı yineleyin.

  3. İsteğe bağlı olarak, "dışla" koşul kümeleri ekleyin. Azure Yönetim API'sinin temsilci izinlerini hariç tutma (appId 00001111-aaaa-2222-bbbb-3333cccc4444)

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/my-custom-policy /excludes
    Content-Type: application/json
    
    {
      "permissionType": "delegated",
      "resourceApplication": "00001111-aaaa-2222-bbbb-3333cccc4444 "
    }
    

    Daha fazla "dışlama" koşul kümesi eklemek için bu adımı yineleyin.

Uygulama onayı ilkesini oluşturduktan sonra, bunu Microsoft Entra Id'de özel bir role atamanız gerekir. Ardından kullanıcıları oluşturduğunuz uygulama onayı ilkesine eklenmiş olan bu özel role atamanız gerekir. Uygulama onay ilkesini özel bir role atama hakkında daha fazla bilgi için bkz . Özel roller için uygulama onayı izinleri.

  1. Aşağıda, özel bir uygulama onay ilkesini nasıl silebileceğiniz gösterilmektedir.

    DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
    

Uyarı

Silinen uygulama onay ilkeleri geri yüklenemiyor. Bir özel uygulama onay ilkesini yanlışlıkla silerseniz, ilkeyi yeniden oluşturmanız gerekir.

Desteklenen koşullar

Aşağıdaki tabloda, uygulama onay ilkeleri için desteklenen koşulların listesi sağlanır.

Koşul Açıklama
PermissionClassification Verilen izin için izin sınıflandırması veya herhangi bir izin sınıflandırmasıyla (sınıflandırılmamış izinler dahil) eşleşmesi için "tümü". Varsayılan değer "tümü"dür.
PermissionType Verilen iznin izin türü. Uygulama izinleri (örneğin, uygulama rolleri) için "uygulama" veya temsilci izinleri için "temsilci" kullanın.

Not: "delegatedUserConsentable" değeri, API yayımcısı tarafından yönetici onayı gerektirecek şekilde yapılandırılmamış temsilci izinlerini gösterir. Bu değer yerleşik izin verme ilkelerinde kullanılabilir, ancak özel izin verme ilkelerinde kullanılamaz. Gerekli.
ResourceApplication İzin verilen kaynak uygulamasının AppId değeri (örneğin, API) veya herhangi bir kaynak uygulaması veya API ile eşleşmesi için "herhangi biri". Varsayılan değer "herhangi biri"dir.
İzinler Eşleşmesi gereken belirli izinlerin izin kimliklerinin listesi veya herhangi bir izinle eşleşmesi için "tümü" tek değerine sahip bir liste. Varsayılan, "tümü" tek değeridir.
- Temsilci izin kimlikleri, API'nin ServicePrincipal nesnesinin OAuth2Permissions özelliğinde bulunabilir.
- Uygulama izni kimlikleri API'nin ServicePrincipal nesnesinin AppRoles özelliğinde bulunabilir.
ClientApplicationIds İstemci uygulamalarının eşleşmesi için AppId değerlerinin listesi veya herhangi bir istemci uygulamasıyla eşleşecek tek değer "tümü" olan bir liste. Varsayılan, "tümü" tek değeridir.
ClientApplicationTenantIds İstemci uygulamasının kaydedildiği Microsoft Entra kiracı kimliklerinin listesi veya herhangi bir kiracıda kayıtlı istemci uygulamalarıyla eşleşecek tek değere sahip bir liste ... Varsayılan, "tümü" tek değeridir.
ClientApplicationPublisherIds İstemci uygulamasının doğrulanmış yayımcıları için Microsoft İş Ortağı Ağı (MPN) kimliklerinin listesi veya herhangi bir yayımcının istemci uygulamalarıyla eşleşmesi için tek değerli "tümü" olan bir liste. Varsayılan, "tümü" tek değeridir.
ClientApplicationsFromVerifiedPublisherOnly Bu anahtarı yalnızca doğrulanmış yayımcılara sahip istemci uygulamalarında eşleşecek şekilde ayarlayın. Doğrulanmış bir yayımcısı olmasa bile bu anahtarı (-ClientApplicationsFromVerifiedPublisherOnly:$false) herhangi bir istemci uygulamasında eşleşecek şekilde devre dışı bırakın. Varsayılan $false değeridir.
scopeType Ön onay uygulanan kaynak kapsamı türü. Olası değerler: groupgruplar ve ekipler, chatsohbetler veya tenant kiracı genelinde erişim için. Gerekli.
sensitivityLabels Kapsam türü için geçerli olan ve önceden onaylanmamış duyarlılık etiketleri. Hassas kuruluş verilerini korumanıza olanak tanır. Duyarlılık etiketleri hakkında bilgi edinin. Not: Sohbet kaynağı henüz sensitivityLabels'i desteklemiyor.

Sonraki adımlar

Yardım almak veya sorularınıza yanıt bulmak için: