Role Based Access Control (RBAC)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>Azure]]
--[[Azureのアクセス制御と権限]]
--[[Azure Resource Manager (ARM)]]
* 目次 [#ga39c47d]
#contents
*概要 [#g05b61f4]
-アクセス権は、
--Azure ポータル、
--Azure コマンドライン ツール、
--および Azure 管理 API
>を使用して割り当てる。
-Azure ポータルで RBAC を設定する場合、~
Access Control(IAM : Identity and Access Management)か...
-[[スコープ>#ae75b754]]に対する特定アクションにアクセスで...
ロールベースのアクセス制御 (RBAC : Role Based Access Cont...
-アクセス権を付与するには、
--ユーザ、グループ、[[サービス>#i74de7a8]]に[[ロール>#ea4...
--それを、特定の[[スコープ>#ae75b754]]に[[関連付け>#z2c99...
*ロール [#ea4f95c8]
**ロールの定義 [#e76e3def]
アクセス権は、
-[[操作(主)>#n783488c]]
-[[データ操作(副)>#m4f4d382]]
のアクセス許可セット的なもの。
***操作(主) [#n783488c]
-Actions、NotActionsを定義して、AssignableScopesの[[スコ...
-操作のアクセス権は、Actionsの操作からNotActionsの操作を...
***データ操作(副) [#m4f4d382]
-DataActions、NotDataActionsを定義して、AssignableScopes...
-データ操作のアクセス権は、DataActionsの操作からNotDataAc...
※ ただし、対応リソースが少ない(通常データ・ストアに依存...
***定義の例 [#y22a4be5]
{
"Name": "Storage Blob Data Reader (Preview)",
"Id": "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
"IsCustom": false,
"Description": "Allows for read access to Azure Stora...
"Actions": [
"Microsoft.Storage/storageAccounts/blobServices/cont...
],
"NotActions": [],
"DataActions": [
"Microsoft.Storage/storageAccounts/blobServices/cont...
],
"NotDataActions": [],
"AssignableScopes": [
"/"
]
}
**ロールの種類 [#p2c79aeb]
ロールの種類には、
-[[組み込みロール>#j27599ed]]
-[[カスタム・ロール>#gc65de81]]
がある。
***組み込みロール [#j27599ed]
ユーザ、グループ、[[サービス>#i74de7a8]]に[[割り当て>#n91...
ただし、説明文は的確ではない表現も多いため、必ず中身をし...
-4つのプラットフォーム ロール
--所有者(Owner)~
「アクセス権の割当」を含め、全てを管理できる。
--共同作業者(Contributor)~
「アクセス権の割当」以外の、全てを管理できる。
--閲覧者(Reader)~
すべてを閲覧できるが、変更はできない。
--ユーザ・アクセス管理者(User Access Administrator)~
Azure リソースへのユーザ アクセスを管理できる。
-リソース固有ロール
--ネットワークの共同作業者~
他の「リソース固有ロール」に含まれない~
ネットワーク系の設定変更が可能となっている。
---すべてのネットワーク リソースを管理できるが、
---ネットワーク リソースのアクセス許可は設定できない。
--仮想マシンの共同作業者~
(Virtual Machine Contributor)
---仮想マシンを管理できるが、
---仮想マシンのアクセス許可は設定できない。
---接続先の[[仮想ネットワーク>Azureの仮想ネットワーク]]ま...
--[[ストレージ・アカウント>Azureのストレージ#t36c3007]]の...
---[[ストレージ・アカウント>Azureのストレージ#t36c3007]]...
---[[ストレージ・アカウント>Azureのストレージ#t36c3007]]...
--SQL Server の共同作業者~
(SQL Server Contributor)
---SQL サーバーおよびデータベースを管理できるが、
---そのセキュリティ関連ポリシーは設定できない。
--Web サイトの共同作業者~
(Web Site Contributor)
---Web サイトを管理できるが、
---接続されている Web プランは設定できない。
--, etc. (全部で70種類程ある)
***カスタム・ロール [#gc65de81]
組み込みのロールの中にアクセス権に関する特定の要件を満た...
Azure のロールベースのアクセス制御 (RBAC) で[[カスタム・...
-ただし、極力、カスタム・ロールは作らないようにする。
-スコープをリソース・グループやリソース単位に絞って、~
共同作業者(Contributor)ロールを設定することで対応可能。
***参考 [#o740dd43]
-Microsoft Azure サポート チーム サイト
--Microsoft Azure の各種アカウント権限について~
https://blogs.msdn.microsoft.com/dsazurejp/2013/10/02/303/
--アカウント管理者・サービス管理者・共同管理者の変更方法...
https://blogs.msdn.microsoft.com/dsazurejp/2013/10/02/293/
-Azure サブスクリプション管理者を追加または変更する~
https://docs.microsoft.com/ja-jp/azure/cost-management-bi...
*スコープ [#ae75b754]
[[ロール>#ea4f95c8]]に[[関連付け>#z2c99ad1]]るスコープ
**指定できるスコープ [#i040f172]
-サブスクリプション
-リソース・グループ
-または単独のリソース
**アクセス権の継承 [#q8598e80]
各[[スコープ>#ae75b754]]は、以下のようにRBACを継承する。
>サブスクリプション <--- [[リソース・グループ>Azure Subsc...
-親スコープで[[ロール>#ea4f95c8]]が[[関連付け>#z2c99ad1]]...
その親に含まれる子へのアクセス権も付与される。
-例えば、リソース・グループへのアクセス権を持つユーザは、~
Web サイト、仮想マシン、サブネットなど、~
リソース・グループに含まれるすべてのリソースを管理できる。
*アクセス権の割当 [#k1ba75af]
サブスクリプションの所有者は~
-他のユーザ・グループに詳細な[[ロール>#ea4f95c8]]を[[割り...
-上記を[[スコープ>#ae75b754]]に[[関連付け>#z2c99ad1]]
ると、当該リソースを管理できるようになる。
**割り当て [#n913d126]
管理機能を使用して、以下のように
>[[ロール>#ea4f95c8]] <--->(ユーザ <---> グループ)
ユーザ・グループに詳細な[[ロール>#ea4f95c8]]を割り当てる。
**関連付け [#z2c99ad1]
管理機能を使用して、以下のように
>[[ロール>#ea4f95c8]] <--->(ユーザ <---> グループ)<--->...
[[上記>#n913d126]]を[[スコープ>#ae75b754]]に関連付ける。
*設定例 [#g03fbf16]
**組み込みロール [#j117f124]
***作業者用の組み込みロール [#tb97e0ed]
[[組み込みロール>#j27599ed]]を使用する。
-プラットフォーム ロール
-リソース固有ロール
***管理者用の組み込みロール [#kc0d5a6e]
[[組み込みロール>#j27599ed]]を使用する。
-プラットフォーム ロール
-リソース固有ロール
**カスタム・ロール [#nec899f1]
***作業者用カスタム・ロールの例 [#f47adf4e]
「DevTest Labs User」組込ロールを更に絞った、~
「仮想マシンの起動と停止」カスタム・ロールを作成。
-[[準備>Azure PowerShell#m3b29bfc]]
-カスタム・ロールを作成
$role = Get-AzRoleDefinition "Virtual Machine Contributor"
$role.Id = $Null
$role.Name = "仮想マシンの起動と停止"
$role.Description = "仮想マシンの起動と停止、再起動がで...
$role.Actions.Clear()
--最小限
$role.Actions.Add("Microsoft.Compute/VirtualMachines/sta...
$role.Actions.Add("Microsoft.Compute/VirtualMachines/res...
$role.Actions.Add("Microsoft.Compute/VirtualMachines/rea...
$role.Actions.Add("Microsoft.Compute/virtualMachines//re...
$role.Actions.Add("Microsoft.Compute/VirtualMachines/dea...
--Doscの例
$role.Actions.Add("Microsoft.Compute/virtualMachines/sta...
$role.Actions.Add("Microsoft.Compute/virtualMachines/res...
$role.Actions.Add("Microsoft.Storage/*/read")
$role.Actions.Add("Microsoft.Network/*/read")
$role.Actions.Add("Microsoft.Compute/*/read")
$role.Actions.Add("Microsoft.Authorization/*/read")
$role.Actions.Add("Microsoft.Resources/subscriptions/res...
$role.Actions.Add("Microsoft.ResourceHealth/availability...
$role.Actions.Add("Microsoft.Insights/alertRules/*")
$role.Actions.Add("Microsoft.Support/*")
--イイ感じのヤツ
$role.Actions.Add("Microsoft.Compute/VirtualMachines/sta...
$role.Actions.Add("Microsoft.Compute/VirtualMachines/res...
$role.Actions.Add("Microsoft.Compute/VirtualMachines/dea...
$role.Actions.Add("Microsoft.Storage/*/read")
$role.Actions.Add("Microsoft.Network/*/read")
$role.Actions.Add("Microsoft.Compute/*/read")
$role.Actions.Add("Microsoft.Authorization/*/read")
$role.Actions.Add("Microsoft.Resources/subscriptions/res...
$role.Actions.Add("Microsoft.ResourceHealth/availability...
$role.Actions.Add("Microsoft.Insights/alertRules/*")
$role.Actions.Add("Microsoft.Support/*")
>
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add("/subscriptions/xxxxxxxx-xxxx...
New-AzRoleDefinition -Role $role
-ロールをサブスクリプション・スコープに適用
>New-AzRoleAssignment
--以下は二者択一のオプション~
ユーザを指定する
-ObjectId <objectId>
-SignInName <emailOrUserprincipalname>
※ [[UPNの例>Azure Active Directory B2B collaboration#u93d...
--以降のオプション
-RoleDefinitionName "仮想マシンの起動と停止" `
-Scope /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx...
-ロールの更新~
JSONを使ったGET&SETで更新する。
--GET
>Get-AzRoleDefinition -Name "仮想マシンの起動と停止" `
| ConvertTo-Json `
| Out-File -FilePath "D:\custom_role.json"
--JSONをメンテ~
---自動シャットダウンを構成
"Microsoft.DevTestLab/schedules/*",
"Microsoft.Compute/virtualMachines/write",
---参考:azure - How to add Custom Role for “Virtual Mach...
https://stackoverflow.com/questions/57263562/how-to-add-c...
--SET
>Set-AzRoleDefinition -InputFile "D:\custom_role.json"
--設定の反映には、アカウントの~
サインアウト → サインインが必要。
-参考:[[その他の定義方法>#l8d5f516]]~
既存ロールをJSON形式で参照し、そこからカスタマイズする方...
--[[Azure PowerShell]], [[Azure CLI]]
--[[Azure Resource Manager テンプレート]]
--[[AzureポータルやREST API>Azureの管理ポータルとARM API]]
***管理者用カスタム・ロールの例 [#ka8ea084]
-特定のリソース・グループに、
>仮想マシンの共同作業者~
(Virtual Machine Contributor)
>の権限だけ付与する。
>New-AzRoleAssignment
--以下は二者択一のオプション~
ユーザを指定する
-ObjectId <objectId>
-SignInName <emailOrUserprincipalname>
※ [[UPNの例>Azure Active Directory B2B collaboration#u93d...
--以降のオプション
-RoleDefinitionName "Virtual Machine Contributor" `
-ResourceGroupName [既存のRG名]
-VM作成の権限不足~
上記では権限が足りないのでポータルから追加してみる。
--対象のリソース・グループの[アクセス制御 (IAM)] で [追加...
ドロップダウンリストから[カスタム ロールの追加]を選択。
---[[前述>#f47adf4e]]のようなカスタム ロールの定義を入力...
・カスタム ロールの名称と説明を入力~
・エラー メッセージを参考に権限(アクセス許可)を追加
---[確認と作成] → [作成]ボタンを押下する。
--対象のリソース・グループの[アクセス制御 (IAM)] で [追加...
ドロップダウンリストから[ロールの割り当ての追加]を選択。
---[役割]のドロップダウンリストから作成したカスタム ロー...
---[選択]で対象となるユーザ(若しくはグループ)を選択する。
---[保存]ボタンを押下する(結果は[ロールの割り当て]タブか...
--更新は[役割]タブから行う(役割=ロールだよね...)。
---[種類]でソートして[CustomRole]から対象のモノを検索
---[...]から[編集]を選択して、JSONを編集して保存する。
---参考情報から、実際に追加が必要になるのは以下。
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/publicIpAddresses/write",
"Microsoft.Network/publicIpAddresses/read",
※ ただし、ここでは、PublicIP追加の権限は付与しない。
-参考
--Virtual Machine Contributor – Can’t create a VM with Pu...
https://toggen.com.au/it-tips/virtual-machine-contributor...
**ロール作成と付与のポイント [#q378e6e0]
-参考
--Azure VM と JIT 操作だけを許可するロール付与方法~
http://www.vwnet.jp/Windows/Azure/2020081501/AzureVmJitRo...
***付与 [#f27d89ff]
-「サブスクリプション → リソース・グループ → リソース」の...
-上位に付与した権限を下位で拒否できないので、~
最小限、許可するものダケを積み重ねていく。
--上位スコープには最小限の参照系の権限を付与し、
--下位スコープには具体的作業に必要な更新系の権限を付与す...
***作成 [#w14caa07]
カスタムロールに含めるロール・アクションの探し方
-trial and error的で非効率的だが、errorからたどるのが一番...
-ドキュメント系は、現時点では、まだ、完全に書かれたものは...
*その他 [#u15d8b09]
**サービスの場合 [#i74de7a8]
***[[Azure サービス プリンシパル]] [#b53fec12]
***[[Azure Managed ID]] [#e6c5bf60]
**[[JITロール割り当て>Azureのアクセス制御と権限#p2148b0a]...
*参考 [#z29ebd51]
**Microsoft Docs [#d3c11fe6]
***概要 [#zfa3b6eb]
-Azure ロールベースのアクセス制御 (Azure RBAC) とは~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
-従来のサブスクリプション管理者ロール、Azure ロール、およ...
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
***ロールの定義 [#l8d5f516]
-チュートリアル : ...を使用して Azure カスタム ロールを作...
--[[Azure PowerShell]]~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
--[[Azure CLI]]~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
-Azure リソースのアクセス権の割り当ての確認~
https://docs.microsoft.com/ja-jp/azure/active-directory/r...
-Azure リソース プロバイダーの操作~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
***ロールの種類 [#m78cd5ca]
-Azure RBAC
--Azure 組み込みロール~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
--Azure カスタム ロール~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
***ロールの割当 [#z1941e30]
-Azure RBAC
--チュートリアル:Azure portal を使用して Azure~
リソースへのアクセス権をユーザーに付与する~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
--を使用して Azure ロールを割り当てる
---Azure portal~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
---[[Azure PowerShell]]~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
---[[Azure CLI]]~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
---REST API~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
---Azure Resource Manager テンプレート~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
***操作方法ガイド [#y8db04f4]
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
-ロール定義の一覧表示
-ロールの割り当ての一覧表示
-ロールを割り当てる
-条件を追加または編集する
-ロールの割り当てを削除する
-拒否割当を一覧表示する
-カスタム ロールを作成する
-アクティビティ ログを表示する
-アクセス権を昇格する
-従来の管理者
-サブスクリプションを別のディレクトリに譲渡する
-トラブルシューティング
**その他 [#l0030995]
-ロールベースのアクセス制御のカスタム ロールを作成して Az...
https://docs.microsoft.com/ja-jp/azure/active-directory/r...
-Azure リソースの RBAC でカスタムロールを作成する – Junic...
https://blogs.technet.microsoft.com/junichia/2016/12/13/a...
----
Tags: [[:セキュリティ]], [[:アカウント]], [[:クラウド]], ...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>Azure]]
--[[Azureのアクセス制御と権限]]
--[[Azure Resource Manager (ARM)]]
* 目次 [#ga39c47d]
#contents
*概要 [#g05b61f4]
-アクセス権は、
--Azure ポータル、
--Azure コマンドライン ツール、
--および Azure 管理 API
>を使用して割り当てる。
-Azure ポータルで RBAC を設定する場合、~
Access Control(IAM : Identity and Access Management)か...
-[[スコープ>#ae75b754]]に対する特定アクションにアクセスで...
ロールベースのアクセス制御 (RBAC : Role Based Access Cont...
-アクセス権を付与するには、
--ユーザ、グループ、[[サービス>#i74de7a8]]に[[ロール>#ea4...
--それを、特定の[[スコープ>#ae75b754]]に[[関連付け>#z2c99...
*ロール [#ea4f95c8]
**ロールの定義 [#e76e3def]
アクセス権は、
-[[操作(主)>#n783488c]]
-[[データ操作(副)>#m4f4d382]]
のアクセス許可セット的なもの。
***操作(主) [#n783488c]
-Actions、NotActionsを定義して、AssignableScopesの[[スコ...
-操作のアクセス権は、Actionsの操作からNotActionsの操作を...
***データ操作(副) [#m4f4d382]
-DataActions、NotDataActionsを定義して、AssignableScopes...
-データ操作のアクセス権は、DataActionsの操作からNotDataAc...
※ ただし、対応リソースが少ない(通常データ・ストアに依存...
***定義の例 [#y22a4be5]
{
"Name": "Storage Blob Data Reader (Preview)",
"Id": "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
"IsCustom": false,
"Description": "Allows for read access to Azure Stora...
"Actions": [
"Microsoft.Storage/storageAccounts/blobServices/cont...
],
"NotActions": [],
"DataActions": [
"Microsoft.Storage/storageAccounts/blobServices/cont...
],
"NotDataActions": [],
"AssignableScopes": [
"/"
]
}
**ロールの種類 [#p2c79aeb]
ロールの種類には、
-[[組み込みロール>#j27599ed]]
-[[カスタム・ロール>#gc65de81]]
がある。
***組み込みロール [#j27599ed]
ユーザ、グループ、[[サービス>#i74de7a8]]に[[割り当て>#n91...
ただし、説明文は的確ではない表現も多いため、必ず中身をし...
-4つのプラットフォーム ロール
--所有者(Owner)~
「アクセス権の割当」を含め、全てを管理できる。
--共同作業者(Contributor)~
「アクセス権の割当」以外の、全てを管理できる。
--閲覧者(Reader)~
すべてを閲覧できるが、変更はできない。
--ユーザ・アクセス管理者(User Access Administrator)~
Azure リソースへのユーザ アクセスを管理できる。
-リソース固有ロール
--ネットワークの共同作業者~
他の「リソース固有ロール」に含まれない~
ネットワーク系の設定変更が可能となっている。
---すべてのネットワーク リソースを管理できるが、
---ネットワーク リソースのアクセス許可は設定できない。
--仮想マシンの共同作業者~
(Virtual Machine Contributor)
---仮想マシンを管理できるが、
---仮想マシンのアクセス許可は設定できない。
---接続先の[[仮想ネットワーク>Azureの仮想ネットワーク]]ま...
--[[ストレージ・アカウント>Azureのストレージ#t36c3007]]の...
---[[ストレージ・アカウント>Azureのストレージ#t36c3007]]...
---[[ストレージ・アカウント>Azureのストレージ#t36c3007]]...
--SQL Server の共同作業者~
(SQL Server Contributor)
---SQL サーバーおよびデータベースを管理できるが、
---そのセキュリティ関連ポリシーは設定できない。
--Web サイトの共同作業者~
(Web Site Contributor)
---Web サイトを管理できるが、
---接続されている Web プランは設定できない。
--, etc. (全部で70種類程ある)
***カスタム・ロール [#gc65de81]
組み込みのロールの中にアクセス権に関する特定の要件を満た...
Azure のロールベースのアクセス制御 (RBAC) で[[カスタム・...
-ただし、極力、カスタム・ロールは作らないようにする。
-スコープをリソース・グループやリソース単位に絞って、~
共同作業者(Contributor)ロールを設定することで対応可能。
***参考 [#o740dd43]
-Microsoft Azure サポート チーム サイト
--Microsoft Azure の各種アカウント権限について~
https://blogs.msdn.microsoft.com/dsazurejp/2013/10/02/303/
--アカウント管理者・サービス管理者・共同管理者の変更方法...
https://blogs.msdn.microsoft.com/dsazurejp/2013/10/02/293/
-Azure サブスクリプション管理者を追加または変更する~
https://docs.microsoft.com/ja-jp/azure/cost-management-bi...
*スコープ [#ae75b754]
[[ロール>#ea4f95c8]]に[[関連付け>#z2c99ad1]]るスコープ
**指定できるスコープ [#i040f172]
-サブスクリプション
-リソース・グループ
-または単独のリソース
**アクセス権の継承 [#q8598e80]
各[[スコープ>#ae75b754]]は、以下のようにRBACを継承する。
>サブスクリプション <--- [[リソース・グループ>Azure Subsc...
-親スコープで[[ロール>#ea4f95c8]]が[[関連付け>#z2c99ad1]]...
その親に含まれる子へのアクセス権も付与される。
-例えば、リソース・グループへのアクセス権を持つユーザは、~
Web サイト、仮想マシン、サブネットなど、~
リソース・グループに含まれるすべてのリソースを管理できる。
*アクセス権の割当 [#k1ba75af]
サブスクリプションの所有者は~
-他のユーザ・グループに詳細な[[ロール>#ea4f95c8]]を[[割り...
-上記を[[スコープ>#ae75b754]]に[[関連付け>#z2c99ad1]]
ると、当該リソースを管理できるようになる。
**割り当て [#n913d126]
管理機能を使用して、以下のように
>[[ロール>#ea4f95c8]] <--->(ユーザ <---> グループ)
ユーザ・グループに詳細な[[ロール>#ea4f95c8]]を割り当てる。
**関連付け [#z2c99ad1]
管理機能を使用して、以下のように
>[[ロール>#ea4f95c8]] <--->(ユーザ <---> グループ)<--->...
[[上記>#n913d126]]を[[スコープ>#ae75b754]]に関連付ける。
*設定例 [#g03fbf16]
**組み込みロール [#j117f124]
***作業者用の組み込みロール [#tb97e0ed]
[[組み込みロール>#j27599ed]]を使用する。
-プラットフォーム ロール
-リソース固有ロール
***管理者用の組み込みロール [#kc0d5a6e]
[[組み込みロール>#j27599ed]]を使用する。
-プラットフォーム ロール
-リソース固有ロール
**カスタム・ロール [#nec899f1]
***作業者用カスタム・ロールの例 [#f47adf4e]
「DevTest Labs User」組込ロールを更に絞った、~
「仮想マシンの起動と停止」カスタム・ロールを作成。
-[[準備>Azure PowerShell#m3b29bfc]]
-カスタム・ロールを作成
$role = Get-AzRoleDefinition "Virtual Machine Contributor"
$role.Id = $Null
$role.Name = "仮想マシンの起動と停止"
$role.Description = "仮想マシンの起動と停止、再起動がで...
$role.Actions.Clear()
--最小限
$role.Actions.Add("Microsoft.Compute/VirtualMachines/sta...
$role.Actions.Add("Microsoft.Compute/VirtualMachines/res...
$role.Actions.Add("Microsoft.Compute/VirtualMachines/rea...
$role.Actions.Add("Microsoft.Compute/virtualMachines//re...
$role.Actions.Add("Microsoft.Compute/VirtualMachines/dea...
--Doscの例
$role.Actions.Add("Microsoft.Compute/virtualMachines/sta...
$role.Actions.Add("Microsoft.Compute/virtualMachines/res...
$role.Actions.Add("Microsoft.Storage/*/read")
$role.Actions.Add("Microsoft.Network/*/read")
$role.Actions.Add("Microsoft.Compute/*/read")
$role.Actions.Add("Microsoft.Authorization/*/read")
$role.Actions.Add("Microsoft.Resources/subscriptions/res...
$role.Actions.Add("Microsoft.ResourceHealth/availability...
$role.Actions.Add("Microsoft.Insights/alertRules/*")
$role.Actions.Add("Microsoft.Support/*")
--イイ感じのヤツ
$role.Actions.Add("Microsoft.Compute/VirtualMachines/sta...
$role.Actions.Add("Microsoft.Compute/VirtualMachines/res...
$role.Actions.Add("Microsoft.Compute/VirtualMachines/dea...
$role.Actions.Add("Microsoft.Storage/*/read")
$role.Actions.Add("Microsoft.Network/*/read")
$role.Actions.Add("Microsoft.Compute/*/read")
$role.Actions.Add("Microsoft.Authorization/*/read")
$role.Actions.Add("Microsoft.Resources/subscriptions/res...
$role.Actions.Add("Microsoft.ResourceHealth/availability...
$role.Actions.Add("Microsoft.Insights/alertRules/*")
$role.Actions.Add("Microsoft.Support/*")
>
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add("/subscriptions/xxxxxxxx-xxxx...
New-AzRoleDefinition -Role $role
-ロールをサブスクリプション・スコープに適用
>New-AzRoleAssignment
--以下は二者択一のオプション~
ユーザを指定する
-ObjectId <objectId>
-SignInName <emailOrUserprincipalname>
※ [[UPNの例>Azure Active Directory B2B collaboration#u93d...
--以降のオプション
-RoleDefinitionName "仮想マシンの起動と停止" `
-Scope /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx...
-ロールの更新~
JSONを使ったGET&SETで更新する。
--GET
>Get-AzRoleDefinition -Name "仮想マシンの起動と停止" `
| ConvertTo-Json `
| Out-File -FilePath "D:\custom_role.json"
--JSONをメンテ~
---自動シャットダウンを構成
"Microsoft.DevTestLab/schedules/*",
"Microsoft.Compute/virtualMachines/write",
---参考:azure - How to add Custom Role for “Virtual Mach...
https://stackoverflow.com/questions/57263562/how-to-add-c...
--SET
>Set-AzRoleDefinition -InputFile "D:\custom_role.json"
--設定の反映には、アカウントの~
サインアウト → サインインが必要。
-参考:[[その他の定義方法>#l8d5f516]]~
既存ロールをJSON形式で参照し、そこからカスタマイズする方...
--[[Azure PowerShell]], [[Azure CLI]]
--[[Azure Resource Manager テンプレート]]
--[[AzureポータルやREST API>Azureの管理ポータルとARM API]]
***管理者用カスタム・ロールの例 [#ka8ea084]
-特定のリソース・グループに、
>仮想マシンの共同作業者~
(Virtual Machine Contributor)
>の権限だけ付与する。
>New-AzRoleAssignment
--以下は二者択一のオプション~
ユーザを指定する
-ObjectId <objectId>
-SignInName <emailOrUserprincipalname>
※ [[UPNの例>Azure Active Directory B2B collaboration#u93d...
--以降のオプション
-RoleDefinitionName "Virtual Machine Contributor" `
-ResourceGroupName [既存のRG名]
-VM作成の権限不足~
上記では権限が足りないのでポータルから追加してみる。
--対象のリソース・グループの[アクセス制御 (IAM)] で [追加...
ドロップダウンリストから[カスタム ロールの追加]を選択。
---[[前述>#f47adf4e]]のようなカスタム ロールの定義を入力...
・カスタム ロールの名称と説明を入力~
・エラー メッセージを参考に権限(アクセス許可)を追加
---[確認と作成] → [作成]ボタンを押下する。
--対象のリソース・グループの[アクセス制御 (IAM)] で [追加...
ドロップダウンリストから[ロールの割り当ての追加]を選択。
---[役割]のドロップダウンリストから作成したカスタム ロー...
---[選択]で対象となるユーザ(若しくはグループ)を選択する。
---[保存]ボタンを押下する(結果は[ロールの割り当て]タブか...
--更新は[役割]タブから行う(役割=ロールだよね...)。
---[種類]でソートして[CustomRole]から対象のモノを検索
---[...]から[編集]を選択して、JSONを編集して保存する。
---参考情報から、実際に追加が必要になるのは以下。
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/publicIpAddresses/write",
"Microsoft.Network/publicIpAddresses/read",
※ ただし、ここでは、PublicIP追加の権限は付与しない。
-参考
--Virtual Machine Contributor – Can’t create a VM with Pu...
https://toggen.com.au/it-tips/virtual-machine-contributor...
**ロール作成と付与のポイント [#q378e6e0]
-参考
--Azure VM と JIT 操作だけを許可するロール付与方法~
http://www.vwnet.jp/Windows/Azure/2020081501/AzureVmJitRo...
***付与 [#f27d89ff]
-「サブスクリプション → リソース・グループ → リソース」の...
-上位に付与した権限を下位で拒否できないので、~
最小限、許可するものダケを積み重ねていく。
--上位スコープには最小限の参照系の権限を付与し、
--下位スコープには具体的作業に必要な更新系の権限を付与す...
***作成 [#w14caa07]
カスタムロールに含めるロール・アクションの探し方
-trial and error的で非効率的だが、errorからたどるのが一番...
-ドキュメント系は、現時点では、まだ、完全に書かれたものは...
*その他 [#u15d8b09]
**サービスの場合 [#i74de7a8]
***[[Azure サービス プリンシパル]] [#b53fec12]
***[[Azure Managed ID]] [#e6c5bf60]
**[[JITロール割り当て>Azureのアクセス制御と権限#p2148b0a]...
*参考 [#z29ebd51]
**Microsoft Docs [#d3c11fe6]
***概要 [#zfa3b6eb]
-Azure ロールベースのアクセス制御 (Azure RBAC) とは~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
-従来のサブスクリプション管理者ロール、Azure ロール、およ...
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
***ロールの定義 [#l8d5f516]
-チュートリアル : ...を使用して Azure カスタム ロールを作...
--[[Azure PowerShell]]~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
--[[Azure CLI]]~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
-Azure リソースのアクセス権の割り当ての確認~
https://docs.microsoft.com/ja-jp/azure/active-directory/r...
-Azure リソース プロバイダーの操作~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
***ロールの種類 [#m78cd5ca]
-Azure RBAC
--Azure 組み込みロール~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
--Azure カスタム ロール~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
***ロールの割当 [#z1941e30]
-Azure RBAC
--チュートリアル:Azure portal を使用して Azure~
リソースへのアクセス権をユーザーに付与する~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
--を使用して Azure ロールを割り当てる
---Azure portal~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
---[[Azure PowerShell]]~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
---[[Azure CLI]]~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
---REST API~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
---Azure Resource Manager テンプレート~
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
***操作方法ガイド [#y8db04f4]
https://docs.microsoft.com/ja-jp/azure/role-based-access-...
-ロール定義の一覧表示
-ロールの割り当ての一覧表示
-ロールを割り当てる
-条件を追加または編集する
-ロールの割り当てを削除する
-拒否割当を一覧表示する
-カスタム ロールを作成する
-アクティビティ ログを表示する
-アクセス権を昇格する
-従来の管理者
-サブスクリプションを別のディレクトリに譲渡する
-トラブルシューティング
**その他 [#l0030995]
-ロールベースのアクセス制御のカスタム ロールを作成して Az...
https://docs.microsoft.com/ja-jp/azure/active-directory/r...
-Azure リソースの RBAC でカスタムロールを作成する – Junic...
https://blogs.technet.microsoft.com/junichia/2016/12/13/a...
----
Tags: [[:セキュリティ]], [[:アカウント]], [[:クラウド]], ...
ページ名: