빠른 시작: Bicep을 사용하여 Azure 역할 할당
Azure RBAC(Azure 역할 기반 액세스 제어)는 Azure 리소스에 대한 액세스를 관리하는 방법입니다. 이 빠른 시작에서는 리소스 그룹을 만들고 리소스 그룹에서 Virtual Machine을 만들고 관리할 수 있는 액세스 권한을 사용자에게 부여합니다. 이 빠른 시작에서는 Bicep을 사용하여 액세스 권한을 부여합니다.
Bicep은 선언적 구문을 사용하여 Azure 리소스를 배포하는 DSL(도메인 특정 언어)입니다. 간결한 구문, 신뢰할 수 있는 형식 안전성 및 코드 다시 사용에 대한 지원을 제공합니다. Bicep은 Azure에서 코드형 인프라 솔루션에 대한 최고의 제작 환경을 제공합니다.
필수 조건
Azure 역할을 할당하고 역할 할당을 제거하려면 다음이 필요합니다.
- Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.
- 역할 기반 Access Control 관리자와 같은
Microsoft.Authorization/roleAssignments/write
및Microsoft.Authorization/roleAssignments/delete
권한입니다. - 역할을 할당하려면 보안 주체, 역할 정의 및 범위의 세 가지 요소를 지정해야 합니다. 이 빠른 시작에서 보안 주체는 사용자 또는 사용자 디렉터리에 있는 다른 사용자이며, 역할 정의는 Virtual Machine 기여자이고, 범위는 사용자가 지정하는 리소스 그룹입니다.
Bicep 파일 검토
이 빠른 시작에서 사용되는 Bicep 파일은 Azure 빠른 시작 템플릿에서 나온 것입니다. Bicep 파일에는 2개의 매개 변수와 리소스 섹션이 있습니다. 리소스 섹션에서 역할 할당의 세 요소인 보안 주체, 역할 정의 및 범위가 포함된 것을 확인하세요.
@description('Specifies the role definition ID used in the role assignment.')
param roleDefinitionID string
@description('Specifies the principal ID assigned to the role.')
param principalId string
var roleAssignmentName= guid(principalId, roleDefinitionID, resourceGroup().id)
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: roleAssignmentName
properties: {
roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', roleDefinitionID)
principalId: principalId
}
}
output name string = roleAssignment.name
output resourceGroupName string = resourceGroup().name
output resourceId string = roleAssignment.id
Bicep 파일에 정의된 리소스는 다음과 같습니다.
Bicep 파일 배포
Bicep 파일을 main.bicep으로 로컬 컴퓨터에 저장합니다.
Azure CLI 또는 Azure PowerShell을 사용하여 Bicep 파일을 배포합니다.
az group create --name exampleRG --location eastus az deployment group create --resource-group exampleRG --template-file main.bicep --parameters roleDefinitionID=9980e02c-c2be-4d73-94e8-173b1dc7cf3c principalId=<principal-id>
참고 항목
<principal-id>를 역할에 할당된 보안 주체 ID로 바꿉니다.
배포가 완료되면 배포에 성공했음을 나타내는 메시지가 표시됩니다.
배포된 리소스 검토
Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 리소스 그룹에 배포된 리소스를 나열합니다.
az role assignment list --resource-group exampleRG
리소스 정리
더 이상 필요하지 않은 경우 Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 역할 할당을 제거합니다. 자세한 내용은 Azure 역할 할당 제거를 참조하세요.
Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 리소스 그룹을 삭제합니다.
az group delete --name exampleRG