다음을 통해 공유


Azure Policy와 Azure 관리형 HSM 통합

Azure Policy는 사용자에게 대규모로 Azure 환경을 감사 및 관리하는 기능을 제공하는 거버넌스 도구입니다. Azure Policy는 할당된 정책 규칙을 준수하도록 Azure 리소스에 가드 레일을 적용하는 기능을 제공합니다. 이를 통해 사용자는 Azure 환경의 감사, 실시간 적용 및 수정을 수행할 수 있습니다. 정책에 의해 수행되는 감사 결과는 규정 준수 대시보드의 사용자가 사용할 수 있으며, 여기에서 어떤 리소스와 구성 요소가 규정을 준수하지 않는지 드릴다운할 수 있습니다. 자세한 내용은 Azure Policy 서비스 개요를 참조하세요.

예제 사용 시나리오:

  • 현재 조직에서 감사를 수행하기 위한 솔루션이 없거나, 조직 내의 개별 팀에 규정 준수를 보고하도록 요청하여 환경에 대한 수동 감사를 수행하고 있습니다. 이 작업을 자동화하고, 실시간으로 감사를 수행하고, 감사의 정확성을 보장하는 방법을 찾고 있습니다.
  • 회사 보안 정책을 적용하고 개인이 특정한 암호화 키를 만들 수 없도록 하고 싶지만, 그러한 생성을 자동으로 차단하는 방법은 없습니다.
  • 테스트 팀에 대한 몇 가지 요구 사항을 완화하려고 하지만 프로덕션 환경을 엄격히 제어하려고 합니다. 리소스의 적용을 분리하는 간단한 자동화된 방법이 필요합니다.
  • 라이브 사이트 문제가 발생할 경우 새 정책의 적용을 롤백할 수 있는지 확인하고자 할 수 있습니다. 정책 적용을 해제하려면 원클릭 솔루션이 필요합니다.
  • 사용자 환경을 감사하는 타사 솔루션을 사용 중인데, 내부 Microsoft 제품을 사용하려고 합니다.

정책 효과 및 지침의 유형

감사: 정책의 영향을 감사로 설정하면, 정책은 환경을 파격적으로 변경하지 않습니다. 지정된 범위 내의 정책 정의를 따르지 않는 키와 같은 구성 요소만 정책 준수 대시보드에서 비준수로 표시하여 경고가 발생하도록 합니다. 정책 효과를 선택하지 않은 경우 감사가 기본값입니다.

거부: 정책의 영향을 거부로 설정하면 정책에서 더 약한 키와 같은 새 구성 요소 생성을 차단하고 정책 정의를 따르지 않는 기존 키의 새 버전을 차단합니다. 관리형 HSM 내의 기존 비준수 리소스는 영향을 받지 않습니다. '감사' 기능은 계속 작동합니다.

타원 곡선 암호화를 사용하는 키에는 지정된 곡선 이름이 있어야 함

타원 곡선 암호화 또는 ECC 키를 사용하는 경우 아래 목록에서 허용되는 곡선 이름 목록을 사용자 지정할 수 있습니다. 기본 옵션은 다음의 모든 곡선 이름을 허용합니다.

  • P-256
  • P-256K
  • P-384
  • P-521

키에는 만료 날짜가 설정되어 있어야 합니다.

이 정책은 만료 날짜가 비준수로 설정되지 않은 관리형 HSM 및 플래그 키의 모든 키를 감사합니다. 또한 이 정책을 사용하여 만료 날짜가 설정되지 않은 키 생성을 차단할 수도 있습니다.

키에는 만료 전에 지정된 기간(일)보다 더 많은 기간이 있어야 함

키가 만료에 너무 가까운 경우 조직에서 키 회전 지연이 발생하여 운영이 중단될 수 있습니다. 키는 오류에 대응할 수 있는 충분한 시간을 제공하기 위해 만료 전 지정된 일 수에서 회전되어야 합니다. 이 정책은 만료 날짜에 임박한 키를 감사하고 이 임계값을 일 단위로 설정할 수 있도록 합니다. 또한 이 정책을 사용하여 만료 날짜에 임박한 새 키를 생성하는 것도 막을 수 있습니다.

RSA 암호화를 사용하는 키에는 지정된 최소 키 크기가 있어야 함

