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, 리소스, 관리, 관리자, 리소스, 그룹, 템플릿, 배포