マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

管理や課金という観点から、RBAC 機能は、さまざまなシナリオで
時間効率と管理効率に優れた方法であることが証明されている。

  • 管理者アカウント (サブスクリプション レベルでのサービス管理者ロール) によって
    • 管理される 1 つの Azure サブスクリプションの所有者を柔軟に設定できる。
    • 管理者権限を付与することなく、複数のユーザを同じサブスクリプションでの業務に招待できる。
  • 管理・課金に関連するスコープへのアクセスが必ずしも必要ではない
    • 外部のコラボレーター、ベンダー、フリーランサーと
    • 連携している大企業や SMB 向けの、

セキュリティ管理を実現できる。

前提

機能

  • スコープに対する特定アクションにアクセスできるユーザをロールベースのアクセス制御 (RBAC : Role Based Access Control)で制御できる。
  • アクセス権を付与するには、ユーザ、グループ、およびアプリケーションに適切な ロールを、特定のスコープに割り当てる。
  • アクセス権は、Azure ポータル、Azure コマンドライン ツール、および Azure 管理 API を使用して割り当てる。
  • Azure ポータルで RBAC を設定する場合、Access Control ( IAM : Identity and Access Management ) から行う。

アクセス権の割当

  • サブスクリプションの所有者はAzure Portalなどを使用して、
    他のユーザに詳細なロールを割り当てることができる。
  • そのユーザは環境内の特定スコープのリソースを管理できるようになる。

関連

ロールは、以下のように(ユーザ <---> グループ)とスコープを関連付ける。

(ユーザ <---> グループ) <---> ロール <---> スコープ

継承

スコープは、以下のようにRBACを継承する。

サブスクリプション <--- リソース・グループ <--- リソース

スコープ

ロールに割り当てるスコープ

指定できるスコープ

  • サブスクリプション
  • リソース グループ
  • または単独のリソース

アクセス権の継承

割り当てられたアクセス権は、下位スコープに継承される。

  • 親スコープでロールが割り当てられると、その親に含まれる子へのアクセス権も付与される。
  • 例えば、リソース グループへのアクセス権を持つユーザは、
    Web サイト、仮想マシン、サブネットなど、
    リソース グループに含まれるすべてのリソースを管理できる。

ロール

ロールの定義

  • Actions、NotActions?を定義して、AssignableScopes?スコープに割り当てる。
  • アクセス権は、Actions の操作から NotActions? の操作を差し引くことで算出される。

ロール定義

アクセス許可セットを記述

ロール割り当て

特定のスコープのIDに定義を関連付ける。

ロールの種類

ロールの種類には、

がある。

組み込みロール

ユーザ、グループ、サービスに割り当てられる組み込みのロールが用意されている。

  • 4つのプラットフォーム ロール
    • 所有者
      アクセス権を含めすべてを管理できる。
    • 共同作業者
      アクセス権以外のすべてを管理できる。
    • 閲覧者
      すべてを閲覧できるが、変更はできない。
    • ユーザ アクセス管理者
      Azure リソースへのユーザ アクセスを管理できます。
  • リソース固有ロール
  • 仮想マシンの共同作業者
    • 仮想マシンを管理できるが、
    • 仮想マシンのアクセス許可は設定できない。
    • 接続先の仮想ネットワークまたはストレージ アカウントの管理はできない。
  • ネットワークの共同作業者
    • すべてのネットワーク リソースを管理できるが、
    • ネットワーク リソースのアクセス許可は設定できない。
  • ストレージ アカウントの共同作業者
    • ストレージ アカウントを管理できるが、
    • ストレージ アカウントのアクセス許可は設定できない。
  • SQL Server の共同作業者
    • SQL サーバーおよびデータベースを管理できるが、
    • そのセキュリティ関連ポリシーは設定できない。
  • Web サイトの共同作業者
    • Web サイトを管理できるが、
    • 接続されている Web プランは設定できない。

カスタム ロール

組み込みのロールの中にアクセス権に関する特定の要件を満たすものがない場合、
Azure のロールベースのアクセス制御 (RBAC) でカスタム ロールを作成する。

参考

設定例

組み込みロール

管理者権限を付与する。

  • プラットフォーム ロールを使用する。
  • リソース固有ロールを使用する。

作業者に権限を付与する。

  • プラットフォーム ロールを使用する。
  • リソース固有ロールを使用する。

カスタム・ロール

管理者権限を付与する。

作業者に権限を付与する。

  • DevTest? Labs User」組込ロールを更に絞った、
    「仮想マシンの起動と停止」カスタム・ロールを作成。
  • Azure Cloud Shellなどを使用して以下を実行。
    • SubsctionId? を確認
      Get-AzureRmSubscription
    • カスタム・ロールを作成
      $role = Get-AzureRmRoleDefinition "Virtual Machine Contributor"
      
      $role.Id = $Null
      $role.Name = "仮想マシンの起動と停止"
      $role.Description = "仮想マシンの起動と停止、再起動ができます"
      
      $role.Actions.Clear()
      $role.Actions.Add("Microsoft.Compute/VirtualMachines/start/action")
      $role.Actions.Add("Microsoft.Compute/VirtualMachines/restart/action")
      $role.Actions.Add("Microsoft.Compute/VirtualMachines/read")
      $role.Actions.Add("Microsoft.Compute/virtualMachines//read")
      $role.Actions.Add("Microsoft.Compute/VirtualMachines/deallocate/action")
      
      $role.AssignableScopes.Clear()
      $role.AssignableScopes.Add("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") <--- Get-AzureRmSubscription で取得した SubsctionId を指定。
      
      New-AzureRmRoleDefinition -Role $role

参考

RBAC を使用したアクセスとアクセス許可

ロールの定義

ロールの種類

アクセス権(ロール)の割当


Tags: :インフラストラクチャ, :クラウド, :Azure


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-02-15 (木) 18:16:06 (666d)