ARM(Azure Resource Manager) 잠금을 사용하여 Azure Quantum 리소스 보호
실수로 또는 악의적으로 삭제하는 일이 없도록 모든 Azure Quantum 작업 영역 및 연결된 스토리지 계정을 ARM(Azure Resource Manager) 잠금으로 잠그는 것이 좋습니다. 예를 들어 교수들은 학생이 공급자 SKU를 수정하지 못하도록 제한하고 전자 필기장을 사용하고 작업을 제출할 수 있도록 할 수 있습니다.
다음과 같은 두 가지 유형의 ARM 리소스 잠금이 있습니다.
- CannotDelete 잠금은 사용자가 리소스를 삭제하지 못하도록 차단하지만 구성을 읽고 수정할 수 있도록 합니다.
- ReadOnly 잠금은 사용자가 리소스의 구성(리소스 삭제 포함)을 수정할 수 없지만 구성을 읽을 수는 있도록 허용합니다. 리소스 잠금에 대한 자세한 내용은 예기치 않은 변경을 방지하기 위해 리소스 잠그기를 참조하세요.
참고
이미 ARM 또는 Bicep 템플릿을 사용하여 Azure Quantum 작업 영역을 관리하는 경우 이 문서의 절차를 기존 템플릿에 추가하면 됩니다.
권장 잠금 구성
다음 표에는 Azure Quantum 작업 영역에 배포하면 좋은 권장 리소스 잠금 구성이 정리되어 있습니다.
리소스 | 잠금 유형 | 참고 |
---|---|---|
작업 영역 | 삭제 | 작업 영역이 삭제되지 않도록 합니다. |
작업 영역 | 읽기 전용 | 사용자가 Notebook을 생성 및 삭제하고 작업을 제출할 수 있도록 허용하면서도 공급자 추가 또는 삭제를 포함한 작업 영역 수정을 차단합니다. 이 잠금이 설정되었을 때 공급자를 수정하려면 리소스 잠금을 제거하고 변경한 다음, 잠금을 다시 배포해야 합니다. |
스토리지 계정 | 삭제 | 스토리지 계정이 삭제되지 않도록 합니다. |
다음 구성은 피해야 합니다.
중요
다음 ARM 잠금을 설정하면 작업 영역이 오작동할 수 있습니다.
리소스 | 잠금 유형 | 참고 |
---|---|---|
스토리지 계정 | 읽기 전용 | 스토리지 계정에 Read-only 리소스 잠금을 설정하면 작업 영역 만들기, Jupyter Notebook 인터페이스 및 작업 제출/가져오기가 실패할 수 있습니다. |
작업 영역의 부모 구독 또는 작업 영역이나 스토리지 계정의 부모 리소스 그룹 | 읽기 전용 | 부모 리소스에 리소스 잠금이 적용되는 경우 해당 부모에 속한 모든 리소스는 나중에 만들어진 리소스를 포함하여 동일한 잠금을 상속합니다. 보다 세밀하게 제어하려면 리소스 수준에서 직접 리소스 잠금을 적용해야 합니다. |
필수 구성 요소
ARM 리소스 잠금을 적용하려면 리소스의 소유자 또는 사용자 액세스 관리자여야 합니다. 자세한 정보는 Azure 기본 제공 역할을 참조하세요.
명령줄 배포
잠금을 배포하려면 Azure PowerShell 또는 Azure CLI가 필요합니다. Azure CLI를 사용하는 경우 최신 버전을 사용해야 합니다. 설치 지침은 다음을 참조하세요.
중요
이전에 Azure Quantum에서 Azure CLI를 사용하지 않은 경우 환경 설정 섹션의 단계에 따라 quantum
확장을 추가하고 Azure Quantum 네임스페이스를 등록합니다.
Azure에 로그인
Azure CLI 또는 Azure PowerShell 설치한 후 처음으로 로그인해야 합니다. 다음 탭 중 하나를 선택하고 해당 명령줄 명령을 실행하여 Azure에 로그인합니다.
az login
Azure 구독이 여러 개 있는 경우 잠그려는 리소스가 포함된 구독을 선택합니다.
SubscriptionName
을 구독 이름 도는 구독 ID로 바꿉니다. 예를 들면 다음과 같습니다.
az account set --subscription "Azure subscription 1"
ARM 리소스 잠금 만들기
리소스 잠금을 배포할 때 잠금 이름, 잠금 유형 및 리소스에 대한 추가 정보를 지정합니다. 이 정보는 Azure Quantum 포털의 리소스 홈페이지에서 복사하여 붙여넣을 수 있습니다.
az lock create \
--name <lock> \
--resource-group <resource-group> \
--resource <workspace> \
--lock-type CanNotDelete \
--resource-type Microsoft.Quantum/workspaces
- name: 잠금의 구체적인 이름
- resource-group: 부모 리소스 그룹의 이름
- resource: 잠금을 적용할 리소스의 이름
- lock-type: 적용할 잠금 유형(CanNotDelete 또는 ReadOnly)
- resource-type: 리소스의 유형입니다 target .
예를 들어 작업 영역에서 CanNotDelete 잠금을 만들려면 다음을 수행합니다.
az lock create \
--name ArmLockWkspDelete \
--resource-group armlocks-resgrp \
--resource armlocks-wksp \
--lock-type CanNotDelete \
--resource-type Microsoft.Quantum/workspaces
성공하면 Azure는 다음과 같이 잠금 구성을 JSON 형식으로 반환합니다.
{
"id": "/subscriptions/<ID>/resourcegroups/armlocks-resgrp/providers/Microsoft.Quantum/workspaces/armlocks-wksp/providers/Microsoft.Authorization/locks/ArmLockWkspDelete",
"level": "CanNotDelete",
"name": "ArmLockWkspDelete",
"notes": null,
"owners": null,
"resourceGroup": "armlocks-resgrp",
"type": "Microsoft.Authorization/locks"
}
작업 영역에서 ReadOnly 잠금을 만들려면 다음을 수행합니다.
az lock create \
--name ArmLockWkspRead \
--resource-group armlocks-resgrp \
--resource armlocks-wksp \
--lock-type ReadOnly \
--resource-type Microsoft.Quantum/workspaces
{
"id": "/subscriptions/<ID>/resourcegroups/armlocks-resgrp/providers/Microsoft.Quantum/workspaces/armlocks-wksp/providers/Microsoft.Authorization/locks/ArmLockWkspRead",
"level": "ReadOnly",
"name": "ArmLockWkspRead",
"notes": null,
"owners": null,
"resourceGroup": "armlocks-resgrp",
"type": "Microsoft.Authorization/locks"
}
스토리지 계정에서 CanNotDelete 잠금을 만들려면 다음을 수행합니다.
az lock create \
--name ArmLockStoreDelete \
--resource-group armlocks-resgrp \
--resource armlocksstorage \--lock-type CanNotDelete \
--resource-type Microsoft.Storage/storageAccounts
{
"id": "/subscriptions/<ID>/resourcegroups/armlocks-resgrp/providers/Microsoft.Storage/storageAccounts/armlocksstorage/providers/Microsoft.Authorization/locks/ArmLockStoreDelete",
"level": "CanNotDelete",
"name": "ArmLockStoreDelete",
"notes": null,
"owners": null,
"resourceGroup": "armlocks-resgrp",
"type": "Microsoft.Authorization/locks"
}
잠금 보기 및 삭제
잠금을 보거나 삭제하려면 다음을 수행합니다.
자세한 내용은 az 잠금 참조에서 확인할 수 있습니다.
구독의 모든 잠금 보기
az lock list
작업 영역의 모든 잠금 보기
az lock list \
--resource-group armlocks-resgrp \
--resource-name armlocks-wksp \
--resource-type Microsoft.Quantum/workspaces
리소스 그룹의 모든 리소스에 대한 모든 잠금 보기
az lock list --resource-group armlocks-resgrp
단일 잠금의 속성 보기
az lock show \
--name ArmLockStoreDelete \
--resource-group armlocks-resgrp \
--resource-name armlocksstorage \
--resource-type Microsoft.Storage/storageAccounts
잠금 삭제
az lock delete \
--name ArmLockStoreDelete \
--resource-group armlocks-resgrp \
--resource-name armlocksstorage \
--resource-type Microsoft.Storage/storageAccounts
삭제가 성공하면 Azure는 메시지를 반환하지 않습니다. 삭제를 확인하려면 az lock list
를 실행합니다.