Azure リソースのカスタム ロールCustom roles for Azure resources

重要

AssignableScopes への管理グループの追加は、現在プレビューの段階です。Adding a management group to AssignableScopes is currently in preview. このプレビュー バージョンはサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。This preview version is provided without a service level agreement, and it's not recommended for production workloads. 特定の機能はサポート対象ではなく、機能が制限されることがあります。Certain features might not be supported or might have constrained capabilities. 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Azure リソースの組み込みロールが組織の特定のニーズを満たさない場合は、独自のカスタム ロールを作成することができます。If the built-in roles for Azure resources don't meet the specific needs of your organization, you can create your own custom roles. 組み込みロールと同様に、カスタム ロールは、ユーザー、グループ、サービス プリンシパルに対して、管理グループ、サブスクリプション、およびリソース グループのスコープで割り当てることができます。Just like built-in roles, you can assign custom roles to users, groups, and service principals at management group, subscription, and resource group scopes.

カスタム ロールは、同じ Azure AD ディレクトリを信頼するサブスクリプション間で共有できます。Custom roles can be shared between subscriptions that trust the same Azure AD directory. カスタム ロールの数は、ディレクトリあたり 5,000 個という制限がありますThere is a limit of 5,000 custom roles per directory. (Azure Germany と Azure China 21Vianet の場合、制限は 2,000 カスタム ロールです)。カスタム ロールは、Azure portal (プレビュー)、Azure PowerShell、Azure CLI、または REST API を使用して作成できます。(For Azure Germany and Azure China 21Vianet, the limit is 2,000 custom roles.) Custom roles can be created using the Azure portal (Preview), Azure PowerShell, Azure CLI, or the REST API.

カスタム ロールの例Custom role example

JSON 形式で表示されるカスタム ロールの例を次に示します。The following shows what a custom role looks like as displayed in JSON format. このカスタム ロールは、仮想マシンの監視と再起動に使用できます。This custom role can be used for monitoring and restarting virtual machines.

{
  "Name": "Virtual Machine Operator",
  "Id": "88888888-8888-8888-8888-888888888888",
  "IsCustom": true,
  "Description": "Can monitor and restart virtual machines.",
  "Actions": [
    "Microsoft.Storage/*/read",
    "Microsoft.Network/*/read",
    "Microsoft.Compute/*/read",
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Authorization/*/read",
    "Microsoft.ResourceHealth/availabilityStatuses/read",
    "Microsoft.Resources/subscriptions/resourceGroups/read",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Insights/diagnosticSettings/*",
    "Microsoft.Support/*"
  ],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": [
    "/subscriptions/{subscriptionId1}",
    "/subscriptions/{subscriptionId2}",
    "/providers/Microsoft.Management/managementGroups/{groupId1}"
  ]
}

カスタム ロールを作成すると、Azure portal にオレンジ色のリソース アイコンと共に表示されます。When you create a custom role, it appears in the Azure portal with an orange resource icon.

カスタム ロールのアイコン

カスタム ロールの作成手順Steps to create a custom role

  1. カスタム ロールを作成する方法を決定するDecide how you want to create the custom role

    カスタム ロールは、Azure portal (プレビュー)、Azure PowerShellAzure CLI、または REST API を使用して作成できます。You can create custom roles using Azure portal (Preview), Azure PowerShell, Azure CLI, or the REST API.

  2. 必要なアクセス許可を決定するDetermine the permissions you need

    カスタム ロールを作成する場合、アクセス許可を定義するために使用可能なリソース プロバイダーの操作を把握しておく必要があります。When you create a custom role, you need to know the resource provider operations that are available to define your permissions. 操作の一覧を確認するには、「Azure Resource Manager のリソース プロバイダー操作」を参照してください。To view the list of operations, see the Azure Resource Manager resource provider operations. 操作をロール定義Actions または NotActions プロパティに追加します。You will add the operations to the Actions or NotActions properties of the role definition. データ操作をする場合は、それらを DataActions または NotDataActions プロパティに追加します。If you have data operations, you will add those to the DataActions or NotDataActions properties.

  3. カスタム ロールを作成するCreate the custom role

    通常は、まず、既存の組み込みロールを使用し、必要に応じてそれを変更します。Typically, you start with an existing built-in role and then modify it for your needs. 次に、New-AzRoleDefinition または az role definition create コマンドを使用して、カスタム ロールを作成します。Then you use the New-AzRoleDefinition or az role definition create commands to create the custom role. カスタム ロールを作成するには、所有者ユーザー アクセス管理者など、すべての AssignableScopes に対する Microsoft.Authorization/roleDefinitions/write アクセス許可が必要になります。To create a custom role, you must have the Microsoft.Authorization/roleDefinitions/write permission on all AssignableScopes, such as Owner or User Access Administrator.

  4. カスタム ロールをテストするTest the custom role

    カスタム ロールを作成したら、それをテストして期待どおりに動作することを確認する必要があります。Once you have your custom role, you have to test it to verify that it works as you expect. 後で調整する必要がある場合は、カスタム ロールを更新できます。If you need to make adjustments later, you can update the custom role.

カスタム ロールの作成方法に関するステップバイステップのチュートリアルが必要な場合は、「チュートリアル:Azure PowerShell を使用してカスタム ロールを作成する」か「チュートリアル:」か「チュートリアル:Azure CLI を使用してカスタム ロールを作成する」を参照してください。For a step-by-step tutorial on how to create a custom role, see Tutorial: Create a custom role using Azure PowerShell or Tutorial: Create a custom role using Azure CLI.

カスタム ロールのプロパティCustom role properties

カスタム ロールには、次のプロパティがあります。A custom role has the following properties.

プロパティProperty 必須Required TypeType 説明Description
Name はいYes StringString カスタム ロールの表示名。The display name of the custom role. ロールの定義は、管理グループまたはサブスクリプション レベルのリソースですが、同じ Azure AD ディレクトリを共有する複数のサブスクリプションで使用できます。While a role definition is a management group or subscription-level resource, a role definition can be used in multiple subscriptions that share the same Azure AD directory. この表示名は、Azure AD ディレクトリ範囲で一意である必要があります。This display name must be unique at the scope of the Azure AD directory. 英字、数字、スペース、特殊文字を含めることができます。Can include letters, numbers, spaces, and special characters. 最大文字数は 128 文字です。Maximum number of characters is 128.
Id はいYes StringString カスタム ロールの一意の ID。The unique ID of the custom role. Azure PowerShell と Azure CLI では、新しいロールを作成するときに自動的にこの ID が生成されます。For Azure PowerShell and Azure CLI, this ID is automatically generated when you create a new role.
IsCustom はいYes StringString これがカスタム ロールであるかどうかを示します。Indicates whether this is a custom role. カスタム ロールの場合は true に設定します。Set to true for custom roles.
Description はいYes StringString カスタム ロールの説明。The description of the custom role. 英字、数字、スペース、特殊文字を含めることができます。Can include letters, numbers, spaces, and special characters. 最大文字数は 1024 文字です。Maximum number of characters is 1024.
Actions はいYes String[]String[] ロールで実行できる管理操作を指定する文字列の配列。An array of strings that specifies the management operations that the role allows to be performed. 詳細については、「Actions」を参照してください。For more information, see Actions.
NotActions いいえNo String[]String[] 許可された Actions から除外される管理操作を指定する文字列の配列。An array of strings that specifies the management operations that are excluded from the allowed Actions. 詳細については、「notActions」を参照してください。For more information, see NotActions.
DataActions いいえNo String[]String[] 対象のオブジェクト内のデータに対して、ロールで実行できるデータ操作を指定する文字列の配列。An array of strings that specifies the data operations that the role allows to be performed to your data within that object. DataActions が含まれるカスタム ロールを作成する場合、そのロールは管理グループのスコープで割り当てることができません。If you create a custom role with DataActions, that role cannot be assigned at the management group scope. 詳細については、「DataActions」を参照してください。For more information, see DataActions.
NotDataActions いいえNo String[]String[] 許可された DataActions から除外されるデータ操作を指定する文字列の配列。An array of strings that specifies the data operations that are excluded from the allowed DataActions. 詳細については、「NotDataActions」を参照してください。For more information, see NotDataActions.
AssignableScopes はいYes String[]String[] 割り当てにカスタム ロールを使用できるスコープを指定する文字列の配列。An array of strings that specifies the scopes that the custom role is available for assignment. カスタム ロールの AssignableScopes に定義できる管理グループは 1 つだけです。You can only define one management group in AssignableScopes of a custom role. AssignableScopes への管理グループの追加は、現在プレビューの段階です。Adding a management group to AssignableScopes is currently in preview. 詳細については、「AssignableScopes」を参照してください。For more information, see AssignableScopes.

カスタム ロールを作成、削除、更新、または表示できるユーザーWho can create, delete, update, or view a custom role

組み込みロールと同じように、AssignableScopes プロパティでは、割り当てにロールを使用できるスコープを指定します。Just like built-in roles, the AssignableScopes property specifies the scopes that the role is available for assignment. カスタム ロールの AssignableScopes プロパティでは、カスタム ロールを作成、削除、更新、または表示できるユーザーも制御されます。The AssignableScopes property for a custom role also controls who can create, delete, update, or view the custom role.

タスクTask OperationOperation 説明Description
カスタム ロールの作成/削除Create/delete a custom role Microsoft.Authorization/ roleDefinitions/write カスタム ロールのすべての AssignableScopes に対してこの操作が許可されているユーザーは、これらのスコープで使用するカスタム ロールを作成 (または削除) できます。Users that are granted this operation on all the AssignableScopes of the custom role can create (or delete) custom roles for use in those scopes. たとえば、管理グループ、サブスクリプション、リソース グループの所有者ユーザー アクセス管理者です。For example, Owners and User Access Administrators of management groups, subscriptions, and resource groups.
カスタム ロールの更新Update a custom role Microsoft.Authorization/ roleDefinitions/write カスタム ロールのすべての AssignableScopes に対してこの操作が許可されているユーザーは、これらのスコープ内のカスタム ロールを更新できます。Users that are granted this operation on all the AssignableScopes of the custom role can update custom roles in those scopes. たとえば、管理グループ、サブスクリプション、リソース グループの所有者ユーザー アクセス管理者です。For example, Owners and User Access Administrators of management groups, subscriptions, and resource groups.
カスタム ロールの表示View a custom role Microsoft.Authorization/ roleDefinitions/read あるスコープでこの操作を許可されたユーザーは、そのスコープで割り当て可能なカスタム ロールを表示できます。Users that are granted this operation at a scope can view the custom roles that are available for assignment at that scope. すべての組み込みロールでは、カスタム ロールを割り当てることができます。All built-in roles allow custom roles to be available for assignment.

カスタム ロールの制限事項Custom role limits

次の一覧では、カスタム ロールの制限事項について説明します。The following list describes the limits for custom roles.

  • 各ディレクトリは、最大 5,000 個のカスタム ロールを持つことができますEach directory can have up to 5000 custom roles.
  • Azure Germany と Azure China 21Vianet では、各ディレクトリに対して最大 2,000 のカスタム ロールを持つことができます。Azure Germany and Azure China 21Vianet can have up to 2000 custom roles for each directory.
  • ルート スコープ ("/") には AssignableScopes を設定できません。You cannot set AssignableScopes to the root scope ("/").
  • カスタム ロールの AssignableScopes に定義できる管理グループは 1 つだけです。You can only define one management group in AssignableScopes of a custom role. AssignableScopes への管理グループの追加は、現在プレビューの段階です。Adding a management group to AssignableScopes is currently in preview.
  • DataActions が含まれるカスタム ロールを管理グループのスコープで割り当てることはできません。Custom roles with DataActions cannot be assigned at the management group scope.
  • ロールの定義の割り当て可能なスコープに管理グループが存在するかどうかは、Azure Resource Manager では確認されません。Azure Resource Manager doesn't validate the management group's existence in the role definition's assignable scope.

カスタム ロールと管理グループの詳細については、「Azure 管理グループでリソースを整理する」を参照してください。For more information about custom roles and management groups, see Organize your resources with Azure management groups.

次のステップNext steps