미사용 데이터에 대한 Azure Bot Service 암호화Azure Bot Service encryption for data at rest

적용 대상: SDK v4APPLIES TO: SDK v4

Azure Bot Service 데이터가 클라우드에 유지되면 데이터를 자동으로 암호화하여 데이터를 보호하고 조직의 보안 및 규정 준수 약정을 충족합니다.Azure Bot Service automatically encrypts your data when it is persisted to the cloud to protect the data and to meet organizational security and compliance commitments.

암호화 및 암호 해독은 투명하므로 암호화 및 액세스가 자동으로 관리됩니다.Encryption and decryption are transparent, meaning encryption and access are managed for you. 데이터는 기본적으로 안전하며 암호화를 활용하기 위해 코드 또는 애플리케이션을 수정할 필요가 없습니다.Your data is secure by default and you don't need to modify your code or applications to take advantage of encryption.

암호화 키 관리 정보About encryption key management

기본적으로 구독은 Microsoft에서 관리하는 암호화 키를 사용합니다.By default, your subscription uses Microsoft-managed encryption keys. 고객 관리형 키라는 사용자 고유의 키를 사용하여 봇 리소스를 관리하는 옵션도 있습니다.You also have the option to manage your bot resource with your own keys called customer-managed keys. 고객 관리형 키는 데이터 Azure Bot Service 저장소에 대한 액세스 제어를 만들고, 회전하고, 비활성화하고, 취소할 수 있는 더 큰 유연성을 제공합니다.Customer-managed keys offer greater flexibility to create, rotate, disable, and revoke access controls to the data Azure Bot Service stores. 데이터를 보호하는 데 사용되는 암호화 키를 감사할 수도 있습니다.You can also audit the encryption keys used to protect your data.

데이터를 암호화할 때 Azure Bot Service 두 가지 수준의 암호화로 암호화됩니다.When encrypting data, Azure Bot Service encrypts with two levels of encryption. 고객 관리형 키를 사용할 수 없는 경우 사용되는 두 키는 모두 Microsoft 관리형 키입니다.In the case where customer-managed keys aren't enabled, both keys used are Microsoft-managed keys. 고객 관리형 키를 사용하도록 설정하면 데이터는 고객 관리형 키와 Microsoft 관리형 키를 모두 사용하여 암호화됩니다.When customer-managed keys are enabled, the data is encrypted with both the customer-managed key and a Microsoft-managed key.

Azure Key Vault를 사용하는 고객 관리형 키Customer-managed keys with Azure Key Vault

고객 관리형 키 기능을 활용하려면 Azure Key Vault 키를 저장하고 관리해야 합니다.To utilize the customer-managed keys feature, you must store and manage keys in Azure Key Vault. 사용자 고유의 키를 만들어 키 자격 증명 모음에 저장할 수도 있고, 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 AD(Azure Active Directory) 테넌트 안에 있어야 하지만 서로 다른 구독에 있을 수 있습니다.Your bot registration and the key vault must be in the same Azure Active Directory (Azure AD) tenant, but they can be in different subscriptions. Azure Key Vault에 대한 자세한 내용은 Azure Key Vault란?을 참조하세요.For more information about Azure Key Vault, see What is Azure Key Vault?.

고객 관리형 키를 사용하는 경우 Azure Bot Service 해당 키에 대한 액세스가 해지되거나 키가 삭제되면 봇이 Azure Bot Service 사용하여 메시지를 보내거나 받을 수 없고 Azure Portal 봇 등록 구성에 액세스하거나 편집할 수 없도록 스토리지에서 데이터를 암호화합니다.When using a customer-managed key, Azure Bot Service encrypts your data in its storage, such that if access to that key is revoked or the key is deleted, your bot won't be able to use Azure Bot Service to send or receive messages, and you won't be able to access or edit the configuration of your Bot registration in the Azure portal.

중요

Azure Bot Service 팀은 키에 액세스하지 않고 고객 관리형 암호화 키 봇을 복구할 수 없습니다.The Azure Bot Service team cannot recover a customer-managed encryption key bot without access to the key.

암호화되는 데이터는 무엇인가요?What data is encrypted?

Azure Bot Service 봇에 대한 고객 데이터, 사용하는 채널, 개발자가 설정하는 구성 설정 및 필요한 경우 현재 활성 대화의 레코드를 저장합니다.Azure Bot Service stores customer data about the bot, the channels it uses, configuration settings the developer sets, and where necessary, a record of currently active conversations. 또한 24시간 이내에 일시적으로 Direct Line 또는 웹 채팅 채널을 통해 전송된 메시지와 업로드된 첨부 파일을 저장합니다.It also transiently, for less than 24 hours, stores the messages sent over the Direct Line or Web Chat channels and any attachments uploaded.

