次の方法で共有


Set-AzureRmRoleDefinition

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

警告

AzureRM PowerShell モジュールは、2024 年 2 月 29 日に正式に非推奨になりました。 引き続きサポートを受け、更新を受け取れるようにするために、AzureRM から Az PowerShell モジュールに移行することをお勧めします。

AzureRM モジュールの機能は今後も使用できますが、メンテナンスやサポートは行われないため、引き続きの使用はユーザーの判断に委ねられ、リスクが発生することがあります。 Az モジュールへの移行に関するガイダンスについては、移行リソースを参照してください。

構文

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

説明

Set-AzureRmRoleDefinition コマンドレットは、Azure ロールベースのアクセス制御の既存のカスタム ロールを更新します。 更新されたロール定義を、コマンドへの入力として JSON ファイルまたは PSRoleDefinition オブジェクトとして指定します。 更新されたカスタム ロールのロール定義には、更新されていない場合でも、ID とその他のすべての必須プロパティ (DisplayName、Description、Actions、AssignableScopes) が含まれている必要があります。 NotActions、DataActions、NotDataActions は省略可能です。 Set-AzureRmRoleDefinition { "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-xxxxxx"] }

PSRoleDefinitionObject を使用して更新する

PS C:\> $roleDef = Get-AzureRmRoleDefinition "Contoso On-Call"
          PS C:\> $roleDef.Actions.Add("Microsoft.ClassicCompute/virtualmachines/start/action")
          PS C:\> $roleDef.Description = "Can monitor all resources and start and restart virtual machines"
          PS C:\> $roleDef.AssignableScopes = @("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

          PS C:\> Set-AzureRmRoleDefinition -Role $roleDef

JSON ファイルを使用して作成する

PS C:\> Set-AzureRmRoleDefinition -InputFile C:\Temp\roleDefinition.json

パラメーター

-DefaultProfile

Azure との通信に使用される資格情報、アカウント、テナント、サブスクリプション

型:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-InputFile

更新する 1 つの json ロール定義を含むファイル名。 JSON で更新されるプロパティのみを含めます。 Id プロパティは必須です。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Role

更新するロール定義オブジェクト

型:PSRoleDefinition
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

入力

PSRoleDefinition

パラメーター: Role (ByValue)

出力

PSRoleDefinition

メモ

キーワード: azure, azurerm, arm, リソース, 管理, マネージャー, リソース, グループ, テンプレート, デプロイ