2단계: HSM으로 보호되는 키 마이그레이션에 대한 소프트웨어 보호 키

이러한 지침은 AD RMS에서 Azure Information Protection으로의 마이그레이션 경로의 일부이며, AD RMS 키가 소프트웨어로 보호되고 Azure Key Vault에서 HSM 보호 테넌트 키를 사용하여 Azure Information Protection으로 마이그레이션하려는 경우에만 적용됩니다.

선택한 구성 시나리오가 아닌 경우 4단계. AD RMS에서 구성 데이터 내보내기 및 Azure RMS로 가져오기로 돌아가 다른 구성을 선택합니다.

AD RMS 구성을 Azure Information Protection으로 가져와서 Azure Key Vault에서 BYOK(사용자)가 관리하는 Azure Information Protection 테넌트 키를 만드는 네 부분으로 구성된 절차입니다.

먼저 AD RMS 구성 데이터에서 SLC(서버 사용 허가자 인증서) 키를 추출하고, 이 키를 다음 패키지인 온-프레미스 nCipher HSM으로 전송하고, HSM 키를 Azure Key Vault로 전송한 다음, Azure Information Protection의 Azure Rights Management 서비스에 키 자격 증명 모음에 액세스할 권한을 부여한 다음 구성 데이터를 가져와야 합니다.

Azure Information Protection 테넌트 키는 Azure Key Vault에서 저장 및 관리되므로 마이그레이션의 이 부분에는 Azure Information Protection 외에도 Azure Key Vault에서 관리해야 합니다. Azure Key Vault가 조직과 다른 관리자가 관리하는 경우 이러한 절차를 완료하려면 해당 관리자와 조정하고 협력해야 합니다.

시작하기 전에 조직에 Azure Key Vault에 만들어진 키 자격 증명 모음이 있고 HSM으로 보호되는 키를 지원하는지 확인합니다. 필수는 아니지만 Azure Information Protection 전용 키 자격 증명 모음을 사용하는 것이 좋습니다. 이 키 자격 증명 모음은 Azure Information Protection의 Azure Rights Management 서비스가 액세스할 수 있도록 구성되므로 이 키 자격 증명 모음이 저장하는 키는 Azure Information Protection 키로만 제한해야 합니다.

Azure Key Vault에 대한 구성 단계를 수행하고 있고 이 Azure 서비스에 익숙하지 않은 경우 먼저 Azure Key Vault 시작을 검토하는 것이 유용할 수 있습니다.

