Azure のロールベースのアクセス制御について説明する

完了

複数の IT チームとエンジニアリング チームがある場合、クラウド環境内のリソースに対するアクセスをどのようにして制御できますか。 最小特権の原則とは、タスクを完了するために必要なレベルまでのアクセス権のみを付与すべきであるというものです。 ストレージ BLOB への読み取りアクセスのみが必要な場合は、そのストレージ BLOB への読み取りアクセスのみを付与すべきです。 その BLOB への書き込みアクセスを付与すべきではなく、他のストレージ BLOB への読み取りアクセスも付与すべきではありません。 優れたセキュリティ慣行なので従うことをお勧めします。

ただし、チーム全体に対してそのレベルのアクセス許可を管理するのが面倒になります。 個人ごとに詳細なアクセス要件を定義して、新しいリソースが作成される、または新しいメンバーがチームに加わるときにアクセス要件を更新する代わりに、Azure では、Azure のロールベースアクセス制御 (Azure RBAC) を使用してアクセスを制御できます。

Azure には、クラウド リソースに対する一般的なアクセス規則が記述された組み込みのロールが用意されています。 独自のロールを定義することもできます。 各ロールには、そのロールに関連する一連のアクセス許可が関連付けられています。 個人またはグループを 1 つ以上のロールに割り当てると、関連するすべてのアクセス許可が付与されます。

そのため、新しいエンジニアを雇い、エンジニア用の Azure RBAC グループに追加すると、同じ Azure RBAC グループ内の他のエンジニアと同じアクセス権が自動的に付与されます。 同様に、リソースを追加して Azure RBAC をポイントすると、その Azure RBAC グループの全員が、既存のリソースだけでなく、新しいリソースに対するアクセス許可を持つようになります。

ロールベースのアクセス制御がリソースに適用される方法

ロールベースのアクセス制御は、このアクセスが適用されるリソースまたはリソースのセットである "スコープ" に対して適用されます。

次の図は、ロールとスコープの関係を示しています。 管理グループ、サブスクリプション、またはリソースのグループに所有者のロールを付与することで、管理と権限を強化できます。 更新を行う予定がないオブザーバーに同じスコープの閲覧者のロールを付与して、管理グループ、サブスクリプション、またはリソース グループを確認または監視できます。

A diagram showing scopes and roles. Role and scope combinations map to a specific kind of user or account, such as an observer or an admin.

スコープには以下のものが含まれます。

  • 管理グループ (複数のサブスクリプションのコレクション)。
  • 1 つのサブスクリプション。
  • リソース グループ。
  • 1 つのリソース。

オブザーバー、リソースを管理するユーザー、管理者、自動化されたプロセスは、さまざまな各ロールに一般に割り当てられるユーザーまたはアカウントの種類を示しています。

Azure RBAC は階層型的であり、親スコープでアクセス権を付与すると、それらのアクセス許可はすべての子スコープに継承されます。 次に例を示します。

  • 管理グループのスコープでユーザーに所有者ロールを割り当てると、そのユーザーは、その管理グループ内にあるすべてのサブスクリプションのすべてのものを管理できます。
  • 閲覧者ロールをサブスクリプションのスコープでグループに割り当てると、そのグループのメンバーは、そのサブスクリプション内にあるすべてのリソース グループとリソースを表示できます。

Azure RBAC が適用される方法

Azure RBAC は、Azure Resource Manager を経由する Azure リソースに対して開始されるすべてのアクションに適用されます。 Resource Manager は、クラウド リソースを整理してセキュリティ保護する手段を提供する管理サービスです。

通常、Resource Manager にアクセスするには、Azure portal、Azure Cloud Shell、Azure PowerShell、Azure CLI を使用します。 Azure RBAC では、アプリケーション レベルまたはデータ レベルではアクセス許可は適用されません。 アプリケーションのセキュリティは、アプリケーションで処理する必要があります。

Azure RBAC では、許可モデルが使用されます。 ロールが割り当てられている場合、Azure RBAC により、そのロールのスコープ内でアクションを実行できます。 1 つのロールの割り当てによってあるリソース グループへの読み取りアクセス許可が付与されていて、別のロールの割り当てによって同じリソース グループへの書き込みアクセス許可が付与されている場合、ユーザーはそのリソース グループで読み取りと書き込みの両方のアクセス許可を持つことになります。