다음을 통해 공유


빠른 시작: Microsoft Graph 리소스를 사용하여 첫 번째 Bicep 파일 만들기 및 배포

이 빠른 시작에서는 각각 Microsoft Graph 리소스와 Azure 리소스를 나타내는 Microsoft Entra 보안 그룹 및 MSI(관리 서비스 ID)를 선언하는 Bicep 파일을 만듭니다. 그런 다음 MSI를 그룹의 소유자로 추가합니다. 또한 Bicep 확장을 통해 형식 안전성, 구문 유효성 검사 및 자동 완성을 제공하여 개발을 간소화하는 방법을 알아봅니다. 마지막으로 로그인한 사용자를 사용하여 Bicep 파일을 배포합니다.

Important

이 빠른 시작 문서에서는 사용되지 않으며 2025년 1월 24일에 사용 중지될 기본 제공 형식 대신 동적 형식 참조를 사용합니다. 사용 중지 날짜까지 기본 제공 형식 extension microsoftGraph은 새 동적 형식과 공존합니다. 기존 Bicep 파일이 기본 제공 형식을 사용하는 경우 동적 형식 을 사용하도록 전환하여 향후 Bicep 파일 배포 문제를 방지합니다.

Important

Microsoft Graph Bicep은 현재 미리 보기로 제공됩니다. 베타, 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 약관은 Microsoft Azure 미리 보기에 대한 추가 사용 약관을 참조하세요.

필수 조건

Microsoft Graph 애플리케이션 그룹 추가

VS Code를 시작하고 동일한 폴더에 main.bicepbicepconfig.json 두 개의 새 파일을 만듭니다.

다음으로, Bicep 파일에서 Microsoft Graph 리소스를 선언하려면 Bicep 미리 보기 기능을 사용하도록 설정하고 bicepconfig.json 구성하여 Microsoft Graph Bicep 형식 버전을 지정해야 합니다.

이 샘플에서는 v1.0 리소스를 사용하고 사용자 친화적인 확장 이름 "microsoftGraphV1"을 선언하여 Microsoft 아티팩트 레지스트리 형식 버전을 참조 br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview 합니다.

{
    "experimentalFeaturesEnabled": {
        "extensibility": true
    },
    // specify an alias for the version of the v1.0 dynamic types package you want to use
    "extensions": {
      "microsoftGraphV1": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview"
    }
}

Microsoft 아티팩트 레지스트리 베타 형식 버전에 다른 참조를 추가하여 동일한 Bicep 파일에서 베타 및 v1.0에서 Microsoft Graph 리소스를 선언할 수도 있습니다.

main.bicep에서 Microsoft 아티팩트 레지스트리 동적 형식 패키지를 참조하기 위한 사용자 친화적인 이름을 입력extension microsoftGraphV1microsoftGraphV1합니다.extension 문을 통해 Bicep 컴파일러는 사용자가 bicepconfig.json 정의한 Microsoft Graph 형식을 포함하고 있음을 알 수 있습니다. 다음 줄에서 키워드를 사용하여 리소스를 정의합니다 resource . 공백을 입력 resource exampleGroup 하고 추가합니다.

extension microsoftGraphV1

resource exampleGroup

기호 이름 뒤에 공백을 추가하면 리소스 종류 목록이 표시됩니다. 사용 가능한 옵션에서 Microsoft.Graph/Groups를 선택할 수 있게 될 때까지 그룹을 계속 입력합니다.

리소스 종류에 대한 Microsoft Graph 그룹을 선택하는 스크린샷

VS Code에 intellisense 옵션이 표시되지 않으면 필수 구성 요소에 지정된 대로 Bicep 확장을 설치했는지 확인합니다. 확장을 설치한 경우 Bicep 파일을 연 후 Bicep 언어 서비스를 시작할 시간을 제공합니다. 오른쪽 아래 모서리에 있는 알림은 서비스가 시작 중임을 나타냅니다. 해당 알림이 사라지면 서비스가 실행 중인 것입니다.

Microsoft.Graph/Groups선택하면 사용 가능한 API 버전(베타 또는 v1.0)이 표시됩니다. v1.0을 사용할 수 없거나 필요한 리소스 속성을 베타에서만 사용할 수 있는 경우가 아니면 항상 v1.0을 선택합니다. 이 빠른 시작에서는 v1.0을 사용합니다.

리소스 종류에 대한 API 버전 선택 스크린샷

리소스 종류의 작은따옴표 뒤에 = 및 공백을 추가합니다. 리소스에 속성을 추가할 수 있는 옵션이 제공됩니다. required-properties를 선택합니다.

필요한 속성을 추가하는 스크린샷.