1부: 구성 데이터에서 SLC 키를 추출하고 온-프레미스 HSM으로 키 가져오기

  1. Azure Key Vault 관리자: Azure Key Vault에 저장하려는 내보낸 각 SLC 키에 대해 Azure Key Vault 설명서의 Azure Key Vault대한 BYOK(Bring Your Own Key) 구현 섹션에서 다음 단계를 사용합니다.

    내보낸 구성 데이터(.xml) 파일에 해당하는 항목이 이미 있으므로 테넌트 키를 생성하는 단계를 수행하지 마세요. 대신 도구를 실행하여 파일에서 이 키를 추출하고 온-프레미스 HSM으로 가져옵니다. 이 도구는 실행할 때 다음 두 개의 파일을 만듭니다.

    • 키가 없는 새 구성 데이터 파일은 Azure Information Protection 테넌트에 가져올 준비가 된 것입니다.

    • 키가 있는 PEM 파일(키 컨테이너)을 온-프레미스 HSM으로 가져올 준비가 됩니다.

  2. Azure Information Protection 관리자 또는 Azure Key Vault 관리자: 연결이 끊긴 워크스테이션에서 Azure RMS 마이그레이션 도구 키트에서 TpdUtil 도구를 실행합니다. 예를 들어 ContosoTPD.xml이라는 구성 데이터 파일을 복사하는 E 드라이브에 도구가 설치된 경우:

    E:\TpdUtil.exe /tpd:ContosoTPD.xml /otpd:ContosoTPD.xml /opem:ContosoTPD.pem
    

    둘 이상의 RMS 구성 데이터 파일이 있는 경우 이 파일을 다시 실행하려면 이 도구를 실행합니다기본.

    설명, 사용량 및 예제를 포함하는 이 도구에 대한 도움말을 보려면 매개 변수 없이 TpdUtil.exe를 실행합니다.

    이 명령에 대한 추가 정보:

    • /tpd: 내보낸 AD RMS 구성 데이터 파일의 전체 경로와 이름을 지정합니다. 전체 매개 변수 이름은 TpdFilePath입니다.

    • /otpd: 키가 없는 구성 데이터 파일의 출력 파일 이름을 지정합니다. 전체 매개 변수 이름은 OutPfxFile입니다. 이 매개 변수를 지정하지 않으면 출력 파일은 기본적으로 접미사가 _keyless 있는 원래 파일 이름으로 설정되며 현재 폴더에 저장됩니다.

    • /opem: 추출된 키를 포함하는 PEM 파일의 출력 파일 이름을 지정합니다. 전체 매개 변수 이름은 OutPemFile입니다. 이 매개 변수를 지정하지 않으면 출력 파일은 기본적으로 접미사가 _key 있는 원래 파일 이름으로 설정되며 현재 폴더에 저장됩니다.

    • 이 명령을 실행할 때 암호를 지정하지 않으면(TpdPassword 전체 매개 변수 이름 또는 pwd 짧은 매개 변수 이름을 사용하여) 암호를 지정하라는 메시지가 표시됩니다.

  3. 연결이 끊긴 동일한 워크스테이션에서 nCipher 설명서에 따라 nCipher HSM을 연결하고 구성합니다. 이제 ContosoTPD.pem을 고유한 파일 이름으로 대체해야 하는 다음 명령을 사용하여 연결된 nCipher HSM으로 키를 가져올 수 있습니다.

    generatekey --import simple pemreadfile=e:\ContosoTPD.pem plainname=ContosoBYOK protect=module ident=contosobyok type=RSA
    

    참고 항목

    파일이 두 개 이상 있는 경우 마이그레이션 후 콘텐츠를 보호하기 위해 Azure RMS에서 사용하려는 HSM 키에 해당하는 파일을 선택합니다.

    그러면 다음과 유사한 출력 표시가 생성됩니다.

    키 생성 매개 변수:

    작업 수행할 작업 가져오기

    애플리케이션 단순

    확인 구성 키 보안 확인 예

    유형 키 유형 RSA

    pemreadfile RSA 키가 포함된 PEM 파일 e:\ContosoTPD.pem

    ident 키 식별자 contosobyok

    plainname 키 이름 ContosoBYOK

    키를 가져왔습니다.

    키 경로: C:\ProgramData\nCipher\Key Management Data\local\key_simple_contosobyok

이 출력을 통해 프라이빗 키가 키(이 예제에서는 "key_simple_contosobyok")에 저장된 암호화된 복사본을 사용하여 온-프레미스 nCipher HSM 디바이스로 마이그레이션되었음을 확인합니다.

이제 SLC 키를 추출하여 온-프레미스 HSM으로 가져왔으므로 HSM 보호 키를 패키지하고 Azure Key Vault로 전송할 준비가 되었습니다.

Important

이 단계를 완료하면 연결이 끊긴 워크스테이션에서 이러한 PEM 파일을 안전하게 지워 권한이 없는 사용자가 액세스할 수 없도록 합니다. 예를 들어 "암호 /w: E"를 실행하여 E: 드라이브에서 모든 파일을 안전하게 삭제합니다.

2부: HSM 키를 Azure Key Vault로 패키지 및 전송

Azure Key Vault 관리자: Azure Key Vault에 저장하려는 내보낸 각 SLC 키에 대해 Azure Key Vault 설명서의 Azure Key Vault 에 대한 BYOK(Bring Your Own Key) 구현 섹션에서 다음 단계를 사용합니다.

키가 이미 있으므로 키 쌍을 생성하는 단계를 수행하지 마세요. 대신 명령을 실행하여 온-프레미스 HSM에서 이 키를 전송합니다(이 예제에서는 KeyIdentifier 매개 변수가 "contosobyok"를 사용함).

