Biztonságos eszközök titkosítása az Azure Automationben

Az Azure Automation különböző titkosítási szinteket használ olyan eszközök védelmére, mint a hitelesítő adatok, a tanúsítványok, a kapcsolatok és a titkosított változók. Ez segít ezen eszközök biztonságának növelésében. Emellett az ügyfélkód, runbookok és DSC-szkriptek nagyobb biztonságának és adatvédettségének biztosítása érdekében a runbookok és a DSC-szkriptek is titkosítva vannak. Az Azure Automation titkosítása a titkosításhoz használt legfelső szintű kulcstól függően két modellt követ:

  • Microsoft által felügyelt kulcsok használata
  • A kezelt kulcsok használata

Microsoft által felügyelt kulcsok

Az Azure Automation-fiók alapértelmezés szerint Microsoft által felügyelt kulcsokat használ.

Minden biztonságos objektum titkosítása és tárolása az Azure Automationben történik az egyes automation-fiókokhoz létrehozott egyedi kulcs (Adattitkosítási kulcs) használatával. Ezeket a kulcsokat maguk az Azure Automation titkosítják és tárolják egy újabb egyedi kulccsal, amely minden fiókhoz létrehoz egy fiók titkosítási kulcsot (AEK). Ezek a fióktitkosítási kulcsok a Microsoft által felügyelt kulcsok használatával vannak titkosítva és tárolva az Azure Automationben.

A Key Vaulttal kezelt kulcsok

Az Automation-fiók biztonságos eszközeinek titkosítását saját kulcsaival kezelheti. Ha az Automation-fiók szintjén ad meg egy ügyfél által kezelt kulcsot, akkor ez a kulcs szolgál majd az Automation-fiók titkosítási kulcsának védelmére, és a hozzáférés vezérlésére. Ez a kulcs lesz aztán használatos a biztonságos összetevők titkosítására és visszafejtésére. Az ügyfél által felügyelt kulcsok nagyobb rugalmasságot biztosítanak a hozzáférés-vezérlések létrehozásához, elforgatásához, letiltásához és visszavonásához. Továbbá a bizalmas összetevők védelméhez használt titkosítási kulcsok naplózására is lehetősége van.

Az Azure Key Vault használatával ügyfél által felügyelt kulcsokat tárolhat. Létrehozhat saját kulcsokat, és tárolhatja őket egy kulcstartóban, vagy az Azure Key Vault API-kkal kulcsokat hozhat létre.

Az Azure Firewall engedélyezése az Azure Key Vaulton letiltja a hozzáférést az Azure Automation-runbookokból az adott szolgáltatáshoz. A hozzáférés akkor is le lesz tiltva, ha engedélyezve van a megbízható Microsoft-szolgáltatások engedélyezésére vonatkozó tűzfalkivétel, mivel az Automation nem része a megbízható szolgáltatások listájának. Engedélyezett tűzfal esetén a hozzáférés csak hibrid Runbook-feldolgozóval és virtuális hálózati szolgáltatásvégponttal érhető el. A Key Vault privát hivatkozásának engedélyezésekor azonban az Azure Automation elveszíti a Key Vaulthoz való hozzáférést. Még ha engedélyezi is a hibrid runbook-feldolgozó privát hivatkozását, az csak az Azure Automation szolgáltatáshoz engedélyezi a hozzáférést, a Key Vaulthoz nem.

További információ az Azure Key Vaultról: Mi az Az Azure Key Vault?

Ügyfél által felügyelt kulcsok használata Automation-fiókhoz

Ha egy Automation-fiók ügyfél által felügyelt kulcsaival használ titkosítást, az Azure Automation a fióktitkosítási kulcsot a társított kulcstartóban lévő ügyfél által kezelt kulccsal burkolja. Az ügyfél által felügyelt kulcsok engedélyezése nem befolyásolja a teljesítményt, és a fiók azonnal, késedelem nélkül titkosítva lesz az új kulccsal.

Az új Automation-fiók mindig a Microsoft által felügyelt kulcsokkal van titkosítva. Az ügyfél által felügyelt kulcsok nem engedélyezhetőek a fiók létrehozásakor. Az ügyfél által felügyelt kulcsokat az Azure Key Vault tárolja, a kulcstartót pedig olyan hozzáférési szabályzatokkal kell kiépíteni, amelyek kulcsengedélyeket biztosítanak az Automation-fiókhoz társított felügyelt identitáshoz. A felügyelt identitás csak az automation-fiók létrehozása után érhető el.

Ha módosítja az Azure Automation biztonságos eszköztitkosításához használt kulcsot az ügyfél által felügyelt kulcsok engedélyezésével vagy letiltásával, a kulcsverzió frissítésével vagy egy másik kulcs megadásával, a fióktitkosítási kulcs titkosítása megváltozik, de az Azure Automation-fiók biztonságos eszközeit nem kell újra titkosítani.

Megjegyzés:

Az ügyfél által felügyelt kulcs Azure Automation REST API-hívások használatával való engedélyezéséhez az API 2020-01-13-preview verzióját kell használnia.

Az ügyfél által felügyelt kulcsok Azure Automationben való használatának előfeltételei

Mielőtt engedélyezi az ügyfél által felügyelt kulcsokat egy Automation-fiókhoz, győződjön meg arról, hogy a következő előfeltételek teljesülnek:

  • Egy Azure Key Vault , amelyen engedélyezve van a Helyreállítható törlés és a Törlés tiltása tulajdonság. Ezek a tulajdonságok szükségesek a kulcsok helyreállításához véletlen törlés esetén.
  • Az Azure Automation-titkosítás csak RSA-kulcsokat támogat. A kulcsokkal kapcsolatos további információkért tekintse meg az Azure Key Vault kulcsairól, titkos kulcsairól és tanúsítványairól szóló témakört.
  • Az Automation-fiók és a kulcstartó különböző előfizetésekben lehetnek, de ugyanabban a Microsoft Entra-bérlőben kell lenniük.
  • A PowerShell használatakor ellenőrizze, hogy az Azure Az PowerShell-modul telepítve van-e. A telepítéssel vagy frissítéssel kapcsolatban tekintse meg az Azure Az PowerShell-modul telepítését ismertető témakört.

Új rendszer által hozzárendelt identitás létrehozása és hozzárendelése Egy Automation-fiókhoz

Ha ügyfél által felügyelt kulcsokat szeretne használni egy Automation-fiókkal, az Automation-fióknak hitelesítenie kell magát az ügyfél által felügyelt kulcsokat tároló kulcstartón. Az Azure Automation rendszer által hozzárendelt felügyelt identitásokkal hitelesíti a fiókot az Azure Key Vaulttal. További információ a felügyelt identitásokról: Mik azok az Azure-erőforrások felügyelt identitásai?

Using PowerShell

Meglévő Azure Automation-fiók módosításához használja a Set-AzAutomationAccount PowerShell-parancsmagot. A -AssignSystemIdentity paraméter létrehoz és hozzárendel egy új rendszer által hozzárendelt identitást az Automation-fiókhoz, amelyet más szolgáltatásokkal, például az Azure Key Vaulttal együtt használ. További információ: Mik az Azure-erőforrások felügyelt identitásai? és az Azure Key Vault ismertetése. Hajtsa végre a következő kódot:

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

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

A kimenetnek a következőképpen kell kinéznie:

Output from Set-AzAutomationAccount cmdlet.

Szerezze be a PrincipalId későbbi használatra. Hajtsa végre a következő kódot:

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

$principalID

A REST használata

Konfiguráljon egy rendszer által hozzárendelt felügyelt identitást az Automation-fiókhoz a következő REST API-hívással:

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

Kérés törzse:

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

Az Automation-fiók rendszer által hozzárendelt identitása a következőhöz hasonló válaszban lesz visszaadva:

{
 "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"
 },
..
}

A Key Vault hozzáférési szabályzatának konfigurálása

Miután hozzárendelt egy rendszer által hozzárendelt felügyelt identitást az Automation-fiókhoz, konfigurálnia kell az ügyfél által felügyelt kulcsokat tároló kulcstartóhoz való hozzáférést. Az Azure Automationnek szüksége van a Get, a Recover, a WrapKey és a UnwrapKey műveleti engedélyre az identitáshoz az ügyfél által felügyelt kulcsok eléréséhez.

Using PowerShell

A szükséges engedélyek megadásához használja a Set-AzKeyVaultAccessPolicy PowerShell-parancsmagot. Ezután az Add-AzKeyVaultKey használatával hozzon létre egy kulcsot a kulcstartóban. Hajtsa végre a következő kódot:

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

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

A kimenetnek a következőképpen kell kinéznie:

Output from Add-AzKeyVaultKey cmdlet.

A REST használata

A hozzáférési szabályzat a következő REST API-hívással állítható be:

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

Kérés törzse:

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

Megjegyzés:

A tenantId és az objectId mezőknek meg kell adni az identity.tenantId és az identity.principalId értéket az Automation-fiók felügyelt identitásának válaszából.

Automation-fiók újrakonfigurálását az ügyfél által felügyelt kulcs használatára

Ha az Automation-fiókot a Microsoft által felügyelt kulcsról ügyfél által felügyelt kulcsra szeretné váltani, ezt a módosítást az Azure PowerShell vagy egy Azure Resource Manager-sablon használatával hajthatja végre.

Using PowerShell

A Set-AzAutomationAccount PowerShell-parancsmaggal újrakonfigurálhatja az Automation-fiókot az ügyfél által felügyelt kulcsok használatára.

$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 módosítást az alábbi parancs futtatásával ellenőrizheti:

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

A kimenetnek a következőképpen kell kinéznie:

Output from Get-AzAutomationAccount cmdlet.

A REST használata

Használja a következő REST API-hívást:

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

Kérés törzse:

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

Mintaválasz

{
  "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"
    },
    ..
  }
}

Ügyfél által felügyelt kulcs elforgatása

Az ügyfél által felügyelt kulcsokat a megfelelőségi szabályzatoknak megfelelően elforgathatja az Azure Key Vaultban. A kulcs elforgatásakor frissítenie kell az Automation-fiókot az új kulcs URI-jának használatához.

A kulcs elforgatása nem váltja ki a biztonságos eszközök újratitkosítását az Automation-fiókban. Nincs szükség további műveletre.

Ügyfél által felügyelt kulcshoz való hozzáférés visszavonása

Az ügyfél által felügyelt kulcsokhoz való hozzáférés visszavonásához használja a PowerShellt vagy az Azure CLI-t. További információ: Azure Key Vault PowerShell vagy Azure Key Vault CLI. A hozzáférés visszavonása hatékonyan blokkolja a hozzáférést az Automation-fiók összes biztonságos eszközéhez, mivel az Azure Automation nem fér hozzá a titkosítási kulcshoz.

Következő lépések