Azure Portal를 사용 하 여 미사용 Azure Event Hubs 데이터를 암호화 하기 위한 고객 관리 키 구성Configure customer-managed keys for encrypting Azure Event Hubs data at rest by using the Azure portal

Azure Event Hubs는 Azure SSE (Azure Storage 서비스 암호화)를 사용 하 여 미사용 데이터의 암호화를 제공 합니다.Azure Event Hubs provides encryption of data at rest with Azure Storage Service Encryption (Azure SSE). Event Hubs는 Azure Storage를 사용 하 여 데이터를 저장 하 고, 기본적으로 Azure Storage와 함께 저장 되는 모든 데이터는 Microsoft 관리 키를 사용 하 여 암호화 됩니다.Event Hubs relies on Azure Storage to store the data and by default, all the data that is stored with Azure Storage is encrypted using Microsoft-managed keys.

개요Overview

이제 Azure Event Hubs는 Microsoft에서 관리 하는 키 또는 고객이 관리 하는 키 (Bring Your Own Key – BYOK)를 사용 하 여 미사용 데이터를 암호화 하는 옵션을 지원 합니다.Azure Event Hubs now supports the option of encrypting data at rest with either Microsoft-managed keys or customer-managed keys (Bring Your Own Key – BYOK). 이 기능을 사용 하면 미사용 Azure Event Hubs 데이터를 암호화 하는 데 사용 되는 고객 관리 키에 대 한 액세스를 만들고, 회전 하 고, 사용 하지 않도록 설정할 수 있습니다.This feature enables you to create, rotate, disable, and revoke access to the customer-managed keys that are used for encrypting Azure Event Hubs data at rest.

BYOK 기능을 사용 하도록 설정 하는 작업은 네임 스페이스에서 한 번만 설정 하면 됩니다.Enabling the BYOK feature is a one time setup process on your namespace.

참고

BYOK 기능은 Event Hubs 전용 단일 테 넌 트 클러스터에서 지원 됩니다.The BYOK capability is supported by Event Hubs dedicated single-tenant clusters. 표준 Event Hubs 네임 스페이스에 대해 사용 하도록 설정할 수 없습니다.It can't be enabled for standard Event Hubs namespaces.

Azure Key Vault를 사용 하 여 키를 관리 하 고 키 사용을 감사할 수 있습니다.You can use Azure Key Vault to manage your keys and audit your key usage. 사용자 고유의 키를 만들어 키 자격 증명 모음에 저장할 수도 있고, Azure Key Vault API를 사용하여 키를 생성할 수도 있습니다.You can either create your own keys and store them in a key vault, or you can use the Azure Key Vault APIs to generate keys. Azure Key Vault에 대한 자세한 내용은 Azure Key Vault란?For more information about Azure Key Vault, see What is Azure Key Vault?

이 문서에서는 Azure Portal를 사용 하 여 고객이 관리 하는 키로 key vault를 구성 하는 방법을 보여 줍니다.This article shows how to configure a key vault with customer-managed keys by using the Azure portal. Azure Portal을 사용하여 키 자격 증명 모음을 만드는 방법은 빠른 시작: Azure Portal을 사용하여 Azure Key Vault에서 비밀을 설정하고 검색을 참조하세요.To learn how to create a key vault using the Azure portal, see Quickstart: Set and retrieve a secret from Azure Key Vault using the Azure portal.

중요

Azure Event Hubs에서 고객 관리 키를 사용 하려면 키 자격 증명 모음에 두 개의 필수 속성이 구성 되어 있어야 합니다.Using customer-managed keys with Azure Event Hubs requires that the key vault have two required properties configured. 일시 삭제제거 안 함입니다.They are: Soft Delete and Do Not Purge. 이러한 속성은 Azure Portal에서 새 키 자격 증명 모음을 만들 때 기본적으로 사용 하도록 설정 됩니다.These properties are enabled by default when you create a new key vault in the Azure portal. 그러나 기존 키 자격 증명 모음에서 이러한 속성을 사용 하도록 설정 해야 하는 경우에는 PowerShell 또는 Azure CLI를 사용 해야 합니다.However, if you need to enable these properties on an existing key vault, you must use either PowerShell or Azure CLI.

