PowerShellを使用してリソースグループにポリシーを割り当てる

お疲れ様です。
最近和菓子が好きで、饅頭や団子をよく食べている宮﨑です。

 
今回は今まで学んだことを活かして、PowerShellを使用してリソースグループを作成し、AzurePolicyを割り当てます。各内容に関してのブログも書いてみたのでお暇なときに読んでいただけると幸いです。

 
PowerShell、WindowsPowerShell、AzurePowerShellについて
AzurePolicyについて解説

 

管理方法

指定したポリシーを抽出してみる

file

 
今回はCloudShellを使用してPowerShellを起動します。Azureポータルの右上のアイコンから起動させます。起動が完了したら試しにすべてのポリシー定義を取得する以下のコマンドを入力してみます。

 

Get-AzPolicyDefinition

 
file
file

 
すべてのポリシー定義が表示されます。ここから対象のポリシーのみ抽出してみます。今回はAllowed resource types(組織でデプロイできるリソースの種類を指定できる)を抽出してみます。

 
file

 
AzurePolicyから定義を選びます。

 
file

 
Allowed resource typesと検索し、右側の…を選び定義の表示を選択します。

 
file

 
定義IDをコピーします。PowerShellで下記のコマンドを入力します。

 

Get-azpolicydefinition -Id "定義ID"

file

 
指定したポリシーのみ抽出が出来ました。このポリシーを後で使用するので変数に格納しておきましょう。

 

 $defenition = Get-azpolicydefinition -Id "定義ID"

 
次は実際にPowerShellを使用してリソースグループを作成して、ポリシーを反映させてみます。

 

リソースグループを作成して指定したポリシーを割り当てる

まずリソースグループを作成します。

 

New-AzResourceGroup -Name リソースグループの名前 -Location "作成するロケーション場所"

file

file

 
東日本にrg01というリソースグループを作成しました。Azureポータルを確認するとちゃんと作成されていることが確認出来ました。こちらも変数に格納しましょう。

 

 $rg = Get-AzResourceGroup -Name "リソースグループの名前"

file

 
格納されていることが確認出来ました。最後にこのポリシーをさきほど作成したリソースグループに割り当てましょう。

 

New-AzPolicyAssignment -Name "登録する名前" -DisplayName "ポータルに表示される名前" -Scope $rg.ResourceId -PolicyDefinition $defenition

 
file

 
作成が完了しました。

 
file

file

 
ポリシー画面を確認すると作成されていることが確認出来ます。

 

まとめ

コマンドを覚えていけばより複雑な作業も可能なので試したいです。今回はPowerShellを使用してでしたがCLIでも試してみます。最後まで読んでいただきありがとうございました。

Last modified: 2024-01-19

Author