모든 고객 데이터는 Azure Bot Service 두 계층의 암호화로 암호화됩니다. Microsoft 관리형 암호화 키 또는 Microsoft 및 고객 관리형 암호화 키를 사용합니다.All customer data is encrypted with two layers of encryption in Azure Bot Service; either with Microsoft managed encryption keys, or Microsoft and customer-managed encryption keys. Azure Bot Service Microsoft 관리형 암호화 키를 사용하여 임시로 저장된 데이터를 암호화하고, 봇 등록 구성에 따라 Microsoft 또는 고객 관리형 암호화 키를 사용하여 장기 데이터를 암호화합니다.Azure Bot Service encrypts transiently-stored data using the Microsoft-managed encryption keys, and, depending on the configuration of the bot registration, encrypts longer-term data using either the Microsoft or customer-managed encryption keys.

참고

고객에게 Azure Bot Service 외부의 다른 서비스에 있는 사용자와 메시지를 배달할 수 있는 기능을 제공하기 위한 Azure Bot Service 존재하기 때문에 암호화는 해당 서비스로 확장되지 않습니다.As Azure Bot Service exists to provide customers the ability to deliver messages to and from users on other services outside Azure Bot Service, encryption doesn't extend to those services. 즉, Azure Bot Service 제어 하에서 데이터는 이 문서의 지침에 따라 암호화되어 저장됩니다. 그러나 다른 서비스에 배달하기 위해 서비스를 떠날 때 데이터의 암호가 해독된 다음 TLS 1.2 암호화를 사용하여 대상 서비스에 전송됩니다.This means that while under Azure Bot Service control, data will be stored encrypted as per the guidance in this article; however, when leaving the service to deliver to another service, the data is decrypted and then sent using TLS 1.2 encryption to the target service.

Azure Key Vault 인스턴스를 구성하는 방법How to configure your Azure Key Vault instance

Azure Bot Service 고객 관리형 키를 사용하려면 암호화 키를 호스트하는 데 사용하려는 Azure Key Vault 인스턴스에서 일시 삭제 및 보호 제거라는 두 가지 속성을 사용하도록 설정해야 합니다.Using customer-managed keys with Azure Bot Service requires that you enable two properties on the Azure Key Vault instance you plan to use to host your encryption keys: Soft delete and Purge protection. 이러한 기능을 통해 어떤 이유로 키가 실수로 삭제된 경우 복구할 수 있습니다.These features ensure that if for some reason your key is accidentally deleted, you can recover it. 일시 삭제 및 제거 보호에 대한 자세한 내용은 Azure Key Vault 일시 삭제 개요를 참조하세요.For more information about soft delete and purge protection, see the Azure Key Vault soft-delete overview.

일시 삭제 및 제거 보호 사용 스크린샷

기존 Azure Key Vault 인스턴스를 사용하는 경우 Azure Portal에서 속성 섹션을 보면 이러한 속성을 사용하도록 설정되어 있는지 확인할 수 있습니다.If you're using an existing Azure Key Vault instance, you can verify that these properties are enabled by looking at the Properties section on the Azure portal. 이러한 속성이 활성화되지 않은 경우 일시 삭제 및 제거 보호를 사용하도록 설정하는 방법의 Key Vault 섹션을 참조하세요.If any of these properties aren't enabled, see the Key Vault section in How to enable soft delete and purge protection.

키 자격 증명 모음에 Azure Bot Service 액세스 권한 부여Grant Azure Bot Service access to a key vault

Azure Bot Service 이 목적을 위해 만든 키 자격 증명 모음에 액세스할 수 있으려면 Azure Bot Service 서비스 주체에게 현재 사용 권한 집합을 제공하는 액세스 정책을 설정해야 합니다.For Azure Bot Service to have access to the key vault you created for this purpose, an access policy needs to be set which gives Azure Bot Service's service principal the current set of permissions. 키 자격 증명 모음을 만드는 방법을 포함하여 Azure Key Vault 대한 자세한 내용은 Azure Key Vault 정보를참조하세요.For more information about Azure Key Vault, including how to create a key vault, see About Azure Key Vault.

  1. 키 자격 증명 모음을 포함하는 구독에 Azure Bot Service 리소스 공급자를 등록합니다.Register the Azure Bot Service resource provider on your subscription containing the key vault.

    1. Azure Portal로 이동합니다.Go to the Azure portal.
    2. 구독 블레이드를 열고 키 자격 증명 모음이 포함된 구독을 선택합니다.Open the Subscriptions blade and select the subscription that contains the key vault.
    3. 리소스 공급자 블레이드를 열고 BotService 리소스 공급자를 등록 합니다.Open the Resource providers blade and register the Microsoft.BotService resource provider.

    리소스 공급자로 등록 된 BotService

  2. 키 자격 증명 모음에 대 한 액세스 정책을 구성 하 고 Bot service CMEK Prod 서비스 사용자에 게 Get ( 키 관리 작업 에서) 및 래핑 해제 키 와 키 ( 암호화 작업 에서) 키 사용 권한을 제공 합니다. Configure an access policy on your key vault, giving the Bot Service CMEK Prod service principal the Get (from the Key Management Operations) and Unwrap Key and Wrap Key (from the Cryptographic Operations) key permissions.

    1. 자격 증명 모음 블레이드를 열고 키 자격 증명 모음을 선택 합니다.Open the Key vaults blade and select your key vault.
    2. Bot Service CMEK Prod 응용 프로그램이 액세스 정책으로 추가 되 고 이러한 3 개의 권한이 있는지 확인 합니다.Make sure that the Bot Service CMEK Prod application is added as an access policy and has these 3 permissions. 키 자격 증명 모음에 대 한 액세스 정책으로 Bot Service CMEK Prod 응용 프로그램을 추가 해야 할 수도 있습니다.You may need to add the Bot Service CMEK Prod application as an access policy to your key vault.
    3. 저장 을 선택 하 여 변경한 내용을 저장 합니다.Select Save to save any changes you made.

    Bot Service CMEK Prod가 액세스 정책으로 추가 됨

  3. Key Vault 방화벽을 무시 하도록 허용 합니다.Allow Key Vault to bypass your firewall.

    1. 자격 증명 모음 블레이드를 열고 키 자격 증명 모음을 선택 합니다.Open the Key vaults blade and select your key vault.

    2. 네트워킹 블레이드를 열고 방화벽 및 가상 네트워크 탭으로 이동 합니다.Open the Networking blade and go to the Firewalls and virtual networks tab.

    3. 에서 액세스 허용개인 끝점 및 선택한 네트워크 로 설정 된 경우 신뢰할 수 있는 Microsoft 서비스에서이 방화벽을 바이패스 하도록 허용 로 설정 합니다.If Allow access from is set to Private endpoint and selected networks, set Allow trusted Microsoft services to bypass this firewall to Yes.

    4. 저장 을 선택 하 여 변경한 내용을 저장 합니다.Select Save to save any changes you made.

      Key Vault에 대 한 방화벽 예외가 추가 됨

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

고객이 관리 하는 암호화 키를 사용 하 여 봇 등록을 암호화 하려면 다음 단계를 수행 합니다.To encrypt your Bot Registration with a customer-managed encryption key, follow these steps:

  1. Bot의 리소스 블레이드를 엽니다.Open the resource blade for your bot.

  2. Bot의 암호화 블레이드를 열고 암호화 유형에 대 한 고객 관리 키 를 선택 합니다.Open the Encryption blade of your bot and select Customer-Managed Keys for the Encryption type.

  3. 버전을 포함 하 여 키의 전체 URI를 입력 하거나 키 자격 증명 모음을 선택 하 고 키를 클릭 하 여 키를 찾습니다.Either input your key's complete URI, including version, or click Select a key vault and a key to find your key.

  4. 블레이드 위쪽에서 저장 을 클릭합니다.Click Save at the top of the blade.

    고객 관리 암호화를 사용 하는 Bot 리소스

이러한 단계가 완료 되 면 Azure Bot Service는 암호화 프로세스를 시작 합니다.Once these steps are completed, Azure Bot Service will start the encryption process. 이 작업을 완료 하는 데 다소 시간이 걸릴 수 있습니다 (최대 24 시간).This can take some time to complete (up to 24 hours). 이 기간 동안에는 봇이 완전히 작동 합니다.Your bot will be completely functional during this time period.

고객 관리형 키 순환Rotate customer-managed keys

고객이 관리 하는 암호화 키를 회전 하려면 새 키 (또는 기존 키의 새 버전)에 대해 새 URI를 사용 하도록 Azure Bot Service 리소스를 업데이트 해야 합니다.To rotate a customer-managed encryption key, you must update the Azure Bot Service resource to use the new URI for the new key (or new version of the existing key).

새 키로 다시 암호화가 비동기적으로 수행 되므로 데이터를 계속 해독할 수 있도록 이전 키를 사용할 수 있는 상태로 유지 해야 합니다. 그렇지 않으면 봇의 작동이 중지 될 수 있습니다.Because re-encryption with the new key occurs asynchronously, ensure the old key remains available so that data can continue to be decrypted; otherwise, your bot could stop working. 하나 이상의 주에 대해 이전 키를 유지 해야 합니다.You should retain the old key for at least one week.

고객 관리형 키에 대한 액세스 권한 철회Revoke access to customer-managed keys

액세스를 취소 하려면 키 자격 증명 모음에서 봇 서비스 CMEK Prod 서비스 주체에 대 한 액세스 정책을 제거 합니다.To revoke access, remove the access policy for the Bot Service CMEK Prod service principal from your key vault.

참고

액세스를 취소 하면 봇과 연결 된 대부분의 기능이 중단 됩니다.Revoking access will break most of the functionality associated with your bot. 고객 관리 키 기능을 사용 하지 않도록 설정 하려면 액세스를 취소 하기 전에 기능을 해제 하 여 봇이 계속 작동할 수 있도록 합니다.To disable the customer-managed keys feature, turn off the feature before revoking access to ensure the bot can continue working.

다음 단계Next steps

Azure Key Vault에 대 한 자세한 정보Learn more About Azure Key Vault