Visual Studio Code용 Azure Policy 확장 사용

Azure Policy 확장 버전 0.1.2 이상에 적용됩니다.

VS Code(Visual Studio Code)용 Azure Policy 확장을 사용하여 별칭을 조회하고, 리소스 및 정책 정의를 검토하며, 개체를 내보내고, 정책 정의를 평가하는 방법을 알아봅니다. 먼저 Visual Studio Code에서 Azure Policy 확장을 설치하는 방법을 설명합니다. 그런 다음 별칭을 조회하는 방법을 살펴보겠습니다.

Visual Studio Code용 Azure Policy 확장은 Linux, Mac 및 Windows에 설치할 수 있습니다.

필수 조건

이 문서의 단계를 완료하려면 다음 항목이 필요합니다.

Azure Policy 확장 설치 및 구성

사전 요구 사항을 충족하면 다음 단계에 따라 Visual Studio Code용 Azure Policy 확장을 설치할 수 있습니다.

  1. Visual Studio Code를 엽니다.
  2. 메뉴 모음에서 확장 보기>이동합니다.
  3. 검색 상자에 Azure Policy를 입력합니다.
  4. 검색 결과에서 Azure Policy를 선택한 다음, 설치를 선택합니다.
  5. 필요한 경우 다시 로드를 선택합니다.

국가별 클라우드 사용자의 경우 다음 단계에 따라 Azure 환경을 먼저 설정합니다.

  1. 파일>기본 설정>설정을 선택합니다.

  2. 다음 문자열에서 검색: Azure: 클라우드

  3. 목록에서 국가 클라우드를 선택합니다.

    Screenshot of selecting the nation Azure cloud sign in for Visual Studio Code.

Policy 확장 사용

참고 항목

Visual Studio Code용 Azure Policy 확장에서 볼 수 있는 정책 정의에 대한 로컬 변경 내용은 Azure와 동기화되지 않습니다.

Azure 계정에 연결

리소스 및 조회 별칭을 평가하려면 Azure 계정에 연결해야 합니다. Visual Studio Code에서 Azure에 연결하려면 다음 단계를 따르세요.

  1. Azure Policy 확장 또는 명령 팔레트에서 Azure에 로그인합니다.

    • Azure Policy 확장

      Azure Policy 확장에서 Azure에 로그인을 선택합니다.

      Screenshot of Visual Studio Code and the icon for the Azure Policy extension.

    • 명령 팔레트

      메뉴 모음에서 명령 팔레트 보기>이동하고 Azure: 로그인을 입력합니다.

      Screenshot of the Azure cloud sign in options for Visual Studio Code from the Command Palette.

  2. 로그인 지침에 따라 Azure에 로그인합니다. 연결되면 Visual Studio Code 창 아래의 상태 표시줄에 Azure 계정 이름이 표시됩니다.

구독 선택

처음 로그인하면 기본 구독 리소스 및 정책 정의만 Azure Policy 확장에 의해 로드됩니다. 리소스 및 정책 정의를 표시하는 구독을 추가하거나 제거하려면 다음 단계를 수행합니다.

  1. 명령 팔레트 또는 창 바닥글에서 구독 명령을 시작합니다.

    • 명령 팔레트

      메뉴 모음에서 보기>명령 팔레트로 이동하고, Azure: 구독 선택을 입력합니다.

    • 창 바닥글

      화면 하단의 창 바닥글에서 Azure: <계정>과 일치하는 세그먼트를 선택합니다.

  2. 필터 상자를 사용하여 이름으로 구독을 빠르게 찾을 수 있습니다. 그런 다음 각 구독에서 검사 검사 제거하여 Azure Policy 확장에 표시된 구독을 설정합니다. 표시할 구독 추가 또는 제거가 완료되면 확인을 선택합니다.

리소스 검색 및 보기

Azure Policy 확장은 리소스 공급자 및 리소스 창의 리소스 그룹에 의해 선택한 구독의 리소스를 나열합니다 . 트리 뷰에는 선택한 구독 내에서 또는 구독 수준에서 다음과 같은 리소스 그룹화가 포함됩니다.

  • 리소스 공급자
    • 정책 별칭이 있는 리소스 및 관련 자식 리소스가 있는 등록된 각 리소스 공급자
  • 리소스 그룹
    • 리소스 그룹의 모든 리소스

