다음을 통해 공유


Azure Policy를 사용하여 Azure SignalR Service 리소스의 준수 감사

Azure Policy는 정책을 만들고, 할당하고, 관리하는 데 사용하는 Azure의 서비스입니다. 정책은 리소스에 대해 다양한 규칙과 효과를 적용하여 리소스가 회사 표준 및 서비스 수준 약정을 준수하도록 유지합니다.

이 문서에서는 Azure SignalR Service에 대한 기본 제공 정책(미리 보기)을 소개합니다. 해당 정책을 사용하여 신규 및 기존 SignalR 리소스의 준수를 감사할 수 있습니다.

Azure Policy 사용 요금은 없습니다.

기본 제공 정책 정의

다음 기본 제공 정책 정의는 Azure SignalR Service에만 적용됩니다.

이름
(Azure Portal)
설명 효과 버전
(GitHub)
Azure SignalR Service는 공용 네트워크 액세스를 사용하지 않도록 설정해야 함 Azure SignalR Service 리소스의 보안을 향상하려면 공용 인터넷에 노출되지 않고 프라이빗 엔드포인트에서만 액세스할 수 있는지 확인합니다. https://aka.ms/asrs/networkacls에 설명된 대로 공용 네트워크 액세스 속성을 사용하지 않도록 설정합니다. 이 옵션은 Azure IP 범위를 벗어나는 공용 주소 공간에서의 액세스를 사용하지 않도록 설정하고, IP 또는 가상 네트워크 기반 방화벽 규칙과 일치하는 모든 로그인을 거부합니다. 이로 인해 데이터 누출 위험이 줄어듭니다. 감사, 거부, 사용 안 함 1.1.0
Azure SignalR Service에서 진단 로그를 사용하도록 설정해야 함 진단 로그 사용을 감사합니다. 이렇게 하면 보안 인시던트가 발생하거나 네트워크가 손상된 경우 조사 목적으로 사용할 활동 내역을 다시 만들 수 있습니다. AuditIfNotExists, 사용 안 함 1.0.0
Azure SignalR Service는 로컬 인증 방법을 사용하지 않도록 설정해야 함 로컬 인증 방법을 사용하지 않도록 설정하면 Azure SignalR Service에서 인증 시 Azure Active Directory ID만 필요하므로 보안이 향상됩니다. 감사, 거부, 사용 안 함 1.0.0
Azure SignalR Service는 Private Link 지원 SKU를 사용해야 함 Azure Private Link를 통해 원본 또는 대상의 공용 IP 주소가 없어도 가상 네트워크를 Azure 서비스에 연결할 수 있어 공용 데이터 유출 위험으로부터 리소스를 보호할 수 있습니다. 정책은 Azure SignalR Service에 대한 Private Link 지원 SKU로 제한됩니다. https://aka.ms/asrs/privatelink에서 프라이빗 링크에 대해 자세히 알아보세요. 감사, 거부, 사용 안 함 1.0.0
Azure SignalR Service는 프라이빗 링크를 사용해야 함 Azure Private Link를 통해 원본 또는 대상의 공용 IP 주소가 없어도 Azure 서비스에 가상 네트워크를 연결할 수 있습니다. 프라이빗 링크 플랫폼은 Azure 백본 네트워크를 통해 소비자와 서비스 간의 연결을 처리합니다. 프라이빗 엔드포인트를 전체 서비스가 아닌 Azure SignalR Service 리소스에 매핑하면 데이터 유출 위험을 줄일 수 있습니다. https://aka.ms/asrs/privatelink에서 프라이빗 링크에 대해 자세히 알아보세요. 감사, 사용 안 함 1.0.0
로컬 인증을 사용하지 않도록 Azure SignalR Service 구성 Azure SignalR Service에 인증을 위해 Azure Active Directory ID가 독점적으로 필요하도록 로컬 인증 방법을 사용하지 않도록 설정합니다. 수정, 사용 안 함 1.0.0
프라이빗 엔드포인트를 Azure SignalR Service로 구성 프라이빗 엔드포인트는 원본 또는 대상에서 공용 IP 주소 없이 Azure 서비스에 가상 네트워크를 연결합니다. 프라이빗 엔드포인트를 Azure SignalR Service 리소스에 매핑하면 데이터 유출 위험을 줄일 수 있습니다. https://aka.ms/asrs/privatelink에서 자세히 알아보세요. DeployIfNotExists, 사용 안 함 1.0.0
배포 - 프라이빗 엔드포인트의 프라이빗 DNS 영역을 구성하여 Azure SignalR Service에 연결 프라이빗 DNS 영역을 사용하여 프라이빗 엔드포인트에 대한 DNS 확인을 재정의합니다. 프라이빗 DNS 영역은 가상 네트워크에 연결하여 Azure SignalR Service 리소스로 확인합니다. https://aka.ms/asrs/privatelink에서 자세히 알아보세요. DeployIfNotExists, 사용 안 함 1.0.0
Azure SignalR Service 리소스를 수정하여 공용 네트워크 액세스를 사용하지 않도록 설정 Azure SignalR Service 리소스의 보안을 향상하려면 공용 인터넷에 노출되지 않고 프라이빗 엔드포인트에서만 액세스할 수 있는지 확인합니다. https://aka.ms/asrs/networkacls에 설명된 대로 공용 네트워크 액세스 속성을 사용하지 않도록 설정합니다. 이 옵션은 Azure IP 범위를 벗어나는 공용 주소 공간에서의 액세스를 사용하지 않도록 설정하고, IP 또는 가상 네트워크 기반 방화벽 규칙과 일치하는 모든 로그인을 거부합니다. 이로 인해 데이터 누출 위험이 줄어듭니다. 수정, 사용 안 함 1.1.0