Azure Key Vault로 키를 전송하기 전에 KeyTransferRemote.exe 유틸리티가 결과: 권한 감소(4.1단계)를 사용하여 키 복사본을 만들 때 및 키를 암호화할 때 성공(4.3단계)을 반환하는지 확인합니다.

키가 Azure Key Vault에 업로드되면 키 ID를 포함하는 키의 속성이 표시됩니다. 은 다음과 유사하게 https://contosorms-kv.vault.azure.net/keys/contosorms-byok/aaaabbbbcccc111122223333표시됩니다. Azure Information Protection 관리자가 Azure Information Protection의 Azure Rights Management 서비스에 테넌트 키에 이 키를 사용하도록 지시해야 하므로 이 URL을 기록해 둡다.

그런 다음 Set-AzKeyVaultAccessPolicy cmdlet을 사용하여 Azure Rights Management 서비스 사용자에게 키 자격 증명 모음에 액세스할 권한을 부여합니다. 필요한 권한은 암호 해독, 암호화, 래핑 해제, 랩키, 확인 및 서명입니다.

예를 들어 Azure Information Protection에 대해 만든 키 자격 증명 모음의 이름이 contosorms-byok-kv이고, 리소스 그룹의 이름이 contosorms-byok-rg이면 다음 명령을 실행합니다.

Set-AzKeyVaultAccessPolicy -VaultName "contosorms-byok-kv" -ResourceGroupName "contosorms-byok-rg" -ServicePrincipalName 00000012-0000-0000-c000-000000000000 -PermissionsToKeys decrypt,encrypt,unwrapkey,wrapkey,verify,sign,get

이제 HSM 키를 Azure Key Vault로 전송했으므로 AD RMS 구성 데이터를 가져올 준비가 되었습니다.

3부: Azure Information Protection으로 구성 데이터 가져오기

  1. Azure Information Protection 관리자: 인터넷에 연결된 워크스테이션 및 PowerShell 세션에서 TpdUtil 도구를 실행한 후 SLC 키가 제거된 새 구성 데이터 파일(.xml)로 복사합니다.

  2. Import-AipServiceTpd cmdlet을 사용하여 각 .xml 파일을 업로드합니다. 예를 들어 암호화 모드 2용 AD RMS 클러스터를 업그레이드한 경우 가져올 파일이 하나 이상 있어야 합니다.

    이 cmdlet을 실행하려면 구성 데이터 파일에 대해 이전에 지정한 암호와 이전 단계에서 식별된 키의 URL이 필요합니다.

    예를 들어 C:\contoso_keyless.xml의 구성 데이터 파일과 이전 단계의 키 URL 값을 사용하여 먼저 다음을 실행하여 암호를 저장합니다.

     $TPD_Password = Read-Host -AsSecureString
    

    구성 데이터 파일을 내보내도록 지정한 암호를 입력합니다. 그런 다음, 다음 명령을 실행하고 이 작업을 수행하려는지 확인합니다.

    Import-AipServiceTpd -TpdFile "C:\contoso_keyless.xml" -ProtectionPassword $TPD_Password –KeyVaultStringUrl https://contoso-byok-kv.vault.azure.net/keys/contosorms-byok/aaaabbbbcccc111122223333 -Verbose
    

    이 가져오기의 일부로 SLC 키를 가져오고 자동으로 보관됨으로 설정합니다.

  3. 각 파일을 업로드했으면 Set-AipServiceKeyProperties를 실행하여 AD RMS 클러스터의 현재 활성 SLC 키와 일치하는 가져온 키를 지정합니다.

  4. Disconnect-AipServiceService cmdlet을 사용하여 Azure Rights Management 서비스에서 연결을 해제합니다.

    Disconnect-AipServiceService
    

나중에 Azure Information Protection 테넌트 키가 Azure Key Vault에서 사용하는 키를 확인해야 하는 경우 Get-AipServiceKeys Azure RMS cmdlet을 사용합니다.

이제 5단계. Azure Rights Management 서비스 활성화로 이동할 준비가 되었습니다.