Share via


Azure Otomasyonu'nda güvenli varlıkların şifrelenmesi

Azure Otomasyonu kimlik bilgileri, sertifikalar, bağlantılar ve şifrelenmiş değişkenler gibi varlıkların güvenliğini sağlar ve çeşitli şifreleme düzeyleri kullanır. Bu, bu varlıkların güvenliğini artırmaya yardımcı olur. Ayrıca müşteri kodu, runbook'lar ve DSC betikleri için daha fazla güvenlik ve gizlilik sağlamak için de şifrelenir. Azure Otomasyonu'de şifreleme, şifreleme için kullanılan üst düzey anahtara bağlı olarak iki model izler:

  • Microsoft tarafından yönetilen anahtarları kullanma
  • Yönettiğiniz anahtarları kullanma

Microsoft tarafından yönetilen anahtarlar

varsayılan olarak, Azure Otomasyonu hesabınız Microsoft tarafından yönetilen anahtarları kullanır.

Her güvenli varlık şifrelenir ve her otomasyon hesabı için oluşturulan benzersiz bir anahtar (Veri Şifreleme anahtarı) kullanılarak Azure Otomasyonu depolanır. Bu anahtarlar, her hesap için Hesap Şifreleme Anahtarı (AEK) olarak adlandırılan başka bir benzersiz anahtar kullanılarak şifrelenir ve Azure Otomasyonu depolanır. Bu hesap şifreleme anahtarları, Microsoft tarafından yönetilen Anahtarlar kullanılarak şifrelenir ve Azure Otomasyonu depolanır.

Key Vault ile yönettiğiniz anahtarlar

Otomasyon hesabınız için güvenli varlıkların şifrelenmesini kendi anahtarlarınızla yönetebilirsiniz. Otomasyon hesabı düzeyinde müşteri tarafından yönetilen bir anahtar belirlediğinizde, bu anahtar Otomasyon hesabı için hesap şifreleme anahtarına erişimi korumak ve denetlemek için kullanılır. Ardından tüm güvenli varlıkları şifrelemek ve şifrelerini çözmek için bu kullanılır. Müşteri tarafından yönetilen anahtarlar erişim denetimleri oluşturmak, döndürmek, devre dışı bırakmak ve iptal etmek için daha fazla esneklik sunar. Güvenli varlıklarınızı korumak için kullanılan şifreleme anahtarlarını da denetleyebilirsiniz.

Müşteri tarafından yönetilen anahtarları depolamak için Azure Key Vault'ı kullanın. Kendi anahtarlarınızı oluşturup bir anahtar kasasında depolayabilir veya anahtar oluşturmak için Azure Key Vault API'lerini kullanabilirsiniz.

Azure Key Vault'ta Azure Güvenlik Duvarı etkinleştirildiğinde bu hizmet için Azure Otomasyonu runbook'lardan erişim engelleniyor. Otomasyon, güvenilen hizmetler listesinin bir parçası olmadığından, güvenilen Microsoft hizmetleri izin veren güvenlik duvarı özel durumu etkinleştirildiğinde bile erişim engellenir. Etkin bir güvenlik duvarıyla erişim yalnızca Karma Runbook Çalışanı ve sanal ağ hizmet uç noktası kullanılarak yapılabilir. Ancak, Key Vault için Özel bağlantıyı etkinleştirdiğinizde Azure Otomasyonu Key Vault'a erişimi kaybeder. Karma Runbook Çalışanı için Özel bağlantıyı etkinleştirseniz bile, bu bağlantı Key Vault'a değil yalnızca Azure Otomasyonu hizmetine erişime izin verir.

Azure Key Vault hakkında daha fazla bilgi için bkz. Azure Key Vault nedir?

Otomasyon hesabı için müşteri tarafından yönetilen anahtarların kullanımı

Otomasyon hesabı için müşteri tarafından yönetilen anahtarlarla şifreleme kullandığınızda, Azure Otomasyonu hesap şifreleme anahtarını ilişkili anahtar kasasında müşteri tarafından yönetilen anahtarla sarmalar. Müşteri tarafından yönetilen anahtarların etkinleştirilmesi performansı etkilemez ve hesap herhangi bir gecikme olmadan yeni anahtarla hemen şifrelenir.

Yeni bir Otomasyon hesabı her zaman Microsoft tarafından yönetilen anahtarlar kullanılarak şifrelenir. Hesap oluşturulurken müşteri tarafından yönetilen anahtarları etkinleştirmek mümkün değildir. Müşteri tarafından yönetilen anahtarlar Azure Key Vault'ta depolanır ve anahtar kasasının Otomasyon hesabıyla ilişkili yönetilen kimliğe anahtar izinleri veren erişim ilkeleriyle sağlanması gerekir. Yönetilen kimlik yalnızca otomasyon hesabı oluşturulduktan sonra kullanılabilir.

