Sdílet prostřednictvím


Šifrování zabezpečených prostředků ve službě Azure Automation

Azure Automation zabezpečuje prostředky, jako jsou přihlašovací údaje, certifikáty, připojení a šifrované proměnné, používají různé úrovně šifrování. To pomáhá zlepšit zabezpečení těchto prostředků. Kromě toho, aby se zajistilo větší zabezpečení a ochrana osobních údajů pro kód zákazníka, runbooky a skripty DSC, jsou také šifrované. Šifrování ve službě Azure Automation se řídí dvěma modely v závislosti na klíči nejvyšší úrovně, který se používá k šifrování:

  • Použití klíčů spravovaných Microsoftem
  • Použití klíčů, které spravujete

Klíče spravované Microsoftem

Ve výchozím nastavení váš účet Azure Automation používá klíče spravované Microsoftem.

Každý zabezpečený prostředek je šifrovaný a uložený ve službě Azure Automation pomocí jedinečného klíče (šifrovacího klíče dat), který se vygeneruje pro každý účet Automation. Tyto klíče jsou samotné šifrované a uložené ve službě Azure Automation pomocí ještě dalšího jedinečného klíče, který se vygeneruje pro každý účet označovaný jako šifrovací klíč účtu (AEK). Tyto šifrovací klíče účtu jsou šifrované a uložené ve službě Azure Automation pomocí klíčů spravovaných Microsoftem.

Klíče, které spravujete pomocí služby Key Vault

Šifrování zabezpečených prostředků pro účet Automation můžete spravovat pomocí vlastních klíčů. Pokud zadáte klíč spravovaný zákazníkem na úrovni účtu Automation, použije se tento klíč k ochraně a řízení přístupu k šifrovacímu klíči pro účet Automation. Ten se následně použije k šifrování a dešifrování všech zabezpečených prostředků. Klíče spravované zákazníkem nabízejí větší flexibilitu při vytváření, obměně, zákazu a odvolávání řízení přístupu. Šifrovací klíče sloužící k ochraně vašich zabezpečených prostředků můžete také auditovat.

K ukládání klíčů spravovaných zákazníkem použijte Azure Key Vault. Můžete buď vytvořit vlastní klíče a uložit je do trezoru klíčů, nebo můžete použít rozhraní API služby Azure Key Vault ke generování klíčů.

Povolení služby Azure Firewall ve službě Azure Key Vault blokuje přístup z runbooků Azure Automation pro danou službu. Přístup se zablokuje i v případě, že je povolená výjimka brány firewall pro povolení důvěryhodných služeb Microsoftu, protože služba Automation není součástí seznamu důvěryhodných služeb. S povolenou bránou firewall je možné přístup vytvořit pouze pomocí funkce Hybrid Runbook Worker a koncového bodu služby virtuální sítě. Pokud ale povolíte privátní propojení pro Key Vault, Azure Automation ztratí přístup ke službě Key Vault. I když povolíte privátní propojení pro funkci Hybrid Runbook Worker, umožní přístup pouze ke službě Azure Automation, a ne ke službě Key Vault.

Další informace o službě Azure Key Vault najdete v tématu Co je Azure Key Vault?

Použití klíčů spravovaných zákazníkem pro účet Automation

Když pro účet Automation použijete šifrování s klíči spravovanými zákazníkem, Azure Automation zabalí šifrovací klíč účtu do přidruženého trezoru klíčů spravovaný zákazníkem. Povolení klíčů spravovaných zákazníkem nemá vliv na výkon a účet se okamžitě zašifruje pomocí nového klíče.

Nový účet Automation se vždy šifruje pomocí klíčů spravovaných Microsoftem. V době vytvoření účtu není možné povolit klíče spravované zákazníkem. Klíče spravované zákazníkem se ukládají ve službě Azure Key Vault a trezor klíčů musí být zřízený pomocí zásad přístupu, které udělují oprávnění ke klíči spravované identitě přidružené k účtu Automation. Spravovaná identita je dostupná až po vytvoření účtu Automation.

Když upravíte klíč, který se používá pro šifrování zabezpečených prostředků služby Azure Automation, povolením nebo zakázáním klíčů spravovaných zákazníkem, aktualizací verze klíče nebo zadáním jiného klíče, šifrování šifrovacího klíče účtu se změní, ale bezpečné prostředky v účtu Azure Automation se nemusí znovu šifrovat.

Poznámka:

Pokud chcete povolit klíč spravovaný zákazníkem pomocí volání rozhraní REST API služby Azure Automation, musíte použít rozhraní API verze 2020-01-13-preview.

Požadavky na používání klíčů spravovaných zákazníkem ve službě Azure Automation