고객 관리형 키 사용Enable customer-managed keys

Azure Portal에서 고객 관리형 키를 사용하도록 설정하려면 다음 단계를 수행합니다.To enable customer-managed keys in the Azure portal, follow these steps:

  1. Event Hubs Dedicated 클러스터로 이동 합니다.Navigate to your Event Hubs Dedicated cluster.

  2. BYOK를 사용 하도록 설정 하려는 네임 스페이스를 선택 합니다.Select the namespace on which you want to enable BYOK.

  3. Event Hubs 네임 스페이스의 설정 페이지에서 암호화를 선택 합니다.On the Settings page of your Event Hubs namespace, select Encryption.

  4. 다음 그림에 표시 된 것 처럼 미사용에서 고객이 관리 하는 키 암호화 를 선택 합니다.Select the Customer-managed key encryption at rest as shown in the following image.

    고객 관리형 키 사용

키를 사용 하 여 키 자격 증명 모음 설정Set up a key vault with keys

고객이 관리 하는 키를 사용 하도록 설정한 후에는 고객 관리 키를 Azure Event Hubs 네임 스페이스와 연결 해야 합니다.After you enable customer-managed keys, you need to associate the customer managed key with your Azure Event Hubs namespace. Event Hubs은 Azure Key Vault만 지원 합니다.Event Hubs supports only Azure Key Vault. 이전 섹션에서 고객이 관리 하는 키로 암호화 옵션을 사용 하도록 설정 하는 경우 키를 Azure Key Vault으로 가져와야 합니다.If you enable the Encryption with customer-managed key option in the previous section, you need to have the key imported into Azure Key Vault. 또한 키에는 일시 삭제 및 키에 대해 구성 된 제거 안 함 이 있어야 합니다.Also, the keys must have Soft Delete and Do Not Purge configured for the key. 이러한 설정은 PowerShell 또는 CLI를 사용 하 여 구성할 수 있습니다.These settings can be configured using PowerShell or CLI.

  1. 새 키 자격 증명 모음을 만들려면 Azure Key Vault 빠른시작을 수행 합니다.To create a new key vault, follow the Azure Key Vault Quickstart. 기존 키를 가져오는 방법에 대 한 자세한 내용은 키, 암호 및 인증서 정보를 참조 하세요.For more information about importing existing keys, see About keys, secrets, and certificates.

  2. 자격 증명 모음을 만들 때 일시 삭제 및 제거 보호를 모두 켜려면 az keyvault create 명령을 사용 합니다.To turn on both soft delete and purge protection when creating a vault, use the az keyvault create command.

    az keyvault create --name ContosoVault --resource-group ContosoRG --location westus --enable-soft-delete true --enable-purge-protection true
    
  3. 이미 일시 삭제를 사용 하도록 설정한 상태에서 기존 자격 증명 모음에 제거 방지를 추가 하려면 az keyvault update 명령을 사용 합니다.To add purge protection to an existing vault (that already has soft delete enabled), use the az keyvault update command.

    az keyvault update --name ContosoVault --resource-group ContosoRG --enable-purge-protection true
    
  4. 다음 단계를 수행 하 여 키를 만듭니다.Create keys by following these steps:

    1. 새 키를 만들려면 설정 아래 메뉴에서 생성/가져오기를 선택합니다.To create a new key, select Generate/Import from the Keys menu under Settings.

      생성/가져오기 단추를 선택 합니다.

    2. 옵션생성으로 설정하고 키에 이름을 지정합니다.Set Options to Generate and give the key a name.

      키 만들기

    3. 이제이 키를 선택 하 여 드롭다운 목록에서 암호화할 Event Hubs 네임 스페이스와 연결할 수 있습니다.You can now select this key to associate with the Event Hubs namespace for encrypting from the drop-down list.

      키 자격 증명 모음에서 키 선택

    4. 키에 대 한 세부 정보를 입력 하 고 선택을 클릭 합니다.Fill in the details for the key and click Select. 이렇게 하면 고객이 관리 하는 키를 사용 하 여 네임 스페이스에 있는 미사용 데이터를 암호화할 수 있습니다.This will enable the encryption of data at rest on the namespace with a customer managed key.