Güvenli varlık şifrelemesi Azure Otomasyonu için kullanılan anahtarı değiştirdiğinizde, müşteri tarafından yönetilen anahtarları etkinleştirerek veya devre dışı bırakarak, anahtar sürümünü güncelleştirerek veya farklı bir anahtar belirterek hesap şifreleme anahtarının şifrelenmesi değişir ancak Azure Otomasyonu hesabınızdaki güvenli varlıkların yeniden şifrelenmesi gerekmez.

Dekont

Azure Otomasyonu REST API çağrılarını kullanarak müşteri tarafından yönetilen anahtarı etkinleştirmek için API 2020-01-13-preview sürümünü kullanmanız gerekir.

Azure Otomasyonu'de müşteri tarafından yönetilen anahtarları kullanma önkoşulları

Otomasyon hesabı için müşteri tarafından yönetilen anahtarları etkinleştirmeden önce aşağıdaki önkoşulların karşılandığından emin olmanız gerekir:

Otomasyon hesabı için sistem tarafından atanan yeni bir kimlik oluşturma ve atama

Otomasyon hesabıyla müşteri tarafından yönetilen anahtarları kullanmak için Otomasyon hesabınızın müşteri tarafından yönetilen anahtarları depolayarak anahtar kasasında kimlik doğrulaması yapması gerekir. Azure Otomasyonu, Azure Key Vault ile hesabın kimliğini doğrulamak için sistem tarafından atanan yönetilen kimlikleri kullanır. Yönetilen kimlikler hakkında daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler nelerdir?

PowerShell’i kullanma

Mevcut bir Azure Otomasyonu hesabını değiştirmek için Set-AzAutomationAccount PowerShell cmdlet'ini kullanın. parametresi, -AssignSystemIdentity Otomasyon hesabının Azure Key Vault gibi diğer hizmetlerle birlikte kullanması için sistem tarafından atanan yeni bir kimlik oluşturur ve atar. Daha fazla bilgi için bkz . Azure kaynakları için yönetilen kimlikler nelerdir? ve Azure Key Vault hakkında. Şu kodu yürütün:

# Revise variables with your actual values.
$resourceGroup = "ResourceGroupName"
$automationAccount = "AutomationAccountName"
$vaultName = "KeyVaultName"
$keyName = "KeyName"

Set-AzAutomationAccount `
    -ResourceGroupName $resourceGroup `
    -Name $automationAccount `
    -AssignSystemIdentity

Çıkış aşağıdakine benzer görünmelidir:

Output from Set-AzAutomationAccount cmdlet.

daha sonra kullanmak için öğesini PrincipalId alın. Şu kodu yürütün:

$principalID = (Get-AzAutomationAccount `
    -ResourceGroupName $resourceGroup `
    -Name $automationAccount).Identity.PrincipalId

$principalID

REST kullanma

Aşağıdaki REST API çağrısını kullanarak Otomasyon hesabına sistem tarafından atanan yönetilen kimliği yapılandırın:

PATCH https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview

İstek gövdesi:

{ 
 "identity": 
 { 
  "type": "SystemAssigned" 
  } 
}

Otomasyon hesabı için sistem tarafından atanan kimlik aşağıdakine benzer bir yanıtta döndürülür:

{
 "name": "automation-account-name",
 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name",
 ..
 "identity": {
    "type": "SystemAssigned",
    "principalId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
    "tenantId": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"
 },
..
}

Key Vault erişim ilkesinin yapılandırması

Otomasyon hesabına sistem tarafından atanan yönetilen kimlik atandıktan sonra, müşteri tarafından yönetilen anahtarları depolayarak anahtar kasasına erişimi yapılandırabilirsiniz. Azure Otomasyonu için Kimliğin müşteri tarafından yönetilen anahtarlara erişmesi için Get, Recover, WrapKey ve UnwrapKey işlem izinlerini alın.

PowerShell’i kullanma

Gerekli izinleri vermek için Set-AzKeyVaultAccessPolicy PowerShell cmdlet'ini kullanın. Ardından Add-AzKeyVaultKey kullanarak anahtar kasasında bir anahtar oluşturun. Şu kodu yürütün:

Set-AzKeyVaultAccessPolicy `
    -VaultName $vaultName `
    -ObjectId $principalID `
    -PermissionsToKeys Get, Recover, UnwrapKey, WrapKey

