이 페이지는 Azure Container Registry 대한 Azure Policy 기본 제공 정책 정의의 인덱스입니다. 다른 서비스에 대한 추가 Azure Policy 기본 제공은 Azure Policy 기본 제공 정의 참조하세요.
각 기본 제공 정책 정의의 이름은 Azure 포털의 정책 정의에 연결됩니다. Version 열의 링크를 사용하여 Azure Policy GitHub 리포지토리 원본을 볼 수 있습니다.
Azure Container Registry
| 속성 (Azure Portal) |
설명 | 효과 | 버전 (GitHub) |
|---|---|---|---|
| [미리 보기]: Container Registry는 영역 중복이어야 합니다. | Container Registry는 영역 중복 여부에 관계없이 구성될 수 있습니다. Container Registry의 zoneRedundancy 속성이 'Disabled'로 설정되면 레지스트리가 영역 중복이 아니라는 의미입니다. 이 정책을 적용하면 Container Registry가 영역 복원력에 맞게 적절하게 구성되어 영역 중단 시 가동 중지 시간의 위험을 줄이는 데 도움이 됩니다. | 감사, 거부, 사용 안 함 | 1.0.0-preview |
| [미리 보기]: Container Registry는 가상 네트워크 서비스 엔드포인트를 사용해야 함 | 이 정책은 가상 네트워크 서비스 엔드포인트를 사용하도록 구성되지 않은 모든 Container Registry를 감사합니다. | 감사, 사용 안 함 | 1.0.0-preview |
| 컨테이너 이미지 취약성 평가는 레지스트리에서 CVE(일반적으로 알려진 취약성)을 검사하고 각 이미지에 대한 자세한 취약성 보고서를 제공합니다. 취약성을 해결하면 보안 태세가 크게 향상되어 배포 전에 이미지를 안전하게 사용할 수 있습니다. | AuditIfNotExists, 사용 안 함 | 1.0.1 | |
| 익명 인증을 사용하지 않도록 컨테이너 레지스트리 구성 | 인증되지 않은 사용자가 데이터에 액세스할 수 없도록 레지스트리에 대한 익명 끌어오기를 사용하지 않도록 설정합니다. 관리 사용자, 리포지토리 범위 액세스 토큰 및 익명 끌어오기와 같은 로컬 인증 방법을 사용하지 않도록 설정하면 컨테이너 레지스트리에 인증을 위해 Azure Active Directory ID만 필요하도록 하여 보안이 향상됩니다. https://aka.ms/acr/authentication에서 자세히 알아보세요. | 수정, 사용 안 함 | 1.0.0 |
| ARM 대상 토큰 인증을 비활성화하도록 컨테이너 레지스트리 구성 | 레지스트리에 대한 인증을 위해 Azure Active Directory ARM 대상 토큰을 사용하지 않도록 설정합니다. ACR(Azure Container Registry) 대상 토큰만 인증에 사용됩니다. 이렇게 하면 레지스트리에서 사용할 토큰만 인증에 사용할 수 있습니다. ARM 대상 그룹 토큰을 사용하지 않도록 설정해도 관리 사용자 또는 범위가 지정된 액세스 토큰의 인증에는 영향을 주지 않습니다. https://aka.ms/acr/authentication에서 자세히 알아보세요. | 수정, 사용 안 함 | 1.0.0 |
| 로컬 관리자 계정을 사용하지 않도록 컨테이너 레지스트리 구성 | 로컬 관리자가 액세스할 수 없도록 레지스트리에 대한 관리자 계정을 사용하지 않도록 설정합니다. 관리 사용자, 리포지토리 범위 액세스 토큰 및 익명 끌어오기와 같은 로컬 인증 방법을 사용하지 않도록 설정하면 컨테이너 레지스트리에 인증을 위해 Azure Active Directory ID만 필요하도록 하여 보안이 향상됩니다. https://aka.ms/acr/authentication에서 자세히 알아보세요. | 수정, 사용 안 함 | 1.0.1 |
| 공용 네트워크 액세스를 사용하지 않도록 컨테이너 레지스트리 구성 | 공용 인터넷을 통해 액세스할 수 없도록 Container Registry 리소스에 대한 공용 네트워크 액세스를 사용하지 않도록 설정합니다. 이를 통해 데이터 유출 위험을 줄일 수 있습니다. https://aka.ms/acr/portal/public-network 및 https://aka.ms/acr/private-link에서 자세히 알아보세요. | 수정, 사용 안 함 | 1.0.0 |
| 리포지토리 범위 액세스 토큰을 사용하지 않도록 컨테이너 레지스트리 구성 | 리포지토리가 토큰으로 액세스할 수 없도록 레지스트리에 대한 리포지토리 범위 액세스 토큰을 사용하지 않도록 설정합니다. 관리 사용자, 리포지토리 범위 액세스 토큰 및 익명 끌어오기와 같은 로컬 인증 방법을 사용하지 않도록 설정하면 컨테이너 레지스트리에 인증을 위해 Azure Active Directory ID만 필요하도록 하여 보안이 향상됩니다. https://aka.ms/acr/authentication에서 자세히 알아보세요. | 수정, 사용 안 함 | 1.0.0 |
| 프라이빗 엔드포인트를 사용하여 컨테이너 레지스트리 구성 | 프라이빗 엔드포인트는 원본 또는 대상에서 공용 IP 주소 없이 가상 네트워크를 Azure 서비스에 연결합니다. 프라이빗 엔드포인트를 프리미엄 컨테이너 레지스트리 리소스에 매핑하면 데이터 유출 위험을 줄일 수 있습니다. https://aka.ms/privateendpoints 및 https://aka.ms/acr/private-link에서 자세히 알아보세요. | DeployIfNotExists, 사용 안 함 | 1.0.0 |
| 컨테이너 레지스트리는 고객 관리형 키를 사용하여 암호화해야 함 | 고객 관리형 키를 사용하여 레지스트리 콘텐츠의 미사용 데이터 암호화를 관리합니다. 기본적으로 저장 데이터는 서비스 관리형 키를 사용하여 암호화되지만, 일반적으로 규정 준수 표준을 충족하려면 고객 관리형 키가 필요합니다. 고객 관리형 키를 사용하면 사용자가 만들고 소유한 Azure Key Vault 키를 사용하여 데이터를 암호화할 수 있습니다. 순환 및 관리를 포함하여 키의 수명 주기를 고객이 모두 제어하고 책임져야 합니다. https://aka.ms/acr/CMK에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.1.2 |
| 컨테이너 레지스트리는 익명 인증을 사용하지 않도록 설정해야 함 | 인증되지 않은 사용자가 데이터에 액세스할 수 없도록 레지스트리에 대한 익명 끌어오기를 사용하지 않도록 설정합니다. 관리 사용자, 리포지토리 범위 액세스 토큰 및 익명 끌어오기와 같은 로컬 인증 방법을 사용하지 않도록 설정하면 컨테이너 레지스트리에 인증을 위해 Azure Active Directory ID만 필요하도록 하여 보안이 향상됩니다. https://aka.ms/acr/authentication에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.0.0 |
| 컨테이너 레지스트리에는 ARM 대상 토큰 인증이 비활성화되어 있어야 함 | 레지스트리에 대한 인증을 위해 Azure Active Directory ARM 대상 토큰을 사용하지 않도록 설정합니다. ACR(Azure Container Registry) 대상 토큰만 인증에 사용됩니다. 이렇게 하면 레지스트리에서 사용할 토큰만 인증에 사용할 수 있습니다. ARM 대상 그룹 토큰을 사용하지 않도록 설정해도 관리 사용자 또는 범위가 지정된 액세스 토큰의 인증에는 영향을 주지 않습니다. https://aka.ms/acr/authentication에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.0.0 |
| 컨테이너 레지스트리에는 내보내기가 비활성화되어 이어야 함 | 내보내기를 비활성화하면 레지스트리의 데이터가 데이터 평면('docker pull')을 통해서만 액세스되도록 하여 보안이 향상됩니다. 데이터는 'acr import' 또는 'acr transfer'를 통해 레지스트리 밖으로 이동할 수 없습니다. 내보내기를 비활성화하려면 공용 네트워크 액세스를 비활성화해야 합니다. https://aka.ms/acr/export-policy에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.0.0 |
| 컨테이너 레지스트리는 로컬 관리자 계정을 사용하지 않도록 설정해야 함 | 로컬 관리자가 액세스할 수 없도록 레지스트리에 대한 관리자 계정을 사용하지 않도록 설정합니다. 관리 사용자, 리포지토리 범위 액세스 토큰 및 익명 끌어오기와 같은 로컬 인증 방법을 사용하지 않도록 설정하면 컨테이너 레지스트리에 인증을 위해 Azure Active Directory ID만 필요하도록 하여 보안이 향상됩니다. https://aka.ms/acr/authentication에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.0.1 |
| 컨테이너 레지스트리는 리포지토리 범위 액세스 토큰을 사용하지 않도록 설정해야 함 | 리포지토리가 토큰으로 액세스할 수 없도록 레지스트리에 대한 리포지토리 범위 액세스 토큰을 사용하지 않도록 설정합니다. 관리 사용자, 리포지토리 범위 액세스 토큰 및 익명 끌어오기와 같은 로컬 인증 방법을 사용하지 않도록 설정하면 컨테이너 레지스트리에 인증을 위해 Azure Active Directory ID만 필요하도록 하여 보안이 향상됩니다. https://aka.ms/acr/authentication에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.0.0 |
| 컨테이너 레지스트리에 Private Link를 지원하는 SKU가 있어야 함 | Azure Private Link 사용하면 원본 또는 대상에서 공용 IP 주소 없이 가상 네트워크를 Azure 서비스에 연결할 수 있습니다. 프라이빗 링크 플랫폼은 Azure 백본 네트워크를 통해 소비자와 서비스 간의 연결을 처리합니다. 전체 서비스 대신 프라이빗 엔드포인트를 컨테이너 레지스트리에 매핑하면 데이터 유출 위험이 줄어듭니다. https://aka.ms/acr/private-link에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.0.0 |
| 컨테이너 레지스트리는 무제한 네트워크 액세스를 허용하지 않아야 함 | Azure 컨테이너 레지스트리는 기본적으로 모든 네트워크의 호스트에서 인터넷을 통해 연결을 허용합니다. 잠재적인 위협으로부터 레지스트리를 보호하려면 특정 프라이빗 엔드포인트, 공용 IP 주소 또는 주소 범위에서만 액세스를 허용합니다. 레지스트리에 네트워크 규칙이 구성되어 있지 않으면 비정상 리소스에 나타납니다. Container Registry 네트워크 규칙에 대한 자세한 내용은 https://aka.ms/acr/privatelink, https://aka.ms/acr/portal/public-network 및 https://aka.ms/acr/vnet을 참조하세요. | 감사, 거부, 사용 안 함 | 2.0.0 |
| 컨테이너 레지스트리는 캐시 규칙 만들기를 방지해야 합니다. | Azure Container Registry 캐시 규칙 만들기를 사용하지 않도록 설정하여 캐시 끌어오기를 방지합니다. https://aka.ms/acr/cache에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.0.0 |
| 컨테이너 레지스트리는 프라이빗 링크를 사용해야 함 | Azure Private Link 사용하면 원본 또는 대상에서 공용 IP 주소 없이 가상 네트워크를 Azure 서비스에 연결할 수 있습니다. 프라이빗 링크 플랫폼은 Azure 백본 네트워크를 통해 소비자와 서비스 간의 연결을 처리합니다. 프라이빗 엔드포인트를 전체 서비스 대신 컨테이너 레지스트리에 매핑하면 데이터 유출 위험으로부터 보호됩니다. https://aka.ms/acr/private-link에서 자세히 알아보세요. | 감사, 사용 안 함 | 1.0.1 |
| 컨테이너 레지스트리는 외부 프라이빗 엔드포인트를 제한해야 합니다. | 이 정책은 Mission Platform 제품 및 서비스에만 적용됩니다. 이러한 범위를 벗어난 사용은 지원되지 않습니다. Enclave 경계를 유지하고 데이터 노출 위험을 줄이기 위해 임무 테넌트 외부의 구독에서 컨테이너 레지스트리에 대한 프라이빗 엔드포인트 연결의 승인을 차단합니다(명시적으로 제외되지 않는 한). https://learn.microsoft.com/azure/container-registry/container-registry-private-link에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.0.0 |
| 컨테이너 레지스트리(microsoft.containerregistry/registries)에 대해 범주 그룹별로 Event Hub에 대한 로깅을 사용하도록 설정 | 리소스에서 발생하는 작업 및 이벤트를 추적하고 발생하는 변경 내용에 대한 표시 유형과 인사이트를 제공하려면 리소스 로그를 사용하도록 설정해야 합니다. 이 정책은 범주 그룹을 사용하여 로그를 컨테이너 레지스트리(microsoft.containerregistry/registries)에 대한 Event Hub로 라우팅하는 진단 설정을 배포합니다. | 존재하지 않으면 배포, 존재하지 않으면 감사, 사용 안 함 | 1.2.0 |
| 리소스에서 발생하는 작업 및 이벤트를 추적하고 발생하는 변경 내용에 대한 표시 유형과 인사이트를 제공하려면 리소스 로그를 사용하도록 설정해야 합니다. 이 정책은 범주 그룹을 사용하여 진단 설정을 배포하여 컨테이너 레지스트리(microsoft.containerregistry/registries)에 대한 Log Analytics 작업 영역으로 로그를 라우팅합니다. | 존재하지 않으면 배포, 존재하지 않으면 감사, 사용 안 함 | 1.1.0 | |
| 컨테이너 레지스트리(microsoft.containerregistry/registries)에 대해 범주 그룹별로 Storage에 대한 로깅을 사용하도록 설정 | 리소스에서 발생하는 작업 및 이벤트를 추적하고 발생하는 변경 내용에 대한 표시 유형과 인사이트를 제공하려면 리소스 로그를 사용하도록 설정해야 합니다. 이 정책은 범주 그룹을 사용하여 로그를 컨테이너 레지스트리(microsoft.containerregistry/registries)에 대한 스토리지 계정으로 라우팅하는 진단 설정을 배포합니다. | 존재하지 않으면 배포, 존재하지 않으면 감사, 사용 안 함 | 1.1.0 |
| 컨테이너 레지스트리에 대해 공용 네트워크 액세스를 사용하지 않도록 설정해야 함 | 공용 네트워크 액세스를 사용하지 않도록 설정하면 컨테이너 레지스트리가 공용 인터넷에 노출되지 않도록 하여 보안이 향상됩니다. 프라이빗 엔드포인트를 만들면 컨테이너 레지스트리 리소스의 노출을 제한할 수 있습니다. https://aka.ms/acr/portal/public-network 및 https://aka.ms/acr/private-link에서 자세히 알아보세요. | 감사, 거부, 사용 안 함 | 1.0.0 |
다음 단계
- 정책을 할당하고 규정 준수를 검토하려면 지침을 참조하세요.
- Azure Policy GitHub 리포지토리 기본 제공을 참조하세요.
- Azure Policy 정의 구조 검토합니다.
- 정책 효과 이해를 검토합니다.