암호화 키 회전Rotate your encryption keys

Azure 키 자격 증명 모음 회전 메커니즘을 사용 하 여 키 자격 증명 모음에서 키를 회전할 수 있습니다.You can rotate your key in the key vault by using the Azure Key Vaults rotation mechanism. 키 회전을 자동화 하도록 활성화 및 만료 날짜를 설정할 수도 있습니다.Activation and expiration dates can also be set to automate key rotation. Event Hubs 서비스는 새 키 버전을 검색 하 고 자동으로 사용을 시작 합니다.The Event Hubs service will detect new key versions and start using them automatically.

키에 대 한 액세스 취소Revoke access to keys

암호화 키에 대 한 액세스를 취소 해도 Event Hubs의 데이터는 제거 되지 않습니다.Revoking access to the encryption keys won't purge the data from Event Hubs. 그러나 Event Hubs 네임 스페이스에서 데이터에 액세스할 수 없습니다.However, the data can't be accessed from the Event Hubs namespace. 액세스 정책을 통해 또는 키를 삭제 하 여 암호화 키를 해지할 수 있습니다.You can revoke the encryption key through access policy or by deleting the key. 키 자격 증명 모음에 대 한 보안 액세스에서 액세스 정책 및 키 자격 증명 모음 보안에 대해 자세히 알아보세요.Learn more about access policies and securing your key vault from Secure access to a key vault.

암호화 키가 해지 되 면 암호화 된 네임 스페이스의 Event Hubs 서비스가 작동 하지 않게 됩니다.Once the encryption key is revoked, the Event Hubs service on the encrypted namespace will become inoperable. 키에 대 한 액세스를 사용 하도록 설정 하거나 delete 키를 복원 하는 경우 암호화 된 Event Hubs 네임 스페이스의 데이터에 액세스할 수 있도록 Event Hubs 서비스에서 키를 선택 합니다.If the access to the key is enabled or the delete key is restored, Event Hubs service will pick the key so you can access the data from the encrypted Event Hubs namespace.

진단 로그 설정Set up diagnostic logs

BYOK 사용 네임 스페이스에 대 한 진단 로그를 설정 하면 고객이 관리 하는 키를 사용 하 여 네임 스페이스를 암호화할 때 작업에 대 한 필수 정보가 제공 됩니다.Setting diagnostic logs for BYOK enabled namespaces gives you the required information about the operations when a namespace is encrypted with customer-managed keys. 이러한 로그를 사용 하도록 설정 하 고 나중에 이벤트 허브로 스트림 하거나, log analytics를 통해 분석 하거나, 사용자 지정 분석을 수행 하기 위해 저장소로 스트리밍할 수 있습니다.These logs can be enabled and later stream to an event hub or analyzed through log analytics or streamed to storage to perform customized analytics. 진단 로그에 대 한 자세한 내용은 Azure 진단 로그 개요를 참조 하세요.To learn more about diagnostic logs, see Overview of Azure Diagnostic logs.

사용자 로그 사용Enable user logs

고객 관리 키에 대 한 로그를 사용 하도록 설정 하려면 다음 단계를 수행 합니다.Follow these steps to enable logs for customer-managed keys.

  1. Azure Portal에서 BYOK를 사용 하는 네임 스페이스로 이동 합니다.In the Azure portal, navigate to the namespace that has BYOK enabled.

  2. 모니터링아래에서 진단 설정 을 선택 합니다.Select Diagnostic settings under Monitoring.

    진단 설정 선택

  3. + 진단 설정 추가를 선택 합니다.Select +Add diagnostic setting.

    진단 설정 추가를 선택 합니다.

  4. 이름을 입력 하 고 로그를 스트리밍할 위치를 선택 합니다.Provide a name and select where you want to stream the logs to.

  5. Customermanagedkeyuserlogs 를 선택 하 고 저장을 선택 합니다.Select CustomerManagedKeyUserLogs and Save. 이 작업을 통해 네임 스페이스에 대 한 BYOK 로그가 활성화 됩니다.This action enables the logs for BYOK on the namespace.

    고객 관리 키 사용자 로그 옵션을 선택 합니다.

로그 스키마Log schema

모든 로그는 JSON(JavaScript Object Notation) 형식으로 저장됩니다.All logs are stored in JavaScript Object Notation (JSON) format. 각 항목에는 다음 표에 설명 된 형식을 사용 하는 문자열 필드가 있습니다.Each entry has string fields that use the format described in the following table.

이름Name DescriptionDescription
TaskNameTaskName 실패한 작업에 대한 설명입니다.Description of the task that failed.
ActivityIdActivityId 추적에 사용 되는 내부 ID입니다.Internal ID that's used for tracking.
categorycategory 태스크의 분류를 정의 합니다.Defines the classification of the task. 예를 들어 키 자격 증명 모음의 키를 사용 하지 않도록 설정 하는 경우 정보 범주 이거나 키를 래핑 해제할 수 없는 경우 오류가 발생할 수 있습니다.For example, if the key from your key vault is being disabled, then it would be an information category or if a key can't be unwrapped, it could fall under error.
resourceIdresourceId Azure Resource Manager 리소스 IDAzure Resource Manager resource ID
keyVaultkeyVault 키 자격 증명 모음의 전체 이름입니다.Full name of key vault.
keykey Event Hubs 네임 스페이스를 암호화 하는 데 사용 되는 키 이름입니다.The key name that's used to encrypt the Event Hubs namespace.
버전version 사용 되는 키의 버전입니다.The version of the key being used.
operation(작업)operation 키 자격 증명 모음의 키에 대해 수행 되는 작업입니다.The operation that's performed on the key in your key vault. 예를 들어 키, 줄 바꿈 또는 래핑 해제를 사용 하거나 사용 하지 않도록 설정 합니다.For example, disable/enable the key, wrap, or unwrap
코드code 작업과 연결 된 코드입니다.The code that's associated with the operation. 예: 오류 코드 404는 키를 찾을 수 없음을 의미 합니다.Example: Error code, 404 means that key wasn't found.
messagemessage 작업과 관련 된 오류 메시지Any error message associated with the operation

고객 관리 키에 대 한 로그의 예는 다음과 같습니다.Here's an example of the log for a customer managed key:

{
   "TaskName": "CustomerManagedKeyUserLog",
   "ActivityId": "11111111-1111-1111-1111-111111111111",
   "category": "error"
   "resourceId": "/SUBSCRIPTIONS/11111111-1111-1111-1111-11111111111/RESOURCEGROUPS/DEFAULT-EVENTHUB-CENTRALUS/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/FBETTATI-OPERA-EVENTHUB",
   "keyVault": "https://mykeyvault.vault-int.azure-int.net",
   "key": "mykey",
   "version": "1111111111111111111111111111111",
   "operation": "wrapKey",
   "code": "404",
   "message": "Key not found: ehbyok0/111111111111111111111111111111",
}



{
   "TaskName": "CustomerManagedKeyUserLog",
   "ActivityId": "11111111111111-1111-1111-1111111111111",
   "category": "info"
   "resourceId": "/SUBSCRIPTIONS/111111111-1111-1111-1111-11111111111/RESOURCEGROUPS/DEFAULT-EVENTHUB-CENTRALUS/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/FBETTATI-OPERA-EVENTHUB",
   "keyVault": "https://mykeyvault.vault-int.azure-int.net",
   "key": "mykey",
   "version": "111111111111111111111111111111",
   "operation": "disable" | "restore",
   "code": "",
   "message": "",
}

