次の方法で共有


Azure ロールを割り当てる手順

Azure ロールベースのアクセス制御 (Azure RBAC) は、Azure のリソースに対するアクセスを管理するために使用する承認システムです。 アクセス権を付与するには、特定のスコープでユーザー、グループ、サービス プリンシパル、またはマネージド ID にロールを割り当てます。 この記事では、Azure portalAzure PowerShellAzure CLI、または REST API を使用して、Azure ロールを割り当てる手順の概要について説明します。

手順 1: アクセス権が必要なユーザーを決定する

まず、アクセス権が必要なユーザーを決定する必要があります。 ロールを、ユーザー、グループ、サービス プリンシパル、またはマネージド ID に割り当てることができます。 セキュリティ プリンシパル とも呼ばれます。

ロール割り当てのセキュリティ プリンシパル

  • ユーザー: Microsoft Entra ID 内にプロファイルを持つ個人です。 他のテナント内のユーザーにロールを割り当てることもできます。 他の組織のユーザーについては、Microsoft Entra B2B をご覧ください。
  • グループ: Microsoft Entra ID 内に作成されたユーザーのセットです。 グループにロールを割り当てると、そのグループ内のすべてのユーザーがそのロールを持つようになります。
  • サービス プリンシパル - 特定の Azure リソースにアクセスするためにアプリケーションまたはサービスによって使用されるセキュリティ ID です。 アプリケーションに対する "ユーザー ID" (ユーザー名とパスワード、または証明書) と考えることができます。
  • マネージド ID: Azure によって自動的に管理される Microsoft Entra ID 内の ID です。 通常、マネージド ID は、Azure サービスに対する認証を受けるための資格情報を管理するクラウド アプリケーションを開発するときに使用します。

手順 2: 適切なロールを選択する

アクセス許可は"ロールの定義"でまとめてグループ化されます。 通常は単に "ロール" と呼ばれます。 いくつかの組み込みロールの一覧から選択できます。 組み込みロールが組織の特定のニーズを満たさない場合は、独自のカスタム ロールを作成することができます。

ロール割り当てのためのロールの定義

ロールは、職務権限ロールと特権管理者ロールに編成されます。

職務権限ロール

職務権限ロールを使用すると、特定の Azure リソースを管理できます。 たとえば、仮想マシン共同作成者ロールが割り当てられたユーザーには、仮想マシンの作成と管理が許可されます。 適切な職務権限ロールを選択するには、次の手順に従います。

  1. まず、包括的な記事である「Azure 組み込みロール」から始めます。 この記事の冒頭にある表は、記事の後の方にある詳細説明へのインデックスです。

  2. この記事で、アクセス許可を付与する対象リソースのサービス カテゴリ (コンピューティング、ストレージ、データベースなど) に移動します。 通常、探しているものを見つけるのに最も簡単な方法は、"BLOB"、"仮想マシン" などの関連キーワードをページ内で検索することです。

  3. サービス カテゴリに一覧表示されているロールを確認し、必要な特定のアクションを特定します。 繰り返しになりますが、常に、最も制限の厳しいロールから始めるようにしてください。

    たとえば、セキュリティ プリンシパルが Azure Storage アカウントの BLOB を読み取る必要がある一方で、書き込みアクセスを必要としない場合は、ストレージ BLOB データ共同作成者ではなくストレージ BLOB データ閲覧者を選択します (決して管理者レベルのストレージ BLOB データ所有者ロールを選択しないようにしてください)。 ロールの割り当ては、必要に応じて後でいつでも更新できます。

  4. 適切なロールが見つからない場合は、カスタム ロールを作成できます。

特権管理者ロール

特権管理者ロールは、Azure リソースを管理したり他のユーザーにロールを割り当てたりする機能など、特権管理者アクセスを付与するロールです。 次のロールは特権と見なされ、すべてのリソースの種類に適用されます。

Azure ロール アクセス許可
所有者
  • すべてのリソースを管理するためのフル アクセスを許可します
  • Azure RBAC でロールを割り当てる
Contributor
  • すべてのリソースを管理するためのフル アクセスを許可します
  • Azure RBAC でロールを割り当てることができない
  • Azure Blueprints で割り当てを管理したり、イメージ ギャラリーを共有したりできない
予約管理者
  • テナント内のすべての予約を管理する
  • Azure RBAC で予約のロールを割り当てる
ロール ベースのアクセスの制御の管理者
  • Azure リソースに対するユーザー アクセスを管理する
  • Azure RBAC でロールを割り当てる
  • 自分自身または他のユーザーに所有者ロールを割り当てる
  • Azure Policy などの他の方法を使ってアクセスを管理できません
