Š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:
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:
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:
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
- Další informace o pokynech zabezpečení najdete v tématu Osvědčené postupy zabezpečení ve službě Azure Automation.
- Informace o službě Azure Key Vault najdete v tématu Co je Azure Key Vault?
- Pokud chcete pracovat s certifikáty, přečtěte si téma Správa certifikátů ve službě Azure Automation.
- Pokud chcete zpracovávat přihlašovací údaje, přečtěte si téma Správa přihlašovacích údajů ve službě Azure Automation.
- Pokud chcete použít proměnné automation, spravujte proměnné ve službě Azure Automation.
- Nápovědu při práci s připojeními najdete v tématu Správa připojení ve službě Azure Automation.