리소스 관리자 템플릿을 사용 하 여 암호화 사용Use Resource Manager template to enable encryption

이 섹션에서는 Azure Resource Manager 템플릿을사용 하 여 다음 작업을 수행 하는 방법을 보여 줍니다.This section shows how to do the following tasks using Azure Resource Manager templates.

  1. 관리 서비스 id를 사용 하 여 Event Hubs 네임 스페이스 를 만듭니다.Create an Event Hubs namespace with a managed service identity.
  2. 주요 자격 증명 모음 을 만들고 키 자격 증명 모음에 대 한 서비스 id 액세스 권한을 부여 합니다.Create a key vault and grant the service identity access to the key vault.
  3. 키 자격 증명 모음 정보 (키/값)를 사용 하 여 Event Hubs 네임 스페이스를 업데이트 합니다.Update the Event Hubs namespace with the key vault information (key/value).

관리 서비스 id를 사용 하 여 Event Hubs 클러스터 및 네임 스페이스 만들기Create an Event Hubs cluster and namespace with managed service identity

이 섹션에서는 Azure Resource Manager 템플릿 및 PowerShell을 사용 하 여 관리 서비스 id를 사용 하 여 Azure Event Hubs 네임 스페이스를 만드는 방법을 보여 줍니다.This section shows you how to create an Azure Event Hubs namespace with managed service identity by using an Azure Resource Manager template and PowerShell.

  1. 관리 서비스 id를 사용 하 여 Event Hubs 네임 스페이스를 만드는 Azure Resource Manager 템플릿을 만듭니다.Create an Azure Resource Manager template to create an Event Hubs namespace with a managed service identity. 파일 이름: CreateEventHubClusterAndNamespace.js:Name the file: CreateEventHubClusterAndNamespace.json:

    {
       "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
       "contentVersion":"1.0.0.0",
       "parameters":{
          "clusterName":{
             "type":"string",
             "metadata":{
                "description":"Name for the Event Hub cluster."
             }
          },
          "namespaceName":{
             "type":"string",
             "metadata":{
                "description":"Name for the Namespace to be created in cluster."
             }
          },
          "location":{
             "type":"string",
             "defaultValue":"[resourceGroup().location]",
             "metadata":{
                "description":"Specifies the Azure location for all resources."
             }
          }
       },
       "resources":[
          {
             "type":"Microsoft.EventHub/clusters",
             "apiVersion":"2018-01-01-preview",
             "name":"[parameters('clusterName')]",
             "location":"[parameters('location')]",
             "sku":{
                "name":"Dedicated",
                "capacity":1
             }
          },
          {
             "type":"Microsoft.EventHub/namespaces",
             "apiVersion":"2018-01-01-preview",
             "name":"[parameters('namespaceName')]",
             "location":"[parameters('location')]",
             "identity":{
                "type":"SystemAssigned"
             },
             "sku":{
                "name":"Standard",
                "tier":"Standard",
                "capacity":1
             },
             "properties":{
                "isAutoInflateEnabled":false,
                "maximumThroughputUnits":0,
                "clusterArmId":"[resourceId('Microsoft.EventHub/clusters', parameters('clusterName'))]"
             },
             "dependsOn":[
                "[resourceId('Microsoft.EventHub/clusters', parameters('clusterName'))]"
             ]
          }
       ],
       "outputs":{
          "EventHubNamespaceId":{
             "type":"string",
             "value":"[resourceId('Microsoft.EventHub/namespaces',parameters('namespaceName'))]"
          }
       }
    }
    
  2. 이름: CreateEventHubClusterAndNamespaceParams.js에템플릿 매개 변수 파일을 만듭니다.Create a template parameter file named: CreateEventHubClusterAndNamespaceParams.json.

    참고

    다음 값을 바꿉니다.Replace the following values:

    • <EventHubsClusterName>-Event Hubs 클러스터의 이름<EventHubsClusterName> - Name of your Event Hubs cluster
    • <EventHubsNamespaceName>-Event Hubs 네임 스페이스의 이름<EventHubsNamespaceName> - Name of your Event Hubs namespace
    • <Location>-Event Hubs 네임 스페이스의 위치<Location> - Location of your Event Hubs namespace
    {
       "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
       "contentVersion":"1.0.0.0",
       "parameters":{
          "clusterName":{
             "value":"<EventHubsClusterName>"
          },
          "namespaceName":{
             "value":"<EventHubsNamespaceName>"
          },
          "location":{
             "value":"<Location>"
          }
       }
    }
    
    
  3. 다음 PowerShell 명령을 실행 하 여 템플릿을 배포 하 Event Hubs 네임 스페이스를 만듭니다.Run the following PowerShell command to deploy the template to create an Event Hubs namespace. 그런 다음 나중에 사용할 Event Hubs 네임 스페이스의 ID를 검색 합니다.Then, retrieve the ID of the Event Hubs namespace to use it later. {MyRG}명령을 실행 하기 전에 리소스 그룹의 이름으로 대체 합니다.Replace {MyRG} with the name of the resource group before running the command.

    $outputs = New-AzResourceGroupDeployment -Name CreateEventHubClusterAndNamespace -ResourceGroupName {MyRG} -TemplateFile ./CreateEventHubClusterAndNamespace.json -TemplateParameterFile ./CreateEventHubClusterAndNamespaceParams.json
    
    $EventHubNamespaceId = $outputs.Outputs["eventHubNamespaceId"].value
    