User Access Administrator
  • Azure リソースに対するユーザー アクセスを管理する
  • Azure RBAC でロールを割り当てる
  • 自分自身または他のユーザーに所有者ロールを割り当てる

特権管理者ロールの割り当てを使用する場合のベスト プラクティスについては、「Azure RBAC のベスト プラクティス」を参照してください。 詳細については、「特権管理者ロール定義」を参照してください。

手順 3: 必要なスコープを特定する

"スコープ" は、アクセスが適用されるリソースのセットです。 Azure では、4 つのレベル (管理グループ、サブスクリプション、リソース グループ、リソース) でスコープを指定できます。 スコープは親子関係で構造化されています。 階層のレベルごとに、スコープがより限定的になります。 これらのスコープレベルのいずれかで、ロールを割り当てることができます。 選択するレベルで、ロールの適用範囲が決まります。 上位レベルのロールのアクセス許可が下位レベルに継承されます。

ロール割り当てのスコープ

親スコープでロールを割り当てると、それらのアクセス許可が子スコープに継承されます。 次に例を示します。

  • 管理グループ スコープでユーザーに閲覧者ロールを割り当てた場合、そのユーザーは、その管理グループに存在する全サブスクリプションの内容をすべて閲覧できます。
  • 課金データ閲覧者ロールをサブスクリプション スコープでグループに割り当てた場合、そのグループのメンバーは、サブスクリプション内のすべてのリソース グループとリソースの課金データを読み取ることができます。
  • 共同作成者ロールをリソース グループ スコープでアプリケーションに割り当てた場合、そのアプリケーションは、そのリソース グループ内のすべての種類のリソースを管理できますが、サブスクリプション内の他のリソース グループは管理できません。

セキュリティ プリンシパルには、そのジョブを実行するために必要な最小特権を付与することをお勧めします。 最初はより便利に思える場合でも、より広範なスコープのより広範なロールを割り当てることは避けてください。 ロールとスコープを制限することで、セキュリティ プリンシパルが侵害された場合にリスクにさらされるリソースを制限することができます。 詳細については、スコープの概要に関する記事を参照してください。

手順 1: 前提条件を確認する

ロールを割り当てるには、ロールを割り当てようとしているスコープで、ロールの割り当て書き込みのアクセス許可を持つロールが割り当てられているユーザー (ロールベースのアクセス制御管理者など) でサインインする必要があります。 同様に、ロールの割り当てを削除するには、ロールの割り当ての削除のアクセス許可が必要です。

  • Microsoft.Authorization/roleAssignments/write
  • Microsoft.Authorization/roleAssignments/delete

ご自分のサブスクリプション内でロールを割り当てるためのアクセス許可がご自分のユーザー アカウントにない場合は、ご自分のアカウントが "does not have authorization to perform action 'Microsoft.Authorization/roleAssignments/write' ('Microsoft.Authorization/roleAssignments/write' に対するアクションの実行を承認されていません)" というエラー メッセージが表示されます。この場合は、自分の代わりにアクセス許可を割り当てることができるサブスクリプションの管理者に連絡してください。

サービス プリンシパルを使用してロールを割り当てると、"この操作を完了するのに十分な特権がありません" というエラーが表示されることがあります。このエラーは、Azure CLI が Microsoft Entra ID で割り当て先 ID を検索しようとしている可能性が高く、サービス プリンシパルが既定で Microsoft Entra ID を読み取ることができないために発生する可能性があります。 この場合は、ディレクトリ内のデータを読み取るためのアクセス許可をサービス プリンシパルに付与する必要があります。 または、Azure CLI を使用している場合は、担当者オブジェクト ID を使用して Microsoft Entra 検索をスキップすると、ロールの割り当てを作成できます。 詳細については、「Azure RBAC のトラブルシューティング」を参照してください。

手順 5:ロールを割り当てる

セキュリティ プリンシパル、ロール、およびスコープについて理解できたら、ロールを割り当てることができます。 ロールは Azure portal、Azure PowerShell、Azure CLI、Azure SDK、または REST API を使用して割り当てることができます。

各サブスクリプションには、最大 4,000 個のロールの割り当てを保持できます。 この制限には、サブスクリプション、リソース グループ、およびリソースのスコープでのロールの割り当てが含まれます。 [資格のあるロールの割り当て] と将来にスケジュールされたロールの割り当ては、この制限の対象にはなりません。 各管理グループには、最大 500 個のロールの割り当てを保持できます。 詳細については、「Azure RBAC の制限をトラブルシューティングする」を参照してください。

ロールを割り当てる方法の詳細な手順については、次の記事をご覧ください。

次のステップ