Azure Ilkesiyle uyumlu olmayan kaynakları düzelt
Bir Deployifnotexists veya MODIFY Policy ile uyumlu olmayan kaynaklar, Düzeltme aracılığıyla uyumlu bir duruma yerleştirilebilir. Düzeltme, Azure Ilkesini, bu atamanın bir yönetim grubuna, aboneliğe, bir kaynak grubuna veya tek bir kaynağa bağlı olup olmadığına bakılmaksızın, mevcut kaynaklarınız ve aboneliklerinizde atanan ilke için, dağıtım ilkesini çalıştırmak üzere karşılaştırarak gerçekleştirilir. Bu makalede, Azure Ilkesini anlamak ve düzeltmeyi gerçekleştirmek için gereken adımlar gösterilir.
Düzeltme güvenliğinin nasıl çalıştığı
Azure Ilkesi, şablonu Deployifnotexists ilke tanımında çalıştırdığında, bu, yönetilen bir kimlikkullanılarak yapılır. Azure Ilkesi, her atama için yönetilen bir kimlik oluşturur, ancak yönetilen kimliğe hangi rollerin verilmek üzere ayrıntıları içermelidir. Yönetilen kimliğin rolleri eksikse, ilke veya girişim ataması sırasında bir hata görüntülenir. Portalı kullanırken, Azure Ilkesi, atama başladıktan sonra listelenen roller için yönetilen kimliğe otomatik olarak izin verir. SDK kullanırken, rollerin yönetilen kimliğe el ile verilmesi gerekir. Yönetilen kimliğin konumu , Azure ilkesiyle birlikte çalışmasını etkilemez.
Önemli
Aşağıdaki senaryolarda, atamaya ait yönetilen kimliğin el ile erişim izni verilmesi veya düzeltme dağıtımının başarısız olması gerekir:
- Atama SDK aracılığıyla oluşturulduysa
- Deployifnotexists veya MODIFY tarafından değiştirilen bir kaynak, ilke atamasının kapsamı dışındaysa
- Şablon, kaynakların ilke atamasının kapsamı dışındaki özelliklerine eriştiğinde
İlke tanımını Yapılandır
İlk adım, dahil edilen şablonunuzun içeriğini başarılı bir şekilde dağıtmak için, dağıtım ve ilke tanımında yapılan ihtiyaçları karşılayan rolleri tanımlamaktır. Ayrıntılar özelliği altında, bir roledefinitionıds özelliği ekleyin. Bu özellik, ortamınızdaki rollerle eşleşen dizelerin bir dizisidir. Tam bir örnek için, Deployifnotexists örneğine veya değiştirme örneklerinebakın.
"details": {
...
"roleDefinitionIds": [
"/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleGUID}",
"/providers/Microsoft.Authorization/roleDefinitions/{builtinroleGUID}"
]
}
Roledefinitionıds özelliği, tam kaynak tanımlayıcıyı kullanır ve rolün kısa roleName özelliğini almaz. Ortamınızdaki ' katkıda bulunan ' rolünün KIMLIĞINI almak için aşağıdaki kodu kullanın:
az role definition list --name 'Contributor'
Yönetilen kimliği el ile yapılandır
Portalı kullanarak bir atama oluştururken, Azure Ilkesi yönetilen kimliği oluşturur ve rol Definitionıds içinde tanımlanan rollere izin verir. Aşağıdaki koşullarda, yönetilen kimlik oluşturma ve bu izinleri atama adımlarının el ile yapılması gerekir:
- SDK kullanılırken (örneğin, Azure PowerShell)
- Atama kapsamı dışında bir kaynak şablon tarafından değiştirildiğinde
- Atama kapsamı dışında bir kaynak, şablon tarafından okunmasıyla
PowerShell ile yönetilen kimlik oluşturma
İlke ataması sırasında yönetilen bir kimlik oluşturmak için, konumun tanımlanması ve atamadan kimlik kullanılması gerekir. aşağıdaki örnek, SQL DB saydam veri şifrelemesi'nin yerleşik ilke dağıtma tanımını alır, hedef kaynak grubunu ayarlar ve sonra atamayı oluşturur.
# Login first with Connect-AzAccount if not using Cloud Shell
# Get the built-in "Deploy SQL DB transparent data encryption" policy definition
$policyDef = Get-AzPolicyDefinition -Id '/providers/Microsoft.Authorization/policyDefinitions/86a912f6-9a06-4e26-b447-11b16ba8659f'
# Get the reference to the resource group
$resourceGroup = Get-AzResourceGroup -Name 'MyResourceGroup'
# Create the assignment using the -Location and -AssignIdentity properties
$assignment = New-AzPolicyAssignment -Name 'sqlDbTDE' -DisplayName 'Deploy SQL DB transparent data encryption' -Scope $resourceGroup.ResourceId -PolicyDefinition $policyDef -Location 'westus' -AssignIdentity
$assignmentDeğişken, bir ilke ataması oluştururken döndürülen standart değerlerle birlikte, yönetilen kimliğin asıl kimliğini de içerir. Üzerinden erişilebilir $assignment.Identity.PrincipalId .
PowerShell ile tanımlı roller verme
yeni yönetilen kimliğin, gerekli rollere verilebilmesi için Azure Active Directory aracılığıyla çoğaltmayı tamamlaması gerekir. Çoğaltma tamamlandıktan sonra aşağıdaki örnek, $policyDef Roledefinitionıds için içindeki ilke tanımını yineler ve yeni yönetilen kimliğe roller vermek Için New-azroleatama kullanır.
# Use the $policyDef to get to the roleDefinitionIds array
$roleDefinitionIds = $policyDef.Properties.policyRule.then.details.roleDefinitionIds
if ($roleDefinitionIds.Count -gt 0)
{
$roleDefinitionIds | ForEach-Object {
$roleDefId = $_.Split("/") | Select-Object -Last 1
New-AzRoleAssignment -Scope $resourceGroup.ResourceId -ObjectId $assignment.Identity.PrincipalId -RoleDefinitionId $roleDefId
}
}
Portal aracılığıyla tanımlı roller verme
Erişim denetimi (IAM) kullanarak veya ilkeyi veya girişim atamasını düzenleyerek ve Kaydet' i seçerek, bir atamanın yönetilen kimliğine portalı kullanarak tanımlanmış rolleri vermenin iki yolu vardır.
Atamanın yönetilen kimliğine bir rol eklemek için aşağıdaki adımları izleyin:
Tüm hizmetler' i seçip ilke arayıp ' yi seçerek Azure Portal Azure ilke hizmetini başlatın.
Azure İlkesi sayfasının sol tarafından Atamalar'ı seçin.
Yönetilen bir kimliğe sahip olan atamayı bulun ve adı seçin.
Düzenleme sayfasında atama kimliği özelliğini bulun. Atama KIMLIĞI şöyle bir şey olacaktır:
/subscriptions/{subscriptionId}/resourceGroups/PolicyTarget/providers/Microsoft.Authorization/policyAssignments/2802056bfc094dfb95d4d7a5Yönetilen kimliğin adı, atama kaynak KIMLIĞININ
2802056bfc094dfb95d4d7a5Bu örnekteki son bölümüdür. Atama kaynak KIMLIĞININ bu kısmını kopyalayın.Rol tanımı el ile eklenmiş olması gereken kaynağa veya kaynak üst kapsayıcısına (kaynak grubu, abonelik, yönetim grubu) gidin.
Kaynaklar sayfasında erişim denetimi (IAM) bağlantısını seçin ve ardından erişim denetimi sayfasının en üstünde + rol ataması Ekle ' yi seçin.
İlke tanımındaki bir Roledefinitionıds ile eşleşen uygun rolü seçin. ' Azure AD Kullanıcı, Grup veya uygulama ' için varsayılan değer olarak ayarlanan ata erişimini bırak. Seç kutusunda, daha önce bulunan atama kaynağı kimliğinin bölümünü yapıştırın veya yazın. Arama tamamlandıktan sonra KIMLIĞI seçmek için aynı ada sahip nesneyi seçin ve Kaydet' i seçin.
Düzeltme görevi oluşturma
Portal aracılığıyla düzeltme görevi oluşturma
Değerlendirme sırasında, Deployifnotexists veya değişiklik efektlerine sahip ilke ataması uyumlu olmayan kaynaklar veya abonelikler olup olmadığını belirler. Uyumlu olmayan kaynaklar veya abonelikler bulunduğunda, Ayrıntılar Düzeltme sayfasında sağlanır. Uyumlu olmayan kaynaklara veya aboneliklerine sahip ilkelerin listesi ile birlikte bir Düzeltme görevi tetikleme seçeneği vardır. Bu seçenek, Deployifnotexists şablonundan veya değiştirme işlemlerinden bir dağıtım oluşturur.
Bir Düzeltme görevi oluşturmak için aşağıdaki adımları izleyin:
Tüm hizmetler' i seçip ilke arayıp ' yi seçerek Azure Portal Azure ilke hizmetini başlatın.
Azure Ilkesi sayfasının sol tarafındaki Düzeltme ' yi seçin.
Tüm Deployifnotexists ve uyumlu olmayan kaynaklarla ilke atamalarını değiştirme , sekme ve veri tablosunu düzeltme ilkelerine dahildir. Uyumlu olmayan kaynaklarla bir ilke seçin. Yeni düzeltme görev sayfası açılır.
Not
Düzeltme görevi sayfasını açmak için alternatif bir yol, Uyumluluk sayfasında ilkeyi bulup seçmek ve sonra Düzeltme görevi oluştur düğmesini seçmesidir.
Yeni düzeltme görevi sayfasında, ilkenin atandığı alt kaynakları (tek tek kaynak nesneleri dahil) seçmek için kapsam üç noktayı kullanarak düzeltmek üzere kaynakları filtreleyin. Ayrıca, kaynakları daha fazla filtrelemek için konumlar açılan listesini kullanın. Yalnızca tabloda listelenen kaynaklar düzeltilmeyecektir.
Kaynaklar, düzeltme ' i seçerek filtrelendiğinde, düzeltme görevini başlatın . İlke uyumluluğu sayfası, görev ilerleme durumunun durumunu göstermek için Düzeltme görevleri sekmesinde açılır. Düzeltme görevi tarafından oluşturulan dağıtımlar hemen başlar.
İlerleme hakkındaki ayrıntıları almak için ilke uyumluluğu sayfasından Düzeltme görevi ' ni seçin. Görev için kullanılan filtreleme, düzeltilen kaynakların bir listesi ile birlikte gösterilir.
Düzeltme görevi sayfasında, düzeltme görevinin dağıtımını veya kaynağını görüntülemek için bir kaynak üzerinde öğesini seçin ve tutun (veya sağ tıklayın). Bir hata iletisi gibi ayrıntıları görmek için satırın sonunda ilgili olaylar ' ı seçin.
Bir Düzeltme görevi aracılığıyla dağıtılan kaynaklar, ilke uyumluluğu sayfasındaki dağıtılan kaynaklar sekmesine eklenir.
Azure CLı aracılığıyla bir düzeltme görevi oluşturma
Azure CLı ile bir Düzeltme görevi oluşturmak için az policy remediation komutlarını kullanın. {subscriptionId}ABONELIK kimliğinizle ve {myAssignmentId} Deployıfnotexists ile değiştirin ya da ilke atama kimliğini değiştirin .
# Login first with az login if not using Cloud Shell
# Create a remediation for a specific assignment
az policy remediation create --name myRemediation --policy-assignment '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments/{myAssignmentId}'
Diğer düzeltme komutları ve örnekleri için, az Policy düzeltme komutlarına bakın.
Azure PowerShell aracılığıyla düzeltme görevi oluşturma
Azure PowerShell bir düzeltme görevi oluşturmak için Start-AzPolicyRemediation komutları kullanın. {subscriptionId}ABONELIK kimliğinizle ve {myAssignmentId} Deployıfnotexists ile değiştirin ya da ilke atama kimliğini değiştirin .
# Login first with Connect-AzAccount if not using Cloud Shell
# Create a remediation for a specific assignment
Start-AzPolicyRemediation -Name 'myRemedation' -PolicyAssignmentId '/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments/{myAssignmentId}'
Diğer düzeltme cmdlet 'leri ve örnekleri için bkz. az. Policınsıghts modülü.
Azure portal ilke ataması sırasında bir düzeltme görevi oluşturma
Bir düzeltme görevi oluşturmanın kolaylaştırılmış bir yolu, bunu ilke ataması sırasında Azure portal. Atanacak ilke tanımı bir Deployifnotexists veya bir değişiklik efekti ise, Düzeltme sekmesindeki sihirbaz bir Düzeltme görevi oluşturma seçeneği sunar. Bu seçenek işaretliyse, ilke atamasıyla aynı anda bir düzeltme görevi oluşturulur.
Sonraki adımlar
- Azure ilke örneklerindekiörnekleri gözden geçirin.
- Azure İlkesi tanımı yapısını gözden geçirin.
- İlkenin etkilerini anlama konusunu gözden geçirin.
- Program aracılığıyla ilke oluşturma hakkında bilgi.
- Uyumluluk verilerini nasıl edinebilirsiniz?
- Kaynaklarınızı Azure yönetim gruplarıyla düzenleme ile bir yönetim grubunun ne olduğunu gözden geçirme.