Key vault에 Event Hubs 네임 스페이스 id 액세스 권한 부여Grant Event Hubs namespace identity access to key vault

  1. 다음 명령을 실행 하 여 보호 제거일시 삭제 를 사용 하는 주요 자격 증명 모음을 만듭니다.Run the following command to create a key vault with purge protection and soft-delete enabled.

    New-AzureRmKeyVault -Name {keyVaultName} -ResourceGroupName {RGName}  -Location {location} -EnableSoftDelete -EnablePurgeProtection    
    

    또는(OR)

    다음 명령을 실행 하 여 기존 주요 자격 증명 모음을 업데이트 합니다.Run the following command to update an existing key vault. 명령을 실행 하기 전에 리소스 그룹 및 주요 자격 증명 모음 이름에 대 한 값을 지정 합니다.Specify values for resource group and key vault names before running the command.

    ($updatedKeyVault = Get-AzureRmResource -ResourceId (Get-AzureRmKeyVault -ResourceGroupName {RGName} -VaultName {keyVaultName}).ResourceId).Properties| Add-Member -MemberType "NoteProperty" -Name "enableSoftDelete" -Value "true"-Force | Add-Member -MemberType "NoteProperty" -Name "enablePurgeProtection" -Value "true" -Force
    
  2. Event Hubs 네임 스페이스의 관리 id가 key vault의 키 값에 액세스할 수 있도록 키 자격 증명 모음 액세스 정책을 설정 합니다.Set the key vault access policy so that the managed identity of the Event Hubs namespace can access key value in the key vault. 이전 섹션에서 Event Hubs 네임 스페이스의 ID를 사용 합니다.Use the ID of the Event Hubs namespace from the previous section.

    $identity = (Get-AzureRmResource -ResourceId $EventHubNamespaceId -ExpandProperties).Identity
    
    Set-AzureRmKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $identity.PrincipalId -PermissionsToKeys get,wrapKey,unwrapKey,list
    

Key vault에서 고객 관리 키를 사용 하 여 Event Hubs 네임 스페이스의 데이터 암호화Encrypt data in Event Hubs namespace with customer-managed key from key vault