정책 정의 할당

  • Azure Portal, Azure CLI, Resource Manager 템플릿 또는 Azure Policy SDK를 사용하여 정책 정의를 할당합니다.
  • 정책 할당 범위를 리소스 그룹, 구독 또는 Azure 관리 그룹으로 지정합니다. SignalR 정책 할당은 범위 내의 기존 및 새 SignalR 리소스에 적용됩니다.
  • 언제든지 정책 적용을 사용하거나 사용하지 않도록 설정할 수 있습니다.

참고 항목

정책을 할당하거나 업데이트한 후 정의된 범위의 리소스에 할당이 적용되는 데 약간의 시간이 걸립니다. 정책 평가 트리거에 대한 정보를 참조하세요.

정책 준수 검토

Azure Portal, Azure 명령줄 도구 또는 Azure Policy SDK를 사용하여 정책 할당에서 생성된 준수 정보에 액세스합니다. 자세한 내용은 Azure 리소스의 준수 데이터 가져오기를 참조하세요.

리소스가 규정 비준수인 경우 여러 가지 원인이 있을 수 있습니다. 이유를 확인하거나 원인이 된 변경을 찾으려면 비준수 확인을 참조하세요.

포털의 정책 준수:

  1. 모든 서비스를 선택하고 정책을 검색합니다.

  2. 준수를 선택합니다.

  3. 필터를 사용하여 준수 상태를 제한하거나 정책 검색

    Screenshot showing policy compliance in portal.

  4. 정책을 선택하여 준수 세부 정보 및 이벤트 집계를 검토합니다. 필요한 경우 리소스 준수를 위한 특정 SignalR을 선택합니다.

Azure CLI의 정책 준수

Azure CLI를 사용하여 준수 데이터를 가져올 수도 있습니다. 예를 들어 CLI에서 az policy assignment list 명령을 사용하여 적용된 Azure SignalR Service 정책의 정책 ID를 가져옵니다.

az policy assignment list --query "[?contains(displayName,'SignalR')].{name:displayName, ID:id}" --output table

샘플 출력:

Name                                                                                   ID
-------------------------------------------------------------------------------------  --------------------------------------------------------------------------------------------------------------------------------
[Preview]: Azure SignalR Service should use private links  /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Authorization/policyAssignments/<assignmentId>

그런 다음 az policy state list를 실행하여 특정 리소스 그룹의 모든 리소스에 대해 JSON 형식의 준수 상태를 반환합니다.

az policy state list --g <resourceGroup>

또는 az policy state list를 실행하여 특정 SignalR 리소스의 JSON 형식 준수 상태를 반환합니다.

az policy state list \
 --resource /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.SignalRService/SignalR/<resourceName> \
 --namespace Microsoft.SignalRService \
 --resource-group <resourceGroup>

다음 단계