Azureのアクセス制限について カスタムロールとは

最終更新日:2026年8月10日

この記事でわかること

カスタムロールとは

項目 Microsoft Azure AWS Google Cloud
シェア(国内) 約30% 約35% 約15%
強み Microsoft製品連携 サービス数・実績 データ分析・AI
無料枠 12ヶ月無料 12ヶ月無料 常時無料枠あり
主な資格 AZ-900 / AZ-104 CLF / SAA ACE / PCA

Azureではリソースへのアクセス権限をロールというもので管理しています。そのロールをユーザーが独自に設定したものがカスタムロールです。
皆さんの社内でも特定のサーバーのアクセス権は限られた人物にしかできないような設定がしてあることでしょう。自分が管理するプロジェクトではファイルをプロジェクト内の人物にしか見られないようアクセス権を設定したことがあるかもしれません。そのような設定がAzureでももちろん可能です。クラウド内のリソースへのアクセス権限をAzureではロールといいます。

Azure RBAC

Azureではロールベースによるアクセス制御をRBAC(Role-Based Access Control)と呼んでいます。これによりあるユーザーに仮想マシンの管理を許可したり、別のユーザーには仮想ネットワークの管理を許可したりすることができます。

Azure RBACのしくみ

ユーザーに対しロールを割り当てることで権限を操作します。このロールの割り当ては下記3つの要素で構成されます。

セキュリティプリンシパル

Azureのロールを割り当てることができるオブジェクトです。ユーザー、グループ、サービスプリンシパル、マネージドIDの4種類です。

ロールの定義

ロールはアクセス許可の集まりです。どの操作が可能かが登録されています。

スコープ

アクセスが適用される範囲を指定します。管理グループ、サブスクリプション、リソースグループ、リソースの4つのレベルで指定ができ親子関係で構造化されています。

以上の要素を持つロールを割り当てることで権限を制御します。Azureのロール権限は加算式で複数のロールが割り当てられていた場合は合算されます。ロール権限は基本的に許可される権限が定義されていますが、許可しない拒否権限が定義されているロールを割り当てる拒否割り当てもあります。

【要注意】Azure ADはMicrosoft Entra IDに改称されています
2023年、Azure Active Directory(Azure AD)は「Microsoft Entra ID」に名称が変更されました。Azureポータルやドキュメント上の表記も順次Microsoft Entra IDに統一されているため、本記事でも以下「Microsoft Entra ID(旧Azure AD)」と表記します。なお、Azureのクラシック管理者ロールであった「共同管理者」「サービス管理者」は2024年8月31日に廃止・サポート終了しており、現在はAzure RBACのロール(所有者・共同作成者・閲覧者等)による権限管理に一本化されています。

組み込みロールとカスタムロール

ロールには許可権限セットがあらかじめ用意されている組み込みロールと、独自にロールを作成するカスタムロールの2種類があります。組み込みロールは相当数用意されていますがニーズを満たさない場合はカスタムロールを作成する必要があります。

カスタムロールの作成方法

カスタムロールはMicrosoft Entra ID(旧Azure AD)ディレクトリを共有する複数のサブスクリプションで共有できます。ディレクトリあたり5000個という制限があります。カスタムロールはロールのプロパティを編集して作成します。Azure PowerShellでカスタムロールを編集する場合は下記のJSON形式のデータを編集します。

{
  "Name": "",
  "Description": "",
  "Actions": [],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": []
}

Azure portal、Azure CLI、または REST API で編集する場合はプロパティの名前が異なります。

{
  "Name": "",
  "Id": "",
  "Description": "",
  "Actions": [],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": []
}

以下がロールのプロパティの内容です。

ロールのプロパティ

プロパティ 説明
Name
roleName
ロールの表示名です。Microsoft Entra ID(旧Azure AD)ディレクトリ範囲で一意である必要があります。
Id
name
ロールを識別する一意のIDです。
IsCustom
roleType
カスタムロールの場合はtrueあるいはCustomRole、そうでない場合はfalseあるいはBuiltInRoleです。
Description
description
ロールの説明欄です。最大文字数は1024文字です。
Actions
actions
ロールで実行できる管理操作を示す文字列配列です。
NotActions
notActions
Actionsから除外する管理操作を指定する文字列配列です。
DataActions
dataActions
対象のオブジェクト内のデータに対して操作を指定する文字列配列です。
NotDataActions
notDataActions
DataActionsから除外するデータ操作を指定する文字列配列です。
AssignableScopes
assignableScopes
このロール定義を使用できるスコープを指定します。

ActionやDataActionsで定義される操作形式の文法は下記です。

{Company}.{ProviderName}/{resourceType}/{action}

例"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read"

この{action}部分には下記の操作種類を指定することで操作を制御します。

アクションの部分文字列 説明
* すべての操作に対するアクセスを許可します。
read 読み取り操作(Get)を有効にします。
write 書き込み操作(PUTまたはPATCH)を有効にします。
action 仮想マシンの再起動(POST)などのカスタム操作を有効にします。
delete 削除操作(DELETE)を有効にします。

カスタムロールの作成手順

Azure Portal,Azure PowerShell,Azure CLIまたはREST APIを使用して作成できます。必要なアクセス許可の操作を確認し、ActionやDataActionsに追加します。通常は組み込みロールを土台に変更する場合が多いです。その後、実際の意図通りの動作をするかを確認し必要に応じ更新します。

押さえておきたいポイント

  • Azure RBACはユーザー・グループ・サービスプリンシパル・マネージドIDに対して、管理グループ/サブスクリプション/リソースグループ/リソースの4段階のスコープでロールを割り当てる仕組みです。
  • 組み込みロールで要件を満たせない場合のみカスタムロールを作成し、Actions・NotActions・DataActions・NotDataActions・AssignableScopesのプロパティで権限範囲を細かく定義します。
  • ロール権限は加算式(複数ロール割り当て時は合算)である一方、拒否割り当てで明示的にアクセスを禁止することも可能なため、意図しない権限の重複がないか定期的な棚卸しが重要です。

よくある質問

カスタムロールを作成できる上限数はありますか?

はい、1つのMicrosoft Entra ID(旧Azure AD)ディレクトリあたり最大5000個までカスタムロールを作成できます。同一ディレクトリを共有する複数のサブスクリプションでこれらのカスタムロールを共有できます。

組み込みロールとカスタムロールはどちらを優先して使うべきですか?

まずは所有者・共同作成者・閲覧者などの組み込みロールで要件を満たせないか検討するのが基本です。組み込みロールは種類が豊富で管理の手間も少ないため、細かい権限制御がどうしても必要な場合にのみカスタムロールを作成することが推奨されます。

カスタムロールはどのツールから作成・編集できますか?

Azure Portal、Azure PowerShell、Azure CLI、REST APIのいずれからでも作成・編集が可能です。Azure PowerShellではJSON形式のプロパティ(Name、Description、Actions等)を編集し、Azure Portal・Azure CLI・REST APIでは一部プロパティ名(Id、roleName等)が異なる点に注意してください。

最後に

カスタムロールとその作成方法についてご紹介しました。安全なインフラ運用には権限制御は欠かせません。ロールについての理解を深め運用していきましょう。

▼ アクロビジョンについて

👔

一緒に働きましょう

一人ひとりのキャリアに向き合い、
活躍できる現場をご紹介します。

採用サイトを見る →
💻

システム開発のご依頼・ご相談

コンサルティングから運用保守まで、
ワンストップで対応します。

まずはお気軽にご相談ください →