Power BI에 대한 사용자 고유의 암호화 키 가져오기

Power BI는 미사용(at-rest) 및 처리 중(in process)인 데이터를 암호화합니다. 기본적으로 Power BI는 Microsoft 관리형 키를 사용하여 데이터를 암호화합니다. Power BI Premium 의미 체계 모델로 가져온 미사용 데이터에 고유한 키를 사용할 수도 있습니다. 이러한 방식은 BYOK(bring your own key)라고 하는 경우가 많습니다. 자세한 내용은 데이터 원본 및 스토리지 고려 사항을 참조하세요.

BYOK를 사용하는 이유?

BYOK를 사용하면 클라우드 서비스 공급자(이 경우 Microsoft)와의 키 정렬을 지정하는 규정 준수 요구 사항을 더 쉽게 충족할 수 있습니다. BYOK를 사용하면 애플리케이션 수준에서 Power BI 미사용 데이터에 대한 암호화 키를 제공하고 제어할 수 있습니다. 결과적으로, 서비스를 종료하기로 결정한 경우, 조직의 키를 제어하고 철회할 수 있습니다. 키를 취소하면 30분 동안 서비스에서 데이터를 읽을 수 없게 됩니다.

데이터 원본 및 스토리지 고려 사항

BYOK를 사용하려면 Power BI Desktop(PBIX) 파일에서 Power BI 서비스에 데이터를 업로드해야 합니다. 다음 시나리오에서는 BYOK를 사용할 수 없습니다.

BYOK는 의미 체계 모델에만 적용됩니다. 사용자가 서비스에 업로드할 수 있는 푸시 의미 체계 모델, Excel 파일 및 CSV 파일은 고유한 키를 사용하여 암호화되지 않습니다. 작업 영역에 저장된 항목을 식별하려면 다음 PowerShell 명령을 사용합니다.

PS C:\> Get-PowerBIWorkspace -Scope Organization -Include All

참고 항목

이 cmdlet에 Power BI 관리 모듈 v1.0.840이 필요합니다. Get-InstalledModule -Name MicrosoftPowerBIMgmt를 실행하면 어떤 버전이 있는지 확인할 수 있습니다. Install-Module -Name MicrosoftPowerBIMgmt를 실행하여 최신 버전을 설치합니다. Power BI PowerShell cmdlet 모듈에서 Power BI cmdlet 및 해당 매개 변수에 대한 자세한 정보를 확인할 수 있습니다.

Azure Key Vault 구성

이 섹션에서는 암호화 키와 같은 비밀을 안전하게 저장하고 액세스하는 도구인 Azure Key Vault를 구성하는 방법을 설명합니다. 기존 키 자격 증명 모음을 사용하여 암호화 키를 저장하거나 Power BI에만 사용할 키 자격 증명 모음을 새로 만들 수 있습니다.

다음 지침에서는 Azure Key Vault에 대한 기본 지식이 있다고 가정합니다. 자세한 내용은 Azure Key Vault란?을 참조하세요.

키 자격 증명 모음은 다음과 같은 방식으로 구성합니다.

  1. 래핑 및 래핑 해제 권한이 있는 키 자격 증명 모음에 대한 Power BI 서비스를 서비스 주체로 추가합니다.

  2. 래핑 및 래핑 해제 권한이 있는 4096비트 길이의 RSA 키 만들기(또는 같은 형식의 기존 키를 사용).

    Important

    Power BI BYOK는 4096비트 길이의 RSA 키만 지원합니다.

  3. 권장됨: 키 자격 증명 모음에 일시 삭제 옵션을 사용하도록 설정되어 있는지 확인합니다.

서비스 주체 추가

  1. Azure Portal에 로그인하고 Key Vault를 검색합니다.

  2. 키 자격 증명 모음에서 Access 정책을 선택한 다음 만들기를 선택합니다.

    Screenshot of the Create button for access policies in the Azure portal.

  3. 권한 화면의 키 사용 권한에서 키 래핑 해제를 선택하고 키 래핑을 선택한 다음 다음을 선택합니다.

    Screenshot of the permission screen to create a new access policy.

  4. 보안 주체 화면에서 Microsoft.Azure.AnalysisServices를 검색하여 선택합니다.

    참고 항목

    Microsoft.Azure.AnalysisServices를 찾을 수 없는 경우 Azure Key Vault와 연결된 Azure 구독에 Power BI 리소스가 연결되지 않았을 수 있습니다. 대신, 다음 문자열을 검색해 보세요. 00000009-0000-0000-c000-000000000000.

    Screenshot of the Principal screen to select a new principal for the access policy.

  5. 다음을 선택한 다음 검토 + 만들기>만들기를 선택합니다.

