Set-AzRoleDefinition
Azure RBAC에서 사용자 지정 역할을 수정합니다. 수정된 역할 정의를 JSON 파일 또는 PSRoleDefinition으로 제공합니다. 먼저 Get-AzRoleDefinition 명령을 사용하여 수정하려는 사용자 지정 역할을 검색합니다. 그런 다음 변경하려는 속성을 수정합니다. 마지막으로 이 명령을 사용하여 역할 정의를 저장합니다.
구문
InputFileParameterSet
Set-AzRoleDefinition
-InputFile <String>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
RoleDefinitionParameterSet
Set-AzRoleDefinition
-Role <PSRoleDefinition>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
Set-AzRoleDefinition cmdlet은 Azure Role-Based Access Control 기존 사용자 지정 역할을 업데이트합니다. 업데이트된 역할 정의를 JSON 파일 또는 PSRoleDefinition 개체로 명령에 대한 입력으로 제공합니다.
업데이트된 사용자 지정 역할에 대한 역할 정의에는 다음이 포함되어야 합니다.
- ID: 업데이트할 역할 정의의 고유 식별자
- 이름: 사용자 지정 역할의 이름
- 설명: 역할에 대한 간단한 설명
- 사용 권한: Actions 및/또는 DataActions를 포함하는 사용 권한 개체의 배열
- AssignableScopes: 역할을 할당할 수 있는 범위
Permissions 배열의 각 권한 개체에는 Actions, NotActions, DataActions, NotDataActions 및 선택적으로 ABAC(Attribute-Based Access Control용 Condition 및 ConditionVersion) 조건이 포함될 수 있습니다.
Important
JSON의 PSRoleDefinition-InputFile 모양과 모양이 변경되었습니다. 이제 (PSRoleDefinition) 및 -InputFile (JSON) 모두 -Role 평면화된 최상위 수준Actions, DataActionsNotActions속성 및 NotDataActions 속성 대신 사용 권한 개체의 배열을 사용합니다Permissions. 파이프 Get-AzRoleDefinition 되는 Set-AzRoleDefinition -Role 스크립트는 역할 개체에서 직접 실행하지 않고 작업 및 조건을 $role.Permissions[n] 읽고 수정해야 합니다. 함께 -InputFile 사용되는 JSON 파일도 마찬가지로 배열 아래에 Permissions 권한을 중첩해야 합니다.
메모
Azure RBAC API는 현재 사용자 지정 역할을 업데이트할 때 Permissions 배열에서 단일 요소만 지원합니다. 데이터 모델은 여러 권한 항목을 지원하지만 업데이트 작업은 정확히 하나의 권한 개체를 사용해야 합니다.
예제
예제 1: PSRoleDefinitionObject를 사용하여 업데이트
$roleDef = Get-AzRoleDefinition "Contoso On-Call"
$roleDef.Permissions[0].Actions.Add("Microsoft.ClassicCompute/virtualmachines/start/action")
$roleDef.Description = "Can monitor all resources and start and restart virtual machines"
$roleDef.AssignableScopes = @("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
Set-AzRoleDefinition -Role $roleDef
예제 2: JSON 파일을 사용하여 업데이트
Set-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json
JSON 파일에서 사용자 지정 역할 정의를 업데이트합니다. JSON 파일에는 역할의 ID 속성이 포함되어야 합니다.
매개 변수
-DefaultProfile
Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독
매개 변수 속성
| 형식: | IAzureContextContainer |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | AzContext, AzureRmContext, AzureCredential |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-InputFile
업데이트할 단일 json 역할 정의를 포함하는 파일 이름입니다. JSON에서 업데이트할 속성만 포함합니다. Id 속성이 필수입니다.
매개 변수 속성
| 형식: | String |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
InputFileParameterSet
| Position: | Named |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Role
업데이트할 역할 정의 개체
매개 변수 속성
| 형식: | PSRoleDefinition |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
RoleDefinitionParameterSet
| Position: | Named |
| 필수: | True |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-SkipClientSideScopeValidation
지정된 경우 클라이언트 쪽 범위 유효성 검사를 건너뜁니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
PSRoleDefinition
출력
PSRoleDefinition
참고
키워드: azure, azurerm, arm, 리소스, 관리, 관리자, 리소스, 그룹, 템플릿, 배포