다음을 통해 공유


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 역할 기반 액세스 제어에서 기존 사용자 지정 역할을 업데이트합니다. 업데이트된 역할 정의를 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와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독

매개 변수 속성

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