Azure Key Vault에 PGP 키 저장

Azure Key Vault에 PGP 키 저장

Azure Data Factory 파이프라인을 사용하여 SFTP 서버(Ubuntu)에서 Azure Storage로 암호화된 파일을 전송하고 싶습니다. 고객은 PGP를 사용하여 저장 중인 파일을 암호화하고 SFTP 서버에 푸시합니다. 따라서 파일은 sftp에 도착할 때 PGP로 암호화됩니다. 거기에서 읽으려면 파일의 암호를 해독해야 합니다. 게다가 PGP 개인 키를 Azure Key Vault에 저장하여 Azure Data Factory에서 사용하고 싶습니다. 하지만 문제는 PGP 키를 Azure Key Vault에 로드할 수 없다는 것입니다. Azure Key Vault는 pfx 및 PEM 형식만 허용하기 때문입니다. 제 질문은 - PGP 키를 다른 형식으로 변환할 수 있습니까?입니다. 그렇다면 다른 형식으로 변경한 후 파일 복호화를 사용할 수 있나요?

답변1

간단히 대답하자면, 원하는 것은 무엇이든 KeyVault에 비밀로 넣은 다음 추출할 수 있다는 것입니다. 키를 텍스트 파일로 내보내고 KeyVault에 비밀로 저장하면 바로 사용할 수 있습니다.

코드를 수정하여 이 작업을 수행할 수 있었습니다.https://github.com/lfalck/AzureFunctionsPGPDecrypt

기본적으로 gpg4win을 사용하여 키를 생성한 후 다음을 호출할 수 있습니다.

gpg --export-secret-keys --armor > key.asc

Azure Key Vault에서 두 개의 새로운 비밀(키 아님)을 만듭니다. 하나는 위에서 생성한 파일의 내용이고 key.asc, 다른 하나는 gpg에서 개인키를 보호하기 위해 사용하는 암호여야 합니다. 그런 다음 링크의 코드는 Key Vault에서 해당 비밀을 읽고 이를PGP코어복호화를 위한 라이브러리.

또한 어떤 이유로 해당 저장소의 코드에서는 비밀을 KeyVault에 넣기 전에 Base64로 변환해야 한다는 점을 지적하겠습니다. 왜냐하면 비밀을 사용하기 전에 Base64로 디코딩하기 때문입니다. 이것은 나에게 꼭 필요한 것은 아니지만 위의 코드를 엉망으로 만드는 경우 해당 인코딩을 수행하고 싶을 것입니다.

이는 Azure 함수로 표시되지만 거기에 설명된 개념은 다른 컨텍스트에서 사용될 수 있습니다.

관련 정보