Azure 데이터 보안 및 암호화 모범 사례Azure data security and encryption best practices

이 문서에서는 데이터 보안 및 암호화에 대 한 모범 사례를 설명 합니다.This article describes best practices for data security and encryption.

모범 사례는 의견의 일치를 기반으로 하며 현재 Azure 플랫폼 기능 및 기능 집합과 함께 작동합니다.The best practices are based on a consensus of opinion, and they work with current Azure platform capabilities and feature sets. 의견 및 기술은 시간이 지남에 따라 변경 되며이 문서는 이러한 변경 내용을 반영 하기 위해 정기적으로 업데이트 됩니다.Opinions and technologies change over time and this article is updated on a regular basis to reflect those changes.

데이터 보호Protect data

클라우드에서 데이터를 보호하려면 데이터에서 발생 가능한 상태 및 해당 상태에 사용 가능한 컨트롤을 고려해야 합니다.To help protect data in the cloud, you need to account for the possible states in which your data can occur, and what controls are available for that state. Azure 데이터 보안 및 암호화의 모범 사례는 다음과 같은 데이터 상태와 관련이 있습니다.Best practices for Azure data security and encryption relate to the following data states:

  • 미사용: 물리적 미디어(자기 또는 광 디스크)에 정적으로 존재하는 모든 정보 스토리지 개체, 컨테이너 및 형식이 포함됩니다.At rest: This includes all information storage objects, containers, and types that exist statically on physical media, whether magnetic or optical disk.
  • 전송 중: 구성 요소, 위치 또는 프로그램 간에 데이터를 전송하는 경우 전송 중입니다.In transit: When data is being transferred between components, locations, or programs, it’s in transit. 네트워크를 통하거나, 서비스 버스 간에(ExpressRoute와 같은 하이브리드 연결을 비롯한 온-프레미스와 클라우드 간) 또는 입출력 프로세스 중에 전송을 예로 들 수 있습니다.Examples are transfer over the network, across a service bus (from on-premises to cloud and vice-versa, including hybrid connections such as ExpressRoute), or during an input/output process.

키 관리 솔루션 선택Choose a key management solution

키를 보호하는 것은 클라우드에서 데이터를 보호하는 데 필수적입니다.Protecting your keys is essential to protecting your data in the cloud.

Azure Key Vault를 사용하면 클라우드 애플리케이션과 서비스에서 사용하는 암호화 키 및 비밀을 보호할 수 있습니다.Azure Key Vault helps safeguard cryptographic keys and secrets that cloud applications and services use. 키 자격 증명 모음은 키 관리 프로세스를 간소화하고 데이터를 액세스하고 암호화하는 키의 제어를 유지할 수 있습니다.Key Vault streamlines the key management process and enables you to maintain control of keys that access and encrypt your data. 개발자는 개발 및 테스트(분)을 위한 키를 만든 다음, 프로덕션 키로 마이그레이션할 수 있습니다.Developers can create keys for development and testing in minutes, and then migrate them to production keys. 보안 관리자는 필요한 경우 권한을 키로 부여(및 해지)할 수 있습니다.Security administrators can grant (and revoke) permission to keys, as needed.

Key Vault를 사용하여 자격 증명 모음이라는 보안 컨테이너를 여러 개 만들 수 있습니다.You can use Key Vault to create multiple secure containers, called vaults. 이러한 자격 증명 모음은 HSM에서 지원됩니다.These vaults are backed by HSMs. 자격 증명 모음은 애플리케이션 비밀을 중앙 집중식으로 스토리지하여 보안 정보의 우발적인 손실 가능성을 줄이는 데 도움이 됩니다.Vaults help reduce the chances of accidental loss of security information by centralizing the storage of application secrets. 또한 키 자격 증명 모음은 저장된 모든 항목에 대한 액세스를 제어하고 기록합니다.Key vaults also control and log the access to anything stored in them. Azure Key Vault는 TLS(전송 계층 보안) 인증서를 요청하고 갱신하는 작업을 처리할 수 있습니다.Azure Key Vault can handle requesting and renewing Transport Layer Security (TLS) certificates. 인증서 수명 주기 관리를 위한 강력한 솔루션 기능을 제공합니다.It provides features for a robust solution for certificate lifecycle management.