지금까지 다음 단계를 완료 했습니다.You have done the following steps so far:

  1. 관리 id를 사용 하 여 프리미엄 네임 스페이스를 만들었습니다.Created a premium namespace with a managed identity.
  2. 주요 자격 증명 모음을 만들고 관리 id에 키 자격 증명 모음에 대 한 액세스 권한을 부여 합니다.Create a key vault and granted the managed identity access to the key vault.

이 단계에서는 키 자격 증명 모음 정보를 사용 하 여 Event Hubs 네임 스페이스를 업데이트 합니다.In this step, you will update the Event Hubs namespace with key vault information.

  1. 다음 콘텐츠를 사용 하 여 CreateEventHubClusterAndNamespace.js에 이라는 JSON 파일을 만듭니다.Create a JSON file named CreateEventHubClusterAndNamespace.json with the following content:

    {
       "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
       "contentVersion":"1.0.0.0",
       "parameters":{
          "clusterName":{
             "type":"string",
             "metadata":{
                "description":"Name for the Event Hub cluster."
             }
          },
          "namespaceName":{
             "type":"string",
             "metadata":{
                "description":"Name for the Namespace to be created in cluster."
             }
          },
          "location":{
             "type":"string",
             "defaultValue":"[resourceGroup().location]",
             "metadata":{
                "description":"Specifies the Azure location for all resources."
             }
          },
          "keyVaultUri":{
             "type":"string",
             "metadata":{
                "description":"URI of the KeyVault."
             }
          },
          "keyName":{
             "type":"string",
             "metadata":{
                "description":"KeyName."
             }
          }
       },
       "resources":[
          {
             "type":"Microsoft.EventHub/namespaces",
             "apiVersion":"2018-01-01-preview",
             "name":"[parameters('namespaceName')]",
             "location":"[parameters('location')]",
             "identity":{
                "type":"SystemAssigned"
             },
             "sku":{
                "name":"Standard",
                "tier":"Standard",
                "capacity":1
             },
             "properties":{
                "isAutoInflateEnabled":false,
                "maximumThroughputUnits":0,
                "clusterArmId":"[resourceId('Microsoft.EventHub/clusters', parameters('clusterName'))]",
                "encryption":{
                   "keySource":"Microsoft.KeyVault",
                   "keyVaultProperties":[
                      {
                         "keyName":"[parameters('keyName')]",
                         "keyVaultUri":"[parameters('keyVaultUri')]"
                      }
                   ]
                }
             }
          }
       ]
    }
    
  2. 템플릿 매개 변수 파일 만들기: UpdateEventHubClusterAndNamespaceParams.js.Create a template parameter file: UpdateEventHubClusterAndNamespaceParams.json.

    참고

    다음 값을 바꿉니다.Replace the following values:

    • <EventHubsClusterName>-Event Hubs 클러스터의 이름입니다.<EventHubsClusterName> - Name of your Event Hubs cluster.
    • <EventHubsNamespaceName>-Event Hubs 네임 스페이스의 이름<EventHubsNamespaceName> - Name of your Event Hubs namespace
    • <Location>-Event Hubs 네임 스페이스의 위치<Location> - Location of your Event Hubs namespace
    • <KeyVaultName>-키 자격 증명 모음의 이름<KeyVaultName> - Name of your key vault
    • <KeyName>-키 자격 증명 모음에 있는 키의 이름<KeyName> - Name of the key in the key vault
    {
       "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
       "contentVersion":"1.0.0.0",
       "parameters":{
          "clusterName":{
             "value":"<EventHubsClusterName>"
          },
          "namespaceName":{
             "value":"<EventHubsNamespaceName>"
          },
          "location":{
             "value":"<Location>"
          },
          "keyName":{
             "value":"<KeyName>"
          },
          "keyVaultUri":{
             "value":"https://<KeyVaultName>.vault.azure.net"
          }
       }
    }
    
  3. 다음 PowerShell 명령을 실행 하 여 리소스 관리자 템플릿을 배포 합니다.Run the following PowerShell command to deploy the Resource Manager template. {MyRG}명령을 실행 하기 전에을 리소스 그룹의 이름으로 바꿉니다.Replace {MyRG} with the name of your resource group before running the command.

    New-AzResourceGroupDeployment -Name UpdateEventHubNamespaceWithEncryption -ResourceGroupName {MyRG} -TemplateFile ./UpdateEventHubClusterAndNamespace.json -TemplateParameterFile ./UpdateEventHubClusterAndNamespaceParams.json 
    

