Set-AzRoleDefinition

Azure RBAC のカスタム ロールを変更します。 変更されたロール定義を JSON ファイルまたは PSRoleDefinition として指定します。 最初に、Get-AzRoleDefinition コマンドを使用して、変更するカスタム ロールを取得します。 次に、変更するプロパティを変更します。 最後に、このコマンドを使用してロール定義を保存します。

構文

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

説明

Set-AzRoleDefinition コマンドレットは、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

更新する 1 つの 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, リソース, 管理, マネージャー, リソース, グループ, テンプレート, デプロイ