키 크기가 작은 RSA 키를 사용하는 것은 안전한 디자인 방식이 아닙니다. 최소 키 크기를 사용하도록 요구하는 감사 및 인증 표준에 따라 달라질 수 있습니다. 다음 정책을 사용하면 관리형 HSM에 최소 키 크기 요구 사항을 설정할 수 있습니다. 이 최소 요구 사항을 충족하지 않는 키를 감사할 수 있습니다. 이 정책은 최소 키 크기 요구 사항을 충족하지 않는 새 키 생성을 차단하는 데에도 사용할 수 있습니다.

Azure CLI를 통해 관리형 HSM 정책 사용 및 관리

매일 스캔할 수 있는 권한 부여

풀의 인벤토리 키의 준수를 검사하려면 고객은 키의 메타데이터에 액세스할 수 있도록 “관리형 HSM 암호화 감사자” 역할을 “Azure Key Vault 관리형 HSM 키 거버넌스 서비스”에 할당해야 합니다(앱 ID: a1b76039-a76c-499f-a2dd-846b4cc32627). 사용 권한을 부여하지 않으면 인벤토리 키가 Azure Policy 준수 보고서에 보고되지 않으며 새 키, 업데이트된 키, 가져온 키 및 회전된 키만 준수에서 확인됩니다. 이렇게 하려면 관리형 HSM에 대한 “관리형 HSM 관리자” 역할이 있는 사용자는 다음 Azure CLI 명령을 실행해야 합니다.

Windows에서:

az ad sp show --id a1b76039-a76c-499f-a2dd-846b4cc32627 --query id

인쇄된 id를 복사하여 다음 명령에 붙여넣습니다.

az keyvault role assignment create --scope / --role "Managed HSM Crypto Auditor" --assignee-object-id "the id printed in previous command" --hsm-name <hsm name>

Linux 또는 Linux용 Windows 하위 시스템에서:

spId=$(az ad sp show --id a1b76039-a76c-499f-a2dd-846b4cc32627 --query id|cut -d "\"" -f2)
echo $spId
az keyvault role assignment create --scope / --role "Managed HSM Crypto Auditor" --assignee-object-id $spId --hsm-name <hsm name>

정책 할당 만들기 - 감사 및/또는 거부 규칙 정의

정책 할당에는 정책 정의의 매개 변수에 대해 정의된 구체적인 값이 있습니다. Azure Portal에서 “정책”으로 이동하여 “Key Vault” 범주를 필터링하고 이러한 네 가지 미리 보기 키 거버넌스 정책 정의를 찾습니다. 하나를 선택한 다음, 위쪽에서 “할당” 단추를 선택합니다. 각 필드를 채웁니다. 요청 거부에 대한 정책 할당인 경우 요청이 거부되면 정책 할당의 이름이 오류에 표시되므로 정책에 대한 명확한 이름을 사용합니다. 다음을 선택하고 “입력 또는 검토가 필요한 매개 변수만 표시”를 선택 취소하고 정책 정의의 매개 변수에 대한 값을 입력합니다. “수정”을 건너뛰고 할당을 만듭니다. 서비스에서 “거부” 할당을 적용하는 데 최대 30분이 필요합니다.

  • Azure Key Vault 관리형 HSM 키에 만료 날짜가 있어야 합니다.
  • RSA 암호화를 사용하는 Azure Key Vault 관리형 HSM 키에는 지정된 최소 키 크기가 있어야 합니다.
  • Azure Key Vault 관리형 HSM 키는 만료 전 지정된 기간(일)보다 많은 일 수가 남아 있어야 합니다.
  • 타원 곡선 암호화를 사용하는 Azure Key Vault 관리형 HSM 키에는 지정된 곡선 이름이 있어야 합니다.

Azure CLI를 사용하여 이 작업을 수행할 수도 있습니다. Azure CLI를 사용하여 비준수 리소스를 식별하는 정책 할당 만들기를 참조하세요.

설정 테스트

규칙을 위반하는 키를 업데이트/만들어 보세요. 정책 할당이 “거부”인 경우 요청에 403이 반환됩니다. 감사 정책 할당의 인벤토리 키 검사 결과를 검토합니다. 12시간 후에 정책의 준수 메뉴를 검사하고, “Key Vault” 범주를 필터링하고, 할당을 찾습니다. 각각을 선택하여 준수 결과 보고서를 확인합니다.

문제 해결

하루 후 풀의 규정 준수 결과가 없는 경우 역할 할당이 2단계에서 성공적으로 수행되었는지 확인합니다. 2단계가 없으면 키 거버넌스 서비스는 키의 메타데이터에 액세스할 수 없습니다. Azure CLI az keyvault role assignment list 명령으로 역할이 할당되었는지 여부를 확인할 수 있습니다.

다음 단계