Azure Key Vault는 애플리케이션 키와 비밀을 지원하도록 설계되었습니다.Azure Key Vault is designed to support application keys and secrets. Key Vault는 사용자 암호 저장소로 사용할 수 없습니다.Key Vault is not intended to be a store for user passwords.

Key Vault를 사용하는 보안 모범 사례는 다음과 같습니다.Following are security best practices for using Key Vault.

모범 사례: 특정 범위의 사용자, 그룹 및 애플리케이션에 액세스 권한 부여Best practice: Grant access to users, groups, and applications at a specific scope.
세부 정보: 미리 정의 된 Azure RBAC 역할을 사용 합니다.Detail: Use Azure RBAC predefined roles. 예를 들어 사용자에 게 키 자격 증명 모음을 관리 하기 위한 액세스 권한을 부여 하려면 특정 범위에서이 사용자에 게 참여자 Key Vault 미리 정의 된 역할을 할당 합니다.For example, to grant access to a user to manage key vaults, you would assign the predefined role Key Vault Contributor to this user at a specific scope. 이 경우의 범위는 구독, 리소스 그룹 또는 특정 키 자격 증명 모음입니다.The scope in this case would be a subscription, a resource group, or just a specific key vault. 미리 정의 된 역할이 사용자 요구에 맞지 않는 경우 고유한 역할을 정의할수 있습니다.If the predefined roles don’t fit your needs, you can define your own roles.

모범 사례: 액세스 권한이 있는 사용자 제어Best practice: Control what users have access to.
세부 정보: 키 자격 증명 모음에 대한 액세스는 관리 평면 및 데이터 평면이라는 두 개의 별도 인터페이스를 통해 제어됩니다.Detail: Access to a key vault is controlled through two separate interfaces: management plane and data plane. 관리 평면과 데이터 평면 액세스 제어는 독립적으로 작동합니다.The management plane and data plane access controls work independently.

Azure RBAC를 사용 하 여 사용자가 액세스할 수 있는 항목을 제어 합니다.Use Azure RBAC to control what users have access to. 예를 들어 키 자격 증명 모음의 키를 사용하도록 액세스 권한을 애플리케이션에 부여하려면 키 자격 증명 모음 액세스 정책을 사용하여 데이터 평면 액세스 권한만 부여하면 되고, 관리 평면 액세스 권한은 해당 애플리케이션에 필요하지 않습니다.For example, if you want to grant an application access to use keys in a key vault, you only need to grant data plane access permissions by using key vault access policies, and no management plane access is needed for this application. 반대로, 사용자가 자격 증명 모음 속성 및 태그를 읽을 수 있지만 키, 암호 또는 인증서에 대 한 액세스 권한이 없는 경우 Azure RBAC를 사용 하 여이 사용자에 게 읽기 액세스 권한을 부여할 수 있으며, 데이터 평면에 대 한 액세스 권한은 필요 하지 않습니다.Conversely, if you want a user to be able to read vault properties and tags but not have any access to keys, secrets, or certificates, you can grant this user read access by using Azure RBAC, and no access to the data plane is required.

모범 사례: 키 자격 증명 모음에 인증서 저장Best practice: Store certificates in your key vault. 인증서는 가치가 높습니다.Your certificates are of high value. 잘못 사용되면 애플리케이션의 보안 또는 데이터의 보안이 손상될 수 있습니다.In the wrong hands, your application's security or the security of your data can be compromised.
세부 정보: Azure Resource Manager는 VM을 배포할 때 Azure Key Vault에 저장된 인증서를 Azure VM에 안전하게 배포할 수 있습니다.Detail: Azure Resource Manager can securely deploy certificates stored in Azure Key Vault to Azure VMs when the VMs are deployed. 키 자격 증명 모음에 대한 적절한 액세스 정책을 설정하여 인증서에 대한 액세스 권한이 있는 사용자도 제어합니다.By setting appropriate access policies for the key vault, you also control who gets access to your certificate. 또 다른 이점은 Azure Key Vault의 한 곳에서 모든 인증서를 관리할 수 있다는 점입니다.Another benefit is that you manage all your certificates in one place in Azure Key Vault. 자세한 내용은 고객 관리 Key Vault에서 VM에 인증서 배포를 참조하세요.See Deploy Certificates to VMs from customer-managed Key Vault for more information.