이 옵션은 배포에 필요한 리소스 종류의 모든 속성을 추가합니다. 이 옵션을 선택한 후 그룹에는 다음과 같은 속성이 있습니다.

resource exampleGroup 'Microsoft.Graph/groups@v1.0' = {
  displayName: 
  mailEnabled: 
  mailNickname: 
  securityEnabled: 
  uniqueName: 
}

해당 속성에 대한 값을 제공하고 mailEnabled를 false 로 설정하고 securityEnabled를 .로 true설정합니다. uniqueName 은 이 그룹 리소스에 대해 변경할 수 없는 클라이언트 제공 키를 나타냅니다.

관리 ID 리소스 추가

Bicep 확장을 사용하는 VS Code는 관리 ID를 만드는 코드 조각과 같이 미리 정의된 코드 조각을 제공하여 개발을 간소화합니다. main.bicep에서 man을 입력한 다음 목록에서 res-managed-identity를 선택한 다음 [TAB] 또는 [ENTER]를 누릅니다.

리소스 조각을 추가하는 스크린샷

참고: Microsoft Graph 리소스와 같은 확장 가능한 리소스에 대한 리소스 조각 은 현재 지원되지 않습니다.

이제 Bicep 파일에 다음 코드가 포함됩니다.

resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = {
  name: 'name'
  location: location
}

에 대한 location매개 변수 정의를 추가하여 누락된 매개 변수 정의 오류를 수정할 수 있습니다. 확장 정의에서 .를 추가합니다 param location string = resourceGroup().location. 여기서 사용되는 함수에 대한 자세한 내용은 resourceGroup()을 참조하세요. 관리 ID의 이름을 .로 name exampleManagedIdentity변경합니다.

관리 ID를 그룹 리소스의 소유자로 만들기

리소스에서 소유자를 exampleGroup 일치하는 유일한 속성 옵션으로 표시하는 ow 형식 아래에 uniqueName새 줄을 만든 다음 [TAB] 또는 [ENTER]를 누릅니다.

소유자 속성을 추가하는 스크린샷

소유자 속성은 배열이므로 m을 입력하고 managedIdentity(관리 ID의 기호 이름)를 선택하고 속성을 입력하고 다른 속성을 입력 하고 principalId를 선택하여 intellisense를 사용하여 관리 ID의 보안 주체 ID를 추가하고 [] 참조합니다.

관리 ID를 참조하는 스크린샷

이제 main.bicep 파일이 다음과 같이 표시됩니다.

extension microsoftGraphV1

param location string = resourceGroup().location

resource exampleGroup 'Microsoft.Graph/groups@v1.0' = {
  displayName: 'My example group'
  mailEnabled: false
  mailNickname: 'my-example-group'
  securityEnabled: true
  uniqueName: 'myExampleGroup'
  owners: [managedIdentity.properties.principalId]
}

resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = {
  name: 'exampleManagedIdentity'
  location: location
}

로그인한 사용자를 사용하여 Bicep 파일 배포

다음 예제를 사용하여 Azure CLI 또는 Azure PowerShell에 로그인하여 Bicep 파일을 배포합니다. 이 설명서의 Azure CLI 예제는 Bash 콘솔을 사용합니다.

## Sign in to Azure CLI
az login

## Create a resource group
az group create --name exampleRG --location eastus

## Deploy the Bicep file
az deployment group create --resource-group exampleRG --template-file main.bicep

배포가 완료되면 배포에 성공했음을 나타내는 메시지가 표시됩니다.

참고 항목

복제 지연으로 인해 MSI(관리 서비스 ID)를 Microsoft Entra 그룹의 소유자로 추가하면 배포가 실패할 수 있습니다. 잠시 기다린 다음 동일한 Bicep 파일을 다시 배포합니다.

리소스 정리

Azure 리소스가 더 이상 필요 없으면 Azure CLI 또는 Azure PowerShell 모듈을 사용하여 빠른 시작 리소스 그룹을 삭제합니다.

참고 항목

리소스 그룹은 Azure 개념이며 Microsoft Graph 리소스에 영향을 주지 않습니다. Microsoft Graph 리소스는 Microsoft Graph에 대한 추가 요청으로 정리해야 합니다. 이를 위해 Azure CLI 또는 Azure PowerShell, Microsoft Graph CLI 또는 Microsoft Graph PowerShell을 사용할 수 있습니다.

다음 예제에서는 먼저 Azure 리소스를 삭제한 다음, Azure CLI 및 Azure PowerShell을 사용하여 Microsoft Graph 리소스를 삭제하는 명령을 보여 줍니다.

## Delete the resource group
az group delete --name exampleRG

## Delete the Microsoft Graph group
az rest --method delete --url 'https://graph.microsoft.com/v1.0/groups%28uniqueName=%27myExampleGroup%27%29'

다음 단계