기본값으로 확장은 기존 리소스와 정책 별칭이 있는 리소스를 기준으로 '리소스 공급자' 부분을 필터링합니다. 필터링하지 않고 모든 리소스 공급자를 보려면,Settings>Extensions>Azure Policy에서 이 동작을 변경합니다.

단일 구독에 수백 또는 수천 개의 리소스가 있는 고객은 리소스를 찾는 검색 가능한 방법을 선호할 수 있습니다. Azure Policy 확장을 사용하면 다음 단계를 통해 특정 리소스를 검색할 수 있습니다.

  1. Azure Policy 확장 또는 명령 팔레트에서 검색 인터페이스를 시작합니다.

    • Azure Policy 확장

      Azure Policy 확장에서 리소스 패널을 마우스로 가리키고 줄임표를 선택한 다음, 리소스 검색을 선택합니다.

    • 명령 팔레트

      메뉴 모음에서 보기>명령 팔레트로 이동하고, Azure Policy: 리소스 검색을 입력합니다.

  2. 둘 이상의 구독이 표시되도록 선택된 경우 필터를 사용하여 검색할 구독을 선택합니다.

  3. 필터를 사용하여 이전에 선택한 구독의 일부인 검색할 리소스 그룹을 선택합니다.

  4. 필터를 사용하여 표시할 리소스를 선택합니다. 필터는 리소스 이름과 리소스 종류 모두에 대해 작동합니다.

리소스 속성에 대한 별칭 검색

검색 인터페이스를 통해 또는 트리 뷰에서 리소스를 선택하는 경우, Azure Policy 확장은 해당 리소스 및 그 모든 Azure Resource Manager 속성 값을 나타내는 JSON(JavaScript Object Notation) 파일을 엽니다.

리소스가 열린 후, Resource Manager 속성 이름 또는 값을 마우스로 가리키면 Azure Policy 별칭이 표시됩니다(있는 경우). 이 예제에서 리소스는 리소스 유형이며 Microsoft.Compute/virtualMachinesproperties.storageProfile.imageReference.offer 속성이 마우스로 가리킵니다. 마우스를 가져가면 일치하는 별칭이 표시됩니다.

Screenshot of the Azure Policy extension for Visual Studio Code hovering a property to display the alias names.

참고 항목

VS Code 확장은 Resource Manager 모드 속성의 평가만 지원합니다. 모드에 대한 자세한 내용은 모드 정의를 참조 하세요.

정책 정의 및 할당 검색 및 보기

Azure Policy 확장에는 정책 창에 표시하기 위해 선택한 구독에 대한 트리 뷰로 정책 형식 및 정책 할당이 나열됩니다. 단일 구독에서 수백 또는 수천 개의 정책 정의나 할당을 사용하는 고객은 해당 정책 정의 또는 할당을 찾기 위해 검색 가능한 방법을 선호할 수 있습니다. Azure Policy 확장을 사용하면 다음 단계를 통해 특정 정책 또는 할당을 검색할 수 있습니다.

  1. Azure Policy 확장 또는 명령 팔레트에서 검색 인터페이스를 시작합니다.

    • Azure Policy 확장

      Azure Policy 확장에서 정책 패널을 마우스로 가리키고 줄임표를 선택한 다음, 검색 정책을 선택합니다.

    • 명령 팔레트

      메뉴 모음에서 보기>명령 팔레트로 이동하고, Azure Policy: 정책 검색을 입력합니다.

  2. 둘 이상의 구독이 표시되도록 선택된 경우 필터를 사용하여 검색할 구독을 선택합니다.

  3. 필터를 사용하여 이전에 선택한 구독의 일부인 검색할 정책 유형 또는 할당을 선택합니다.

  4. 필터를 사용하여 표시할 정책을 선택합니다. 필터는 정책 정의 또는 정책 할당에 대한 displayName에 대해 작동합니다.

검색 인터페이스를 통해 또는 트리 뷰에서 이를 선택하여 정책 또는 할당을 선택하는 경우, Azure Policy 확장은 정책 또는 할당과 모든 해당 Resource Manager 속성 값을 나타내는 JSON을 엽니다. 확장은 열린 Azure Policy JSON 스키마의 유효성을 검사할 수 있습니다.

개체 내보내기

구독의 개체를 로컬 JSON 파일로 내보낼 수 있습니다. 리소스 또는 정책 창에서 마우스를 가리키거나 내보낼 수 있는 개체를 선택합니다. 강조 표시된 행의 끝에서 저장 아이콘을 선택하고 폴더를 선택하여 해당 리소스 JSON을 저장합니다.

다음 개체는 로컬로 내보낼 수 있습니다.

  • 리소스 창
    • 리소스 그룹
    • 개별 리소스(리소스 그룹 또는 리소스 공급자 아래)
  • 정책 창
    • 정책 할당
    • 기본 제공 정책 정의
    • 사용자 지정 정책 정의
    • 이니셔티브

주문형 평가 검사

평가 검사는 Visual Studio Code용 Azure Policy 확장을 사용하여 시작할 수 있습니다. 평가를 시작하려면 리소스, 정책 정의 및 정책 할당과 같은 각 개체를 선택하고 고정합니다.

  1. 각 개체를 고정하려면 리소스 창이나 정책 창에서 찾아서 편집 탭 아이콘의 핀을 선택합니다. 개체를 고정하면 확장의 평가 창에 추가됩니다.
  2. 평가 창에서 각 개체 중 하나를 선택하고 평가 아이콘 선택 아이콘을 사용하여 평가에 포함된 것으로 표시합니다.
  3. 평가 창의 맨 위에서 평가 실행 아이콘을 선택합니다. Visual Studio Code의 새 창이 열리고 결과 평가 세부 정보가 JSON 형식으로 표시됩니다.

참고 항목

AuditIfNotExists 또는 DeployIfNotExists 정책 정의의 경우 평가 창 또는 Azure Policy에서 더하기 아이콘을 사용합니다. 명령 팔레트에서 존재 검사 리소스를 선택하여 존재 검사 관련 리소스를 선택합니다(존재하지 않는 경우에만 사용).

평가 결과는 policyEvaluations.evaluationResult 속성과 함께 정책 정의 및 정책 할당에 대한 정보를 제공합니다. 출력은 다음 예제와 유사합니다.

{
    "policyEvaluations": [
        {
            "policyInfo": {
                ...
            },
            "evaluationResult": "Compliant",
            "effectDetails": {
                "policyEffect": "Audit",
                "existenceScope": "None"
            }
        }
    ]
}

참고 항목

VS Code 확장은 Resource Manager 모드 속성의 평가만 지원합니다. 모드에 대한 자세한 내용은 모드 정의를 참조 하세요.

평가 기능은 확장의 macOS 및 Linux 설치에서 작동하지 않습니다.

제약 조건 템플릿 또는 변형 템플릿에서 정책 정의 만들기

VS Code 확장은 기존 OPA(Open Policy Agent) GateKeeper v3 제약 조건 템플릿 또는 기존 변형 템플릿에서 정책 정의를 만들 수 있습니다. 명령 팔레트가 옵션이 되려면 YAML(YAML Ain't Markup Language) 파일이 VS Code에서 열려 있어야 합니다.

  1. 유효한 OPA GateKeeper v3 제약 조건 템플릿 YAML 파일을 엽니다.

  2. 메뉴 모음에서 명령 팔레트 보기>이동하여 Kubernetes용 Azure Policy: 제약 조건 템플릿 또는 변형에서 정책 정의 만들기를 입력합니다.

  3. 적절한 sourceType 값을 선택합니다.

  4. 정책 정의 JSON의 /* EDIT HERE */ 일부를 입력합니다.

확장은 정책 정의의 JSON을 생성하지만 Azure에서는 정의를 만들지 않습니다. 적절한 "여기서 편집" 필드를 채운 후에는 완료된 정책 정의 JSON 및 Azure Portal 또는 지원되는 SDK를 사용하여 Azure 환경 내에서 정책 정의를 만듭니다.

로그아웃

메뉴 모음에서 명령 팔레트 보기>이동한 다음 Azure: 로그아웃을 입력합니다.

다음 단계