다음을 통해 공유


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

기본적으로 Power BI는 Microsoft 관리형 키를 사용하여 데이터를 암호화합니다. Power BI Premium에서는 의미 체계 모델로 가져온 미사용 데이터에 고유한 키를 사용할 수도 있습니다. 이 방법은 BYOK( Bring Your Own Key )로 설명되는 경우가 많습니다. 자세한 내용은 데이터 원본 및 스토리지 고려 사항을 참조하세요. Power BI BYOK는 이중 암호화를 지원하여 계층화된 보안 및 엔터프라이즈 암호화 표준을 준수합니다. 여기에는 SSE(Server-Side Encryption)를 사용하는 스토리지 수준 암호화와 Microsoft 관리형 DEK(데이터 암호화 키)를 사용한 클라이언트 쪽 암호화가 포함됩니다. 이 DEK는 데이터가 저장되기 전에 CMK를 사용하여 래핑됩니다.

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 키를 만들거나 래핑 및 래핑 해제 권한과 함께 이 형식의 기존 키를 사용합니다.

    중요합니다

    Power BI BYOK는 4096비트 길이의 RSA 및 RSA-HSM 키를 지원합니다.

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

서비스 주체 추가

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

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

    Azure Portal의 액세스 정책에 대한 만들기 단추의 스크린샷.

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

    새 액세스 정책을 만드는 권한 화면의 스크린샷.

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

    비고

    Microsoft.Azure.AnalysisServices를 찾을 수 없는 경우 Azure Key Vault와 연결된 Azure 구독에 연결된 Power BI 리소스가 없을 수 있습니다. 대신 00000009-0000-0000-c000-0000000000000 문자열을 검색해 봅니다.

    액세스 정책에 대한 새 보안 주체를 선택하는 보안 주체 화면의 스크린샷

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

Azure 역할 기반 액세스 제어 를 사용하여 키 래핑 해제키 래핑 권한을 포함하는 역할을 선택하여 권한을 부여할 수도 있습니다.

비고

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

RSA 키 만들기

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

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

    RSA 키 유형 및 크기 선택 항목의 스크린샷

  3. 선택하고생성합니다.

  4. 아래에서 만든 키를 선택합니다.

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

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

    식별자 및 허용된 작업이 있는 키 속성의 스크린샷

일시 삭제 옵션

실수로 키 또는 키 자격 증명 모음이 삭제되는 경우 데이터 손실로부터 보호하기 위해 키 자격 증명 모음에서 일시 삭제 를 사용하도록 설정해야 합니다. 일시 삭제 속성을 사용하도록 설정하려면 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. 공용 액세스 - 다음 위치에서 액세스 허용:에서선택한 네트워크를 선택합니다.

    방화벽 및 가상 네트워크 옵션이 선택된 Azure Key Vault 네트워킹 옵션의 스크린샷

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

    신뢰할 수 있는 Microsoft 서비스가 이 방화벽을 바이패스하도록 허용하는 옵션의 스크린샷.

  5. 적용을 선택합니다.

테넌트에서 BYOK 사용

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

중요한 고려 사항

BYOK를 사용하도록 설정하기 전에 다음 고려 사항에 유의하세요.

  • 현재는 BYOK를 사용하도록 설정한 후에는 사용하지 않도록 설정할 수 없습니다. 매개 변수 Add-PowerBIEncryptionKey를 지정하는 방법에 따라 하나 이상의 용량에 BYOK를 사용하는 방법을 제어할 수 있습니다. 그러나 테넌트에 대한 키 도입을 취소할 수는 없습니다. 자세한 내용은 BYOK 사용을 참조하세요.
  • BYOK를 사용하는 작업 영역을 Power BI Premium의 용량에서 공유 용량으로 직접 이동할 수는 없습니다. 먼저 BYOK를 사용하도록 설정하지 않은 용량으로 작업 영역을 이동해야 합니다.
  • BYOK를 사용하는 작업 영역을 Power BI Premium의 용량에서 공유 용량으로 이동하는 경우 보고서 및 의미 체계 모델은 키로 암호화되므로 액세스할 수 없게 됩니다. 이 상황을 방지하려면 먼저 BYOK를 사용하도록 설정하지 않은 ™용량으로 작업 영역을 이동해야 합니다.

BYOK 사용

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

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

여러 키를 추가하려면 서로 다른 값을 사용하여 -Name 실행 Add-PowerBIEncryptionKey 합니다-KeyVaultKeyUri.

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

  • -Activate: 이 키가 아직 암호화되지 않은 테넌트의 모든 기존 용량에 사용됨을 나타냅니다.
  • -Default: 이 키가 이제 전체 테넌트에 대한 기본값임을 나타냅니다. 새 용량을 만들 때 용량은 이 키를 상속합니다.

중요합니다

지정 -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를 사용하는 방법을 제어할 수 있습니다. 예를 들어 단일 용량을 암호화하려면 없이 호출하거나 -Default사용하지 않고 -Activate 호출 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은 키에 -KeyVaultKeyUri 대한 업데이트만 합니다.-Name

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

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