Add-AzKeyVaultKey `
    -VaultName $vaultName `
    -Name $keyName `
    -Destination 'Software'

Çıkış aşağıdakine benzer görünmelidir:

Output from Add-AzKeyVaultKey cmdlet.

REST kullanma

Erişim ilkesi aşağıdaki REST API çağrısı kullanılarak ayarlanabilir:

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/add?api-version=2018-02-14

İstek gövdesi:

{
  "properties": {
    "accessPolicies": [
      {
        "tenantId": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
        "objectId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
        "permissions": {
          "keys": [
            "get",
            "recover",
            "wrapKey",
            "unwrapKey"
          ],
          "secrets": [],
          "certificates": []
        }
      }
    ]
  }
}

Dekont

TenantId ve objectId alanları, Otomasyon hesabı için yönetilen kimliğin yanıtından sırasıyla identity.tenantId ve identity.principalId değerleriyle sağlanmalıdır.

Otomasyon hesabını müşteri tarafından yönetilen anahtarı kullanacak şekilde yeniden yapılandırma

Otomasyon hesabınızı Microsoft tarafından yönetilen anahtarlardan müşteri tarafından yönetilen anahtarlara geçirmek istiyorsanız, bu değişikliği Azure PowerShell'i kullanarak veya bir Azure Resource Manager şablonuyla gerçekleştirebilirsiniz.

PowerShell’i kullanma

Otomasyon hesabını müşteri tarafından yönetilen anahtarları kullanacak şekilde yeniden yapılandırmak için Set-AzAutomationAccount PowerShell cmdlet'ini kullanın.

$vaultURI = (Get-AzKeyVault -VaultName $vaultName).VaultUri
$keyVersion = (Get-AzKeyVaultKey -VaultName $vaultName -KeyName $keyName).Version

Set-AzAutomationAccount `
    -ResourceGroupName $resourceGroup `
    -Name $automationAccount `
    -AssignSystemIdentity `
    -KeyName $keyName `
    -KeyVaultUri $vaultURI `
    -KeyVersion $keyVersion `
    -KeyVaultEncryption 

Aşağıdaki komutu çalıştırarak değişikliği doğrulayabilirsiniz:

(Get-AzAutomationAccount `
    -ResourceGroupName $resourceGroup `
    -Name $automationAccount).Encryption `
    |  ConvertTo-Json 

Çıkış aşağıdakine benzer görünmelidir:

Output from Get-AzAutomationAccount cmdlet.

REST kullanma

Aşağıdaki REST API çağrısını kullanın:

PATCH https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview

İstek gövdesi:

{
	"identity": {
	"type": "SystemAssigned"
	},
	"properties": {
		"encryption": {
			"keySource": "Microsoft.Keyvault",
			"keyvaultProperties": {
				"keyName": "sample-vault-key",
				"keyvaultUri": "https://sample-vault-key12.vault.azure.net",
				"keyVersion": "7c73556c521340209371eaf623cc099d"
			}
		}
	}
}

Örnek yanıt

{
  "name": "automation-account-name",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name",
  ..
  "properties": {
    ..
    "encryption": {
      "keyvaultProperties": {
         "keyName": "sample-vault-key",
          "keyvaultUri": "https://sample-vault-key12.vault.azure.net",
          "keyVersion": "7c73556c521340209371eaf623cc099d"
      },
      "keySource": "Microsoft.Keyvault"
    },
    ..
  }
}

Müşteri tarafından yönetilen anahtarı döndürme

Azure Key Vault'ta müşteri tarafından yönetilen bir anahtarı uyumluluk ilkelerinize göre döndürebilirsiniz. Anahtar döndürüldüğünde Otomasyon hesabını yeni anahtar URI'sini kullanacak şekilde güncelleştirmeniz gerekir.

Anahtarı döndürmek Otomasyon hesabındaki güvenli varlıkların yeniden şifrelenmesini tetiklemez. Başka işlem yapmanız gerekmez.

Müşteri tarafından yönetilen anahtara erişimi iptal etme

Müşteri tarafından yönetilen anahtarlara erişimi iptal etmek için PowerShell veya Azure CLI kullanın. Daha fazla bilgi için bkz . Azure Key Vault PowerShell veya Azure Key Vault CLI. Şifreleme anahtarına Azure Otomasyonu tarafından erişilemediği için erişimi iptal etmek Otomasyon hesabındaki tüm güvenli varlıklara erişimi etkili bir şekilde engeller.

Sonraki adımlar