참고 항목

데이터에 대한 Power BI 액세스를 취소하려면 Azure Key Vault에서 이 서비스 사용자에 대한 액세스 권한을 제거합니다.

RSA 키 만들기

  1. 키 자격 증명 모음의 에서 생성/가져오기를 선택합니다.

  2. RSA키 유형을 선택하고 RSA 키 크기4096을 선택합니다.

    Screenshot of the RSA key type and size selections.

  3. 만들기를 실행합니다.

  4. 에서 직접 만든 키를 선택합니다.

  5. 키의 현재 버전에 대한 GUID를 선택합니다.

  6. 키 래핑키 래핑 해제가 둘 다 선택되어 있는지 확인합니다. Power BI에서 BYOK를 사용하도록 설정할 때 사용할 키 식별자를 복사합니다.

    Screenshot of the key properties with the identifier and permitted operations.

일시 삭제(Soft Delete) 옵션

키(또는 키 자격 증명 모음)가 실수로 삭제되는 경우 데이터가 손실되는 것을 방지하기 위해 키 자격 증명 모음에 일시 삭제를 사용하도록 설정해야 합니다. 일시 삭제 속성을 사용하도록 설정하려면 Azure Portal에서 아직 이 옵션을 사용할 수 없으므로 PowerShell을 사용해야 합니다.

Azure Key Vault가 제대로 구성되면 테넌트에서 BYOK를 사용하도록 설정할 준비가 완료됩니다.

Azure Key Vault 방화벽 구성

이 섹션에서는 신뢰할 수 있는 Microsoft 서비스 방화벽 바이패스를 사용하여 Azure Key Vault 주위에 방화벽을 구성하는 방법을 설명합니다.

참고 항목

키 자격 증명 모음에서 방화벽 규칙을 사용하도록 선택할 수 있습니다. 기본 설정에 따라 키 자격 증명 모음에서 방화벽을 사용하지 않도록 설정할 수도 있습니다.

Power BI는 신뢰할 수 있는 Microsoft 서비스입니다. Power BI가 엔드포인트 연결을 지정하지 않고 키 자격 증명 모음에 액세스할 수 있도록 하는 설정인 모든 신뢰할 수 있는 Microsoft 서비스에 대한 액세스를 허용하도록 키 자격 증명 모음 방화벽에 지시할 수 있습니다.

신뢰할 수 있는 Microsoft 서비스에 대한 액세스를 허용하도록 Azure Key Vault를 구성하려면 다음 단계를 수행합니다.

  1. Azure Portal에서 Key Vault를 검색한 다음, Power BI 및 다른 모든 신뢰할 수 있는 Microsoft 서비스 액세스를 허용하려는 키 자격 증명 모음을 선택합니다.

  2. 왼쪽 탐색 패널에서 네트워킹을 선택합니다.

  3. 방화벽 및 가상 네트워크에서 특정 가상 네트워크 및 IP 주소에서 공용 액세스 허용을 선택합니다.

    Screenshot of the Azure Key Vault networking option, with the firewalls and virtual networks option selected.

  4. 방화벽 섹션까지 아래로 스크롤합니다. 신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 무시하도록 허용을 선택합니다.

    Screenshot of the option to allow trusted Microsoft services to bypass this firewall.

  5. 적용을 선택합니다.

테넌트에서 BYOK를 사용하도록 설정

PowerShell을 사용하여 테넌트 수준에서 BYOK를 사용하도록 설정합니다. 먼저 PowerShell에 대한 Power BI 관리 패키지를 설치하고 Azure Key Vault에 만들고 저장한 암호화 키를 Power BI 테넌트에 도입합니다. 그런 다음, 용량 콘텐츠 암호화를 위한 프리미엄 용량 단위 암호화 키를 할당합니다.

중요 사항

BYOK를 사용하도록 설정하기 전에, 다음 사항을 고려해야 합니다.

  • 지금은 BYOK를 사용하도록 설정한 후에 BYOK를 사용하지 않도록 설정할 수 없습니다. Add-PowerBIEncryptionKey에 대한 매개 변수를 지정하는 방법에 따라, 하나 이상의 용량에 BYOK를 사용하는 방법을 제어할 수 있습니다. 하지만 테넌트에 대한 키 도입을 취소할 수는 없습니다. 자세한 내용은 BYOK를 사용하도록 설정을 참조하세요.

  • BYOK를 사용하는 작업 영역을 Power BI Premium의 용량에서 공유 용량으로 바로 이동할 수 없습니다. 먼저 작업 영역을 BYOK가 사용되지 않는 용량으로 이동해야 합니다.

  • BYOK를 사용하는 작업 영역을 Power BI Premium의 용량에서 공유 용량으로 이동하는 경우 보고서 및 의미 체계 모델이 키로 암호화되므로 액세스할 수 없게 됩니다. 이렇게 되도록 하지 않으려면 먼저 작업 영역을 BYOK가 사용되지 않는 용량으로 이동해야 합니다.

