Azure CLI를 사용하여 Azure 역할 할당 조건 추가 또는 편집
Azure 역할 할당 조건은 더 세분화된 액세스 제어를 제공하기 위해 선택적으로 역할 할당에 추가할 수 있는 추가 검사입니다. 예를 들어 개체를 읽을 특정 태그를 포함하는 개체를 필요로 하는 조건을 추가할 수 있습니다. 이 문서에서는 Azure CLI를 사용하여 역할 할당에 대한 조건을 추가, 편집, 나열 또는 삭제하는 방법을 설명합니다.
필수 조건
역할 할당 조건을 추가하거나 편집하기 위한 사전 요구 사항은 조건 및 사전 요구 사항을 참조하세요.
조건 추가
역할 할당 조건을 추가하려면 az role assignment create를 사용합니다. az role assignment create 명령에는 조건과 관련된 다음 매개 변수가 포함됩니다.
매개 변수 | 형식 | Description |
---|---|---|
condition |
문자열 | 사용자에게 사용 권한을 부여할 수 있는 조건입니다. |
condition-version |
문자열 | 조건 구문의 버전입니다. --condition-version 없이 --condition 을 지정하면 버전이 기본값인 2.0으로 설정됩니다. |
다음 예제에서는 조건을 사용하여 스토리지 Blob 데이터 읽기 권한자 역할을 할당하는 방법을 보여줍니다. 조건은 컨테이너 이름이 'blobs-example-container'와 같은지 여부를 확인합니다.
az role assignment create --role "Storage Blob Data Reader" --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName --assignee "user1@contoso.com" \
--description "Read access if container name equals blobs-example-container" \
--condition "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container'))" \
--condition-version "2.0"
다음은 출력 예제입니다.
{
"canDelegate": null,
"condition": "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container'))",
"conditionVersion": "2.0",
"description": "Read access if container name equals blobs-example-container",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
"name": "{roleAssignmentId}",
"principalId": "{userObjectId}",
"principalType": "User",
"resourceGroup": "{resourceGroup}",
"roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
"scope": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}",
"type": "Microsoft.Authorization/roleAssignments"
}
조건 편집
기존 역할 할당 조건을 편집하려면 az role assignment update 및 JSON 파일을 입력으로 사용합니다. 다음은 조건 및 설명이 업데이트되는 예제 JSON 파일을 보여 줍니다. condition
, conditionVersion
및 description
속성만 편집할 수 있습니다. 역할 할당 조건을 업데이트하려면 모든 속성을 지정해야 합니다.
{
"canDelegate": null,
"condition": "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container' OR @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container2'))",
"conditionVersion": "2.0",
"description": "Read access if container name equals blobs-example-container or blobs-example-container2",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
"name": "{roleAssignmentId}",
"principalId": "{userObjectId}",
"principalType": "User",
"resourceGroup": "{resourceGroup}",
"roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
"scope": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}",
"type": "Microsoft.Authorization/roleAssignments"
}
az role assignment update를 사용하여 역할 할당에 대한 조건을 업데이트합니다.
az role assignment update --role-assignment "./path/roleassignment.json"
다음은 출력 예제입니다.
{
"canDelegate": null,
"condition": "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container' OR @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container2'))",
"conditionVersion": "2.0",
"description": "Read access if container name equals blobs-example-container or blobs-example-container2",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
"name": "{roleAssignmentId}",
"principalId": "{userObjectId}",
"principalType": "User",
"resourceGroup": "{resourceGroup}",
"roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
"scope": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}",
"type": "Microsoft.Authorization/roleAssignments"
}
조건 나열
역할 할당 조건을 나열하려면 az role assignment list를 사용합니다. 자세한 내용은 Azure CLI를 사용하여 Azure 역할 할당 나열을 참조하세요.
조건 삭제
역할 할당 조건을 삭제하려면 역할 할당 조건을 편집하고 condition
및 condition-version
속성을 빈 문자열(""
) 또는 null
로 설정합니다.
또는 역할 할당과 조건을 모두 삭제하려는 경우 az role assignment delete 명령을 사용할 수 있습니다. 자세한 내용은 Azure 역할 할당 제거를 참조하세요.