자습서: Azure CLI를 사용하여 Azure 사용자 지정 역할 만들기
Azure 기본 제공 역할이 조직의 특정 요구 사항을 충족하지 않는 경우 사용자 지정 역할을 만들면 됩니다. 이 자습서에서는 Azure CLI를 사용하여 Reader 지원 티켓이라는 사용자 지정 역할을 만듭니다. 사용자는 사용자 지정 역할을 통해 구독의 컨트롤 플레인에서 모든 것을 살펴보고 지원 티켓을 열 수도 있습니다.
이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.
- 사용자 지정 역할 만들기
- 사용자 지정 역할 나열
- 사용자 지정 역할 업데이트
- 사용자 지정 역할 삭제
Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
필수 조건
이 자습서를 완료하려면 다음 항목이 필요합니다.
- 사용자 액세스 관리자와 같은 사용자 지정 역할을 만들 수 있는 권한
- Azure Cloud Shell 또는 Azure CLI
Azure CLI에 로그인
Azure CLI에 로그인합니다.
사용자 지정 역할 만들기
사용자 지정 역할을 만드는 가장 쉬운 방법은 JSON 템플릿으로 시작하여 변경 내용을 추가한 다음, 새 역할을 만드는 것입니다.
Microsoft.Support 리소스 공급자에 대한 작업 목록을 검토합니다. 권한을 만드는 데 사용할 수 있는 작업을 파악하는 데 도움이 됩니다.
작업 설명 Microsoft.Support/register/action 지원 리소스 공급자에 등록합니다. Microsoft.Support/supportTickets/read 상태, 심각도, 연락처 세부 정보, 통신 등 지원 티켓 세부 정보를 얻거나 구독의 지원 티켓 목록을 얻습니다. Microsoft.Support/supportTickets/write 지원 티켓을 만들거나 업데이트합니다. 기술, 청구, 할당량 또는 구독 관리 관련 문제에 대한 지원 티켓을 만들 수 있습니다. 기존 지원 티켓의 심각도, 연락처 세부 정보 및 통신을 업데이트할 수 있습니다. ReaderSupportRole.json이라는 새 파일을 만듭니다.
편집기에서 ReaderSupportRole.json 파일을 열고 다음 JSON을 추가합니다.
여러 속성에 대한 내용은 Azure 사용자 지정 역할을 참조하세요.
{ "Name": "", "IsCustom": true, "Description": "", "Actions": [], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/{subscriptionId1}" ] }
Actions
속성에 다음 작업을 추가합니다. 이러한 작업을 통해 사용자는 구독의 모든 것을 살펴보고 지원 티켓을 만들 수 있습니다."*/read", "Microsoft.Support/*"
az account list 명령을 사용하여 구독 ID를 가져옵니다.
az account list --output table
AssignableScopes
에서{subscriptionId1}
을 자신의 구독 ID로 바꿉니다.명시적 구독 ID를 추가해야 합니다. 그렇지 않으면 역할을 구독으로 가져올 수 없습니다.
Name
및Description
속성을 "Reader 지원 티켓" 및 "구독의 모든 것을 살펴보고 지원 티켓 열기"로 변경합니다.JSON 파일은 다음과 비슷합니다.
{ "Name": "Reader Support Tickets", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }
새로운 사용자 지정 역할을 만들려면 az role definition create 명령을 사용하여 JSON 역할 정의 파일을 지정합니다.
az role definition create --role-definition "~/CustomRoles/ReaderSupportRole.json"
{ "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" }
이제 새로운 사용자 지정 역할을 사용할 수 있으며 기본 제공 역할과 마찬가지로 사용자, 그룹 또는 서비스 사용자에게 할당할 수 있습니다.
사용자 지정 역할 나열
모든 사용자 지정 역할을 나열하려면 az role definition list 명령과
--custom-role-only
매개 변수를 사용합니다.az role definition list --custom-role-only true
[ { "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*", "Microsoft.Insights/diagnosticSettings/*/read" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" } ]
Azure Portal에서도 사용자 지정 역할을 볼 수 있습니다.
사용자 지정 역할 업데이트
사용자 지정 역할을 업데이트하려면 JSON 파일을 업데이트한 다음, 사용자 지정 역할을 업데이트합니다.
ReaderSupportRole.json 파일을 엽니다.
Actions
에 리소스 그룹 배포"Microsoft.Resources/deployments/*"
을(를) 만들고 관리하는 작업을 추가합니다. 이전 작업 뒤에 쉼표를 추가해야 합니다.업데이트된 JSON 파일은 다음과 비슷합니다.
{ "Name": "Reader Support Tickets", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }
사용자 지정 역할을 업데이트하려면 az role definition update 명령을 사용하여 업데이트된 JSON 파일을 지정합니다.
az role definition update --role-definition "~/CustomRoles/ReaderSupportRole.json"
{ "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" }
사용자 지정 역할 삭제
az role definition delete 명령을 사용하여 사용자 지정 역할을 삭제할 역할 이름 또는 역할 ID를 지정합니다.
az role definition delete --name "Reader Support Tickets"