BYOK를 사용하도록 설정

BYOK를 사용하도록 설정하려면 Connect-PowerBIServiceAccount cmdlet을 사용하여 로그인한 Power BI 관리자여야 합니다. 그런 다음, Add-PowerBIEncryptionKey를 사용하여 아래 예제와 같이 BYOK를 사용하도록 설정합니다.

Add-PowerBIEncryptionKey -Name'Contoso Sales' -KeyVaultKeyUri'https://contoso-vault2.vault.azure.net/keys/ContosoKeyVault/b2ab4ba1c7b341eea5ecaaa2wb54c4d2'

여러 키를 추가하려면 -Name-KeyVaultKeyUri에 대해 다른 값으로 Add-PowerBIEncryptionKey를 실행합니다.

cmdlet은 현재 및 미래 용량에 대한 암호화에 영향을 미치는 두 가지 스위치 매개 변수를 허용합니다. 기본적으로 스위치는 모두 설정되지 않습니다.

  • -Activate: 이 키가 아직 암호화되지 않은 테넌트의 모든 기존 용량에 사용됨을 나타냅니다.

  • -Default: 키가 현재 전체 테넌트의 기본값이라는 것을 나타냅니다. 새 용량을 만드는 경우 용량이 이 키를 상속합니다.

Important

-Default를 지정하면 이 지점부터 테넌트에 생성된 모든 용량이 지정한 키 또는 업데이트된 기본 키를 사용하여 암호화됩니다. 기본 작업의 실행을 취소할 수 없기 때문에 BYOK를 사용하지 않는 테넌트에 프리미엄 용량을 생성할 수 없게 됩니다.

테넌트에서 BYOK를 사용하도록 설정한 후 하나 이상의 Power BI 용량에 대한 암호화 키를 설정합니다.

  1. Get-PowerBICapacity를 사용하여 다음 단계에 필요한 용량 ID를 가져옵니다.

    Get-PowerBICapacity -Scope Individual
    

    이 cmdlet은 다음 출력과 유사한 출력을 반환합니다.

    Id              : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    DisplayName     : Test Capacity
    Admins          : adam@sometestdomain.com
    Sku             : P1
    State           : Active
    UserAccessRight : Admin
    Region          : North Central US
    
  2. Set-PowerBICapacityEncryptionKey를 사용하여 암호화 키를 설정합니다.

    Set-PowerBICapacityEncryptionKey -CapacityId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -KeyName 'Contoso Sales'
    

테넌트 전체에서 BYOK를 사용하는 방법을 제어할 수 있습니다. 예를 들어, 단일 용량을 암호화하려면 -Activate 또는 -Default 없이 Add-PowerBIEncryptionKey를 호출합니다. 그런 다음, BYOK를 사용하도록 설정하려는 용량에 대해 Set-PowerBICapacityEncryptionKey를 호출합니다.

BYOK 관리

Power BI는 테넌트에서 BYOK를 관리할 수 있는 추가 cmdlet을 제공합니다.

  • Get-PowerBICapacity를 사용하여 용량이 현재 사용하는 키를 가져옵니다.

    Get-PowerBICapacity -Scope Organization -ShowEncryptionKey
    
  • Get-PowerBIEncryptionKey를 사용하여 테넌트가 현재 사용하는 키를 가져옵니다.

    Get-PowerBIEncryptionKey
    
  • Get-PowerBIWorkspaceEncryptionStatus를 사용하면 작업 영역의 의미 체계 모델이 암호화되어 있는지 여부와 암호화 상태가 작업 영역과 동기화되어 있는지 여부를 볼 수 있습니다.

    Get-PowerBIWorkspaceEncryptionStatus -Name'Contoso Sales'
    

    암호화는 용량 수준에서 사용하도록 설정되지만 암호화 상태는 지정된 작업 영역에 대한 의미 체계 모델 수준에서 가져옵니다.

  • Switch-PowerBIEncryptionKey를 사용하여 암호화에 사용되는 키 버전을 전환(또는 회전)합니다. cmdlet은 단지 키 -Name에 대한 -KeyVaultKeyUri를 업데이트합니다.

    Switch-PowerBIEncryptionKey -Name'Contoso Sales' -KeyVaultKeyUri'https://contoso-vault2.vault.azure.net/keys/ContosoKeyVault/b2ab4ba1c7b341eea5ecaaa2wb54c4d2'
    

    현재 키를 사용하도록 설정해야 합니다.