문제 해결Troubleshoot

모범 사례로, 이전 섹션에 표시 된 것과 같이 항상 로그를 사용 하도록 설정 합니다.As a best practice, always enable logs like shown in the previous section. BYOK 암호화를 사용 하는 경우 활동을 추적 하는 데 도움이 됩니다.It helps in tracking the activities when BYOK encryption is enabled. 문제의 범위를 지정 하는 데에도 도움이 됩니다.It also helps in scoping down the problems.

BYOK 암호화를 사용 하는 경우 다음은 일반적인 오류 코드입니다.Following are the common errors codes to look for when BYOK encryption is enabled.

작업Action 오류 코드Error code 데이터의 결과 상태Resulting state of data
키 자격 증명 모음에서 래핑/래핑 해제 권한 제거Remove wrap/unwrap permission from a key vault 403403 액세스할 수 없음Inaccessible
줄 바꿈/래핑 해제 권한이 부여 된 AAD 사용자에서 AAD 역할 멤버 자격 제거Remove AAD role membership from an AAD principal that granted the wrap/unwrap permission 403403 액세스할 수 없음Inaccessible
키 자격 증명 모음에서 암호화 키를 삭제 합니다.Delete an encryption key from the key vault 404404 액세스할 수 없음Inaccessible
키 자격 증명 모음 삭제Delete the key vault 404404 액세스할 수 없습니다 (필요한 설정인 일시 삭제를 사용 하는 것으로 가정).Inaccessible (assumes soft-delete is enabled, which is a required setting.)
암호화 키의 만료 기간을 변경 하 여 이미 만료 된 경우Changing the expiration period on the encryption key such that it's already expired 403403 액세스할 수 없음Inaccessible
키 암호화 키가 활성화 되지 않도록 NBF (이전 아님) 변경Changing the NBF (not before) such that key encryption key isn't active 403403 액세스할 수 없음Inaccessible
키 자격 증명 모음 방화벽에 대해 MSFT 서비스 허용 옵션을 선택 하거나, 암호화 키가 있는 key vault에 대 한 네트워크 액세스를 차단 합니다.Selecting the Allow MSFT Services option for the key vault firewall or otherwise blocking network access to the key vault that has the encryption key 403403 액세스할 수 없음Inaccessible
다른 테 넌 트로 키 자격 증명 모음 이동Moving the key vault to a different tenant 404404 액세스할 수 없음Inaccessible
일시적인 네트워크 문제 또는 DNS/AAD/MSI 중단Intermittent network issue or DNS/AAD/MSI outage 캐시 된 데이터 암호화 키를 사용 하 여 액세스 가능Accessible using cached data encryption key

중요

BYOK 암호화를 사용 하는 네임 스페이스에서 지역 DR을 사용 하도록 설정 하려면 페어링의 보조 네임 스페이스가 전용 클러스터에 있어야 하 고이 네임 스페이스에 시스템 할당 관리 id가 설정 되어 있어야 합니다.To enable Geo-DR on a namespace that's using the BYOK encryption, the secondary namespace for pairing must be in a dedicated cluster and must have a system assigned managed identity enabled on it. 자세히 알아보려면 Azure 리소스에 대 한 관리 되는 id를 참조 하세요.To learn more, see Managed Identities for Azure Resources.

다음 단계Next steps

다음 문서를 참조하세요.See the following articles: