Set-AzRoleDefinition

Azure RBAC에서 사용자 지정 역할을 수정합니다. 수정된 역할 정의를 JSON 파일 또는 PSRoleDefinition으로 제공합니다. 먼저 Get-AzRoleDefinition 명령을 사용하여 수정하려는 사용자 지정 역할을 검색합니다. 그런 다음 변경하려는 속성을 수정합니다. 마지막으로 이 명령을 사용하여 역할 정의를 저장합니다.

Syntax

Set-AzRoleDefinition
   -InputFile <String>
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzRoleDefinition
   -Role <PSRoleDefinition>
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

Set-AzRoleDefinition cmdlet은 Azure 역할 기반 액세스 제어에서 기존 사용자 지정 역할을 업데이트합니다. 업데이트된 역할 정의를 JSON 파일 또는 PSRoleDefinition 개체로 명령에 대한 입력으로 제공합니다. 업데이트된 사용자 지정 역할에 대한 역할 정의는 업데이트되지 않은 경우에도 ID 및 역할의 다른 모든 필수 속성(DisplayName, Description, Actions, AssignableScopes)을 포함해야 합니다. NotActions, DataActions, NotDataActions는 선택 사항입니다.

예제

예제 1: PSRoleDefinitionObject를 사용하여 업데이트

$roleDef = Get-AzRoleDefinition "Contoso On-Call"
$roleDef.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
<#
Following is a sample updated role definition json for Set-AzRoleDefinition:
{
        "Id": "52a6cc13-ff92-47a8-a39b-2a8205c3087e",
        "Name": "Updated Role",
        "Description": "Can monitor all resources and start and restart virtual machines",
        "Actions":
        [
            "*/read",
            "Microsoft.ClassicCompute/virtualmachines/restart/action",
            "Microsoft.ClassicCompute/virtualmachines/start/action"
        ],
        "NotActions":
        [
            "*/write"
        ],
        "DataActions":
        [
            "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read"
        ],
        "NotDataActions":
        [
            "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write"
        ],
        "AssignableScopes": ["/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]
}
#>

매개 변수

-DefaultProfile

Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputFile

업데이트할 단일 json 역할 정의를 포함하는 파일 이름입니다. JSON에서 업데이트할 속성만 포함합니다. Id 속성이 필수입니다.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Role

업데이트할 역할 정의 개체

Type:PSRoleDefinition
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SkipClientSideScopeValidation

지정된 경우 클라이언트 쪽 범위 유효성 검사를 건너뜁니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

PSRoleDefinition

출력

PSRoleDefinition

참고

키워드: azure, azurerm, arm, 리소스, 관리, 관리자, 리소스, 그룹, 템플릿, 배포