모범 사례: 삭제된 키 자격 증명 모음 또는 키 자격 증명 모음 개체를 복구할 수 있는지 확인Best practice: Ensure that you can recover a deletion of key vaults or key vault objects.
세부 정보: 키 자격 증명 모음 또는 키 자격 증명 모음 개체를 우발적이나 악의적으로 삭제할 수 있습니다.Detail: Deletion of key vaults or key vault objects can be inadvertent or malicious. 특히 미사용 데이터를 암호화하는 데 사용되는 키의 경우 키 자격 증명 모음의 일시 삭제 및 제거 보호 기능을 사용하도록 설정합니다.Enable the soft delete and purge protection features of Key Vault, particularly for keys that are used to encrypt data at rest. 이러한 키를 삭제하는 작업은 데이터 손실과 동일합니다. 따라서 필요한 경우 삭제된 자격 증명 모음 및 자격 증명 모음 개체를 복구할 수 있습니다.Deletion of these keys is equivalent to data loss, so you can recover deleted vaults and vault objects if needed. 정기적으로 Key Vault 복구 작업을 연습합니다.Practice Key Vault recovery operations on a regular basis.

참고

사용자에 게 주요 자격 증명 모음 관리 평면에 대 한 참가자 권한 (Azure RBAC)이 있는 경우 키 자격 증명 모음 액세스 정책을 설정 하 여 데이터 평면에 대 한 액세스 권한을 자신에 게 부여할 수 있습니다.If a user has contributor permissions (Azure RBAC) to a key vault management plane, they can grant themselves access to the data plane by setting a key vault access policy. 권한이 있는 사용자만 키 자격 증명 모음, 키, 비밀 및 인증서에 액세스하고 관리할 수 있도록 하려면 키 자격 증명 모음에 대한 기여자 액세스 권한을 갖는 사용자를 엄격하게 제어하는 것이 좋습니다.We recommend that you tightly control who has contributor access to your key vaults, to ensure that only authorized persons can access and manage your key vaults, keys, secrets, and certificates.

보안 워크스테이션을 사용하여 관리Manage with secure workstations

참고

구독 관리자 또는 소유자는 보안 액세스 워크스테이션 또는 권한 있는 액세스 워크스테이션을 사용해야 합니다.The subscription administrator or owner should use a secure access workstation or a privileged access workstation.

대부분의 공격이 최종 사용자를 대상으로 하기 때문에 엔드포인트는 주요 공격 지점 중 하나입니다.Because the vast majority of attacks target the end user, the endpoint becomes one of the primary points of attack. 엔드포인트를 손상시킨 공격자는 사용자의 자격 증명을 활용하여 조직의 데이터에 액세스할 수 있게 됩니다.An attacker who compromises the endpoint can use the user’s credentials to gain access to the organization’s data. 대부분의 엔드포인트 공격은 사용자가 로컬 워크스테이션의 관리자라는 사실을 활용합니다.Most endpoint attacks take advantage of the fact that users are administrators in their local workstations.

모범 사례: 보안 관리 워크스테이션을 사용하여 중요한 계정, 작업 및 데이터 보호Best practice: Use a secure management workstation to protect sensitive accounts, tasks, and data.
세부 정보: 권한 있는 액세스 워크스테이션을 사용하여 워크스테이션의 공격 노출 영역을 감소시킵니다.Detail: Use a privileged access workstation to reduce the attack surface in workstations. 보안 관리 워크스테이션은 이러한 공격 위험 중 일부를 완화하고 데이터를 안전하게 보호하는 데 도움이 될 수 있습니다.These secure management workstations can help you mitigate some of these attacks and ensure that your data is safer.