Před povolením klíčů spravovaných zákazníkem pro účet Automation musíte zajistit splnění následujících požadavků:

  • Služba Azure Key Vault s povolenými vlastnostmi obnovitelného odstranění a nevyprázdnit . Pokud dojde k náhodnému odstranění, musí tyto vlastnosti umožňovat obnovení klíčů.
  • Šifrování Azure Automation podporuje jenom klíče RSA. Další informace o klíčích najdete v tématu o klíčích, tajných klíčích a certifikátech služby Azure Key Vault.
  • Účet Automation a trezor klíčů můžou být v různých předplatných, ale musí být ve stejném tenantovi Microsoft Entra.
  • Při použití PowerShellu ověřte, že je nainstalovaný modul Azure Az PowerShell. Pokud chcete nainstalovat nebo upgradovat, přečtěte si, jak nainstalovat modul Azure Az PowerShell.

Generování a přiřazení nové identity přiřazené systémem pro účet Automation

Pokud chcete používat klíče spravované zákazníkem s účtem Automation, musí se váš účet Automation ověřit v trezoru klíčů, který ukládá klíče spravované zákazníkem. Azure Automation používá spravované identity přiřazené systémem k ověření účtu ve službě Azure Key Vault. Další informace o spravovaných identitách najdete v tématu Co jsou spravované identity pro prostředky Azure?

Pomocí prostředí PowerShell

K úpravě existujícího účtu Azure Automation použijte rutinu PowerShellu Set-AzAutomationAccount . Tento -AssignSystemIdentity parametr vygeneruje a přiřadí novou identitu přiřazenou systémem pro účet Automation, která se bude používat s jinými službami, jako je Azure Key Vault. Další informace najdete v tématu Co jsou spravované identity pro prostředky Azure? a Informace o službě Azure Key Vault. Spusťte následující kód:

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

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

Výstup by měl vypadat zhruba takto:

Výstup z rutiny Set-AzAutomationAccount

Získejte informace PrincipalId pro pozdější použití. Spusťte následující kód:

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

$principalID

S využitím rozhraní REST

Pomocí následujícího volání rozhraní REST API nakonfigurujte spravovanou identitu přiřazenou systémem k účtu Automation:

PATCH https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview

Text požadavku:

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

Identita přiřazená systémem pro účet Automation se vrátí v odpovědi podobné následující:

{
 "name": "automation-account-name",
 "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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"
 },
..
}

Konfigurace zásad přístupu ke službě Key Vault

Jakmile se spravované identitě přiřazené systémem přiřadí k účtu Automation, nakonfigurujete přístup k trezoru klíčů, který ukládá klíče spravované zákazníkem. Azure Automation vyžaduje pro přístup ke klíčům spravovaným zákazníkem oprávnění operace Get, Recover, WrapKey a UnwrapKey .

Pomocí prostředí PowerShell

K udělení potřebných oprávnění použijte rutinu PowerShellu Set-AzKeyVaultAccessPolicy . Potom pomocí rutiny Add-AzKeyVaultKey vytvořte klíč v trezoru klíčů. Spusťte následující kód:

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

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

Výstup by měl vypadat zhruba takto:

Výstup z rutiny Add-AzKeyVaultKey

S využitím rozhraní REST

Zásady přístupu je možné nastavit pomocí následujícího volání rozhraní REST API:

PUT https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/add?api-version=2018-02-14

Text požadavku:

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

Poznámka:

Pole tenantId a objectId musí být k dispozici s hodnotami identity.tenantId a identity.principalId z odpovědi spravované identity pro účet Automation.

Změna konfigurace účtu Automation tak, aby používal klíč spravovaný zákazníkem

Pokud chcete přepnout účet Automation z klíčů spravovaných Microsoftem na klíče spravované zákazníkem, můžete tuto změnu provést pomocí Azure PowerShellu nebo šablony Azure Resource Manageru.

Pomocí prostředí PowerShell

Pomocí rutiny PowerShell Set-AzAutomationAccount překonfigurujte účet Automation tak, aby používal klíče spravované zákazníkem.

$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 

Změnu můžete ověřit spuštěním následujícího příkazu:

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

Výstup by měl vypadat zhruba takto:

Výstup z rutiny Get-AzAutomationAccount

S využitím rozhraní REST

Použijte následující volání rozhraní REST API:

PATCH https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview

Text požadavku:

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

Ukázková odpověď

{
  "name": "automation-account-name",
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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"
    },
    ..
  }
}

Obměně klíče spravovaného zákazníkem

Klíč spravovaný zákazníkem můžete ve službě Azure Key Vault otočit podle zásad dodržování předpisů. Při obměně klíče je nutné aktualizovat účet Automation tak, aby používal nový identifikátor URI klíče.

Obměně klíče neaktivuje opětovné šifrování zabezpečených prostředků v účtu Automation. Nevyžaduje se žádná další akce.

Odvolání přístupu ke klíči spravovanému zákazníkem

Pokud chcete odvolat přístup ke klíčům spravovaným zákazníkem, použijte PowerShell nebo Azure CLI. Další informace najdete v PowerShellu služby Azure Key Vault nebo v rozhraní příkazového řádku služby Azure Key Vault. Odvolání přístupu efektivně blokuje přístup ke všem zabezpečeným prostředkům v účtu Automation, protože služba Azure Automation je šifrovací klíč nepřístupný.

Další kroky