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를 사용하여 인증을 수행합니다. 사용 가능한 자격 증명 형식은 다음과 같습니다.
참고 항목
Visual Studio Code의 Bicep 배포 명령은 인증을 관리하기 위해 새로운 기본 제공 인증 API 를 사용합니다. bicepconfig.json의 클라우드 프로필은 사용하지 않습니다. 사용자 지정 클라우드에 로그인하려면 설정>확장>Microsoft 계정>Microsoft 소버린 클라우드 관리를>선택합니다. 현재는 여러 로그인 계정이 지원되지 않습니다.
다음 단계
- Bicep 환경 구성
- Bicep 구성에 Linter 설정 추가
- 모듈에 관한 자세한 정보