모범 사례: 엔드포인트 보호 확인Best practice: Ensure endpoint protection.
세부 정보: 데이터 위치(클라우드 또는 온-프레미스)에 관계없이 데이터를 사용하는 모든 디바이스에 보안 정책을 적용합니다.Detail: Enforce security policies across all devices that are used to consume data, regardless of the data location (cloud or on-premises).

미사용 데이터 보호Protect data at rest

휴지 상태의 데이터 암호화 는 데이터 개인 정보 보호, 규정 준수 및 데이터 주권를 위한 필수 단계입니다.Data encryption at rest is a mandatory step toward data privacy, compliance, and data sovereignty.

모범 사례: 데이터를 보호할 수 있도록 디스크 암호화 적용Best practice: Apply disk encryption to help safeguard your data.
세부 정보: Azure Disk Encryption을 사용합니다.Detail: Use Azure Disk Encryption. 그러면 IT 관리자가 Windows 및 Linux IaaS VM 디스크를 암호화할 수 있습니다.It enables IT administrators to encrypt Windows and Linux IaaS VM disks. 디스크 암호화는 업계 표준인 Windows BitLocker 기능과 Linux dm-crypt 기능을 결합하여 OS 및 데이터 디스크를 위한 볼륨 암호화를 제공합니다.Disk Encryption combines the industry-standard Windows BitLocker feature and the Linux dm-crypt feature to provide volume encryption for the OS and the data disks.

기본적으로 미사용 Azure Storage 및 Azure SQL Database 데이터 및 많은 서비스는 암호화를 옵션으로 제공합니다.Azure Storage and Azure SQL Database encrypt data at rest by default, and many services offer encryption as an option. Azure Key Vault를 사용하여 데이터에 액세스하고 암호화하는 키의 제어를 유지 관리할 수 있습니다.You can use Azure Key Vault to maintain control of keys that access and encrypt your data. 자세히 알아보려면 Azure 리소스 공급자 암호화 모델 지원을참조 하세요.See Azure resource providers encryption model support to learn more.

모범 사례: 암호화를 사용하여 권한 없는 데이터 액세스와 관련된 위험 완화Best practices: Use encryption to help mitigate risks related to unauthorized data access.
세부 정보: 중요한 데이터를 작성하기 전에 드라이브를 암호화합니다.Detail: Encrypt your drives before you write sensitive data to them.

데이터 암호화를 적용하지 않는 조직은 데이터 기밀성 문제에 더 많이 노출됩니다.Organizations that don’t enforce data encryption are more exposed to data-confidentiality issues. 예를 들어 권한이 없거나 악의적인 사용자가 손상된 계정의 데이터를 훔치거나 명확한 서식으로 코딩된 데이터에 권한 없이 액세스할 수도 있습니다.For example, unauthorized or rogue users might steal data in compromised accounts or gain unauthorized access to data coded in Clear Format. 또한 회사는 산업 규정을 준수하기 위해 해당 데이터 보안을 강화하도록 성실하게 올바른 보안 컨트롤을 사용하고 있음을 증명해야 합니다.Companies also must prove that they are diligent and using correct security controls to enhance their data security in order to comply with industry regulations.

전송 중인 데이터 보호Protect data in transit

전송 중인 데이터 보호는 데이터 보호 전략의 핵심입니다.Protecting data in transit should be an essential part of your data protection strategy. 데이터는 여러 위치 간에 앞뒤로 이동하므로 일반적으로는 항상 SSL/TLS 프로토콜을 사용하여 서로 다른 위치에서 데이터를 교환하는 것이 좋습니다.Because data is moving back and forth from many locations, we generally recommend that you always use SSL/TLS protocols to exchange data across different locations. 경우에 따라 VPN을 사용하여 온-프레미스와 클라우드 인프라 간에 전체 통신 채널을 격리하는 것이 좋습니다.In some circumstances, you might want to isolate the entire communication channel between your on-premises and cloud infrastructures by using a VPN.

