다음을 통해 공유


Bicep 구성 파일에 모듈 설정 추가

bicepconfig.json 파일에서 모듈 경로의 별칭을 만들고 모듈 게시 및 복원을 위한 프로필 및 자격 증명 우선 순위를 구성할 수 있습니다.

이 문서에서는 Bicep 모듈 작업에 사용할 수 있는 설정에 대해 설명합니다.

모듈의 별칭

모듈에 연결하기 위해 경로를 단순화하려면 구성 파일에 별칭을 만듭니다. 별칭은 템플릿 사양을 포함하는 리소스 그룹 또는 모듈 레지스트리를 참조합니다.

구성 파일에는 moduleAliases의 속성이 포함됩니다. 이 속성에는 정의하는 모든 별칭이 포함됩니다. 이 속성에서 별칭은 레지스트리 또는 템플릿 사양을 참조하는지 여부에 따라 분할됩니다.

Bicep 레지스트리의 별칭을 만들려면 br 속성을 추가합니다. 템플릿 사양의 별칭을 추가하려면 ts 속성을 사용합니다.

{
  "moduleAliases": {
    "br": {
      <add-registry-aliases>
    },
    "ts": {
      <add-template-specs-aliases>
    }
  }
}

br 속성 내에서 필요한 만큼 별칭을 추가합니다. 각 별칭에 대해 이름과 다음 속성을 지정합니다.

  • registry(필수): 레지스트리 로그인 서버 이름
  • modulePath(선택 사항): 모듈이 저장되는 레지스트리 리포지토리

ts 속성 내에서 필요한 만큼 별칭을 추가합니다. 각 별칭에 대해 이름과 다음 속성을 지정합니다.

  • subscription(필수): 템플릿 사양을 호스트하는 구독 ID
  • resourceGroup(필수): 템플릿 사양을 포함하는 리소스 그룹의 이름

다음 예제에서는 모듈 레지스트리의 별칭 두 개와 템플릿 사양을 포함하는 리소스 그룹의 별칭 하나를 정의하는 구성 파일을 보여 줍니다.

{
  "moduleAliases": {
    "br": {
      "ContosoRegistry": {
        "registry": "contosoregistry.azurecr.io"
      },
      "CoreModules": {
        "registry": "contosoregistry.azurecr.io",
        "modulePath": "bicep/modules/core"
      }
    },
    "ts": {
      "CoreSpecs": {
        "subscription": "00000000-0000-0000-0000-000000000000",
        "resourceGroup": "CoreSpecsRG"
      }
    }
  }
}

모듈 참조에서 별칭을 사용하는 경우 형식을 사용해야 합니다.

br/<alias>:<file>:<tag>
ts/<alias>:<file>:<tag>

파일 자체가 아니라 모듈이 포함된 폴더 또는 리소스 그룹에 대한 별칭을 정의합니다. 파일 이름은 모듈에 대한 참조에 포함되어야 합니다.

별칭이 없으면 전체 경로를 사용하여 레지스트리의 모듈에 연결합니다.

module stgModule 'br:contosoregistry.azurecr.io/bicep/modules/core/storage:v1' = {

별칭이 있으면 레지스트리의 별칭을 사용하여 링크를 단순화할 수 있습니다.

module stgModule 'br/ContosoRegistry:bicep/modules/core/storage:v1' = {

또는 레지스트리 및 모듈 경로를 지정하는 별칭을 사용하여 링크를 단순화할 수 있습니다.

module stgModule  'br/CoreModules:storage:v1' = {

템플릿 사양의 경우 다음을 사용합니다.

module stgModule  'ts/CoreSpecs:storage:v1' = {

공용 모듈에 대한 별칭이 미리 정의되었습니다. 공용 모듈을 참조하려면 다음 형식을 사용하면 됩니다.

br/public:<file>:<tag>

참고 항목

AVM이 아닌 모듈(Azure 확인된 모듈) 모듈은 공용 모듈 레지스트리에서 사용 중지되며 대부분은 AVM 모듈로 사용할 수 있습니다.

bicepconfig.json 파일에서 공용 모듈 레지스트리 별칭 정의를 재정의할 수 있습니다.

{
  "moduleAliases": {
    "br": {
      "public": {
        "registry": "<your_module_registry>",
        "modulePath": "<optional_module_path>"
      }
    }
  }
}

프로필 및 자격 증명 구성

모듈을 프라이빗 모듈 레지스트리에 게시하거나 외부 모듈을 로컬 캐시에 복원하려면 계정에 레지스트리에 액세스할 수 있는 올바른 권한이 있어야 합니다. 레지스트리에 인증하기 위해 Bicep 구성 파일을 수동으로 구성할 currentProfile credentialPrecedence 수 있습니다.

{
  "cloud": {
    "currentProfile": "AzureCloud",
    "profiles": {
      "AzureCloud": {
        "resourceManagerEndpoint": "https://management.azure.com",
        "activeDirectoryAuthority": "https://login.microsoftonline.com"
      },
      "AzureChinaCloud": {
        "resourceManagerEndpoint": "https://management.chinacloudapi.cn",
        "activeDirectoryAuthority": "https://login.chinacloudapi.cn"
      },
      "AzureUSGovernment": {
        "resourceManagerEndpoint": "https://management.usgovcloudapi.net",
        "activeDirectoryAuthority": "https://login.microsoftonline.us"
      }
    },
    "credentialPrecedence": [
      "AzureCLI",
      "AzurePowerShell"
    ]
  }
}

사용 가능한 프로필은 다음과 같습니다.

  • AzureCloud
  • AzureChinaCloud
  • AzureUSGovernment

기본적으로 Bicep은 Azure CLI 또는 Azure PowerShell에서 인증된 사용자의 프로필 및 자격 증명을 사용합니다 AzureCloud . 이러한 프로필을 사용자 지정하거나 온-프레미스 환경에 대한 새 프로필을 포함할 수 있습니다. 같은 AzureUSGovernment국가별 클라우드 환경에 모듈을 게시하거나 복원하려면 Azure CLI에서 해당 클라우드 프로필을 선택한 경우에도 설정 "currentProfile": "AzureUSGovernment" 해야 합니다. Bicep은 Azure CLI 설정에 따라 현재 클라우드 프로필을 자동으로 확인할 수 없습니다.

Bicep은 Azure.Identity SDK를 사용하여 인증을 수행합니다. 사용 가능한 자격 증명 형식은 다음과 같습니다.

참고 항목

vscode 내에서 Bicep 배포 명령은 인증을 위해 Azure 계정 확장을 사용합니다. bicepconfig.json의 클라우드 프로필은 사용하지 않습니다.

다음 단계