온-프레미스 인프라와 Azure 간에 이동하는 데이터의 경우 HTTPS 또는 VPN과 같은 적절한 안전 장치를 고려합니다.For data moving between your on-premises infrastructure and Azure, consider appropriate safeguards such as HTTPS or VPN. 공용 인터넷을 통해 Azure 가상 네트워크와 온-프레미스 위치 간에 암호화 된 트래픽을 보내는 경우 azure VPN Gateway를 사용 합니다.When sending encrypted traffic between an Azure virtual network and an on-premises location over the public internet, use Azure VPN Gateway.

Azure VPN Gateway, SSL/TLS 및 HTTPS를 사용하는 데 관련된 모범 사례는 다음과 같습니다.Following are best practices specific to using Azure VPN Gateway, SSL/TLS, and HTTPS.

모범 사례: 온-프레미스에 있는 여러 워크스테이션에서 Azure Virtual Network로의 액세스 보호Best practice: Secure access from multiple workstations located on-premises to an Azure virtual network.
세부 정보: 사이트 간 VPN을 사용합니다.Detail: Use site-to-site VPN.

모범 사례: 온-프레미스에 있는 사설 워크스테이션에서 Azure Virtual Network로의 액세스 보호Best practice: Secure access from an individual workstation located on-premises to an Azure virtual network.
세부 정보: 지점 및 사이트 간 VPN을 사용합니다.Detail: Use point-to-site VPN.

모범 사례: 전용 고속 WAN 링크를 통해 대량 데이터 집합 이동Best practice: Move larger data sets over a dedicated high-speed WAN link.
세부 정보: ExpressRoute를 사용합니다.Detail: Use ExpressRoute. ExpressRoute를 사용하도록 선택한 경우 SSL/TLS 또는 기타 프로토콜을 사용하여 애플리케이션 수준에서 데이터를 암호화하면 보안 수준을 더욱 높일 수 있습니다.If you choose to use ExpressRoute, you can also encrypt the data at the application level by using SSL/TLS or other protocols for added protection.

모범 사례: Azure Portal을 통해 Azure Storage와 상호 작용Best practice: Interact with Azure Storage through the Azure portal.
세부 정보: 모든 트랜잭션은 HTTPS를 통해 발생합니다.Detail: All transactions occur via HTTPS. HTTPS를 통해 저장소 REST API 을 사용 하 여 Azure Storage와 상호 작용할 수도 있습니다.You can also use Storage REST API over HTTPS to interact with Azure Storage.

전송 중인 데이터를 보호 하지 못하는 조직은 메시지 가로채기 ( man-in-the-middle) 공격, 도청및 세션 하이재킹에 더 취약 합니다.Organizations that fail to protect data in transit are more susceptible to man-in-the-middle attacks, eavesdropping, and session hijacking. 이러한 공격은 기밀 데이터에 액세스하기 위한 첫 번째 단계일 수 있습니다.These attacks can be the first step in gaining access to confidential data.

이메일, 문서 및 중요한 데이터 보호Secure email, documents, and sensitive data

회사 외부에서 공유한 이메일, 문서 및 중요한 데이터를 제어하고 보호하려고 합니다.You want to control and secure email, documents, and sensitive data that you share outside your company. Azure Information Protection은 조직이 문서와 이메일을 분류하고, 레이블을 지정하고, 보호할 수 있게 해주는 클라우드 기반 솔루션입니다.Azure Information Protection is a cloud-based solution that helps an organization to classify, label, and protect its documents and emails. 이러한 작업은 규칙 및 조건을 정의하는 관리자에 의해 자동으로, 사용자에 의해 수동으로 또는 사용자가 권장 사항을 가져오는 조합에 의해 수행될 수 있습니다.This can be done automatically by administrators who define rules and conditions, manually by users, or a combination where users get recommendations.

데이터가 저장되는 위치 또는 공유 대상에 관계 없이 항상 분류를 식별할 수 있습니다.Classification is identifiable at all times, regardless of where the data is stored or with whom it’s shared. 레이블에는 헤더, 바닥글 또는 워터마크와 같은 시각적 표시가 포함됩니다.The labels include visual markings such as a header, footer, or watermark. 메타데이터는 일반 텍스트로 파일 및 메일 머리글에 추가됩니다.Metadata is added to files and email headers in clear text. 일반 텍스트를 사용하면 데이터 손실을 방지하는 솔루션 등 다른 서비스가 분류를 식별하고 적절한 조치를 취할 수 있습니다.The clear text ensures that other services, such as solutions to prevent data loss, can identify the classification and take appropriate action.

보호 기술은 Azure RMS(Azure Rights Management)를 사용합니다.The protection technology uses Azure Rights Management (Azure RMS). 이 기술은 Microsoft 365 및 Azure Active Directory와 같은 다른 Microsoft 클라우드 서비스 및 응용 프로그램과 통합 됩니다.This technology is integrated with other Microsoft cloud services and applications, such as Microsoft 365 and Azure Active Directory. 이 보호 기술은 암호화, ID 및 권한 부여 정책을 사용합니다.This protection technology uses encryption, identity, and authorization policies. Azure RMS를 통해 적용되는 보호는 조직, 네트워크, 파일 서버 및 애플리케이션의 내부 또는 외부에 있든 그 위치와 상관없이 문서 및 이메일과 함께 유지됩니다.Protection that is applied through Azure RMS stays with the documents and emails, independently of the location—inside or outside your organization, networks, file servers, and applications.

이 정보 보호 솔루션을 통해 데이터를 다른 사용자와 공유하는 경우에도 제어를 유지합니다.This information protection solution keeps you in control of your data, even when it’s shared with other people. 이러한 애플리케이션 및 솔루션이 온-프레미스 또는 클라우드에 위치하는지와 상관 없이 고유한 기간 업무 애플리케이션 및 소프트웨어 공급 업체의 정보 보호 솔루션에서 Azure RMS를 사용할 수도 있습니다.You can also use Azure RMS with your own line-of-business applications and information protection solutions from software vendors, whether these applications and solutions are on-premises or in the cloud.

다음을 권장합니다.We recommend that you:

  • 조직에 대해 Azure Information Protection 배포Deploy Azure Information Protection for your organization.
  • 비즈니스 요구 사항을 반영하는 레이블 적용Apply labels that reflect your business requirements. 예를 들어, 이 데이터를 분류하고 보호하기 위해 일급 비밀 데이터가 포함된 모든 문서 및 이메일에 이름이 "극비"로 지정된 레이블을 적용합니다.For example: Apply a label named “highly confidential” to all documents and emails that contain top-secret data, to classify and protect this data. 그런 다음, 지정한 제한 사항으로 인해 권한이 있는 사용자만 이 데이터를 액세스할 수 있습니다.Then, only authorized users can access this data, with any restrictions that you specify.
  • 조직이 보호 서비스를 사용하는 방법을 모니터링할 수 있도록 Azure RMS에 대한 사용 현황 로깅을 구성합니다.Configure usage logging for Azure RMS so that you can monitor how your organization is using the protection service.

데이터 분류 및 파일 보호에 약한 조직은 데이터 유출 및 데이터 남용에 더 취약할 수 있습니다.Organizations that are weak on data classification and file protection might be more susceptible to data leakage or data misuse. 적절한 파일 보호를 사용하여 비즈니스에 대한 인사이트를 얻고, 위험한 동작을 검색하고, 수정 조치를 수행하고, 문서에 대한 액세스를 추적하는 등 데이터 흐름을 분석할 수 있습니다.With proper file protection, you can analyze data flows to gain insight into your business, detect risky behaviors and take corrective measures, track access to documents, and so on.

다음 단계Next steps

Azure 보안 모범 사례 및 패턴에서 Azure를 사용하여 클라우드 솔루션을 디자인하고, 배포하고, 관리할 때 사용할 수 있는 더 많은 보안 모범 사례를 참조하세요.See Azure security best practices and patterns for more security best practices to use when you’re designing, deploying, and managing your cloud solutions by using Azure.

Azure 보안 및 관련 Microsoft 서비스에 대한 보다 일반적인 정보를 제공하는 다음 리소스도 확인할 수 있습니다.The following resources are available to provide more general information about Azure security and related Microsoft services: