[Azure]リソースグループ内にタグを自動で付与する方法

## はじめに
コスト管理など様々な用途で使えるタグ。
ただ、テスト用にちょっとリソースを作成したときなどタグをつけ忘れることもあると思います。
そんなときに、[Azure Policy](https://docs.microsoft.com/ja-jp/azure/governance/policy/overview) を使ってリソースグループごとにタグを自動で設定する方法をご紹介します。
この方法では、特定のリソースグループ配下において、将来作成されるリソースへのタグの自動付与だけでなく、既存リソースに対するタグの一括付与も可能です。

今回は検証用として以下の画像のようなリソースグループを用意しました。
すでにいくつかのリソースが含まれていますが、タグは付与されていません。
<img width="736" alt="2020-06-23_11h53_34.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/8351b6dd-4a25-0242-3c5b-9c95bd671cd0.png">

## やってみる
まずは、該当のリソースグループで [ポリシー] を選択します。
<img width="130" alt="2020-06-23_11h58_40.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/a25388ac-e840-12ea-f4e0-4562cd4cd630.png">

ポリシー画面に遷移したら、[定義] を選択します。
たくさんの定義が出てくると思うので、その中から [リソースにタグを追加する] を選択します。
上部カテゴリで `Tags` をフィルターにかけると見つけやすいと思います。
<img width="781" alt="2020-06-23_12h07_27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/e6f4de33-08f1-7fae-6ef3-c15ce687be54.png">

[割り当て] を選択。
<img width="410" alt="2020-06-23_14h51_44.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/5ce1f2bf-e0fc-fd70-c13e-6114c64e8d9e.png">

[スコープ] に対象のリソースグループを指定して、[次へ]
<img width="438" alt="2020-06-23_14h53_15.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/58681a39-6ffc-8348-4266-933fd5ce34e5.png">

[タグ名] と [タグ値] を指定して、[次へ]
<img width="433" alt="2020-06-23_14h55_07.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/767a8f7c-bd00-c705-2f45-90d3e2d86ba3.png">

もし今回のように既存のリソースにもタグを付与したい場合は、ここで [修復タスクを作成する] にチェックを入れましょう。
また、[マネージド ID の場所] も選択して、[次へ]
※ 修復タスクの詳細は以下の公式ドキュメントをご参照ください。
https://docs.microsoft.com/ja-jp/azure/governance/policy/how-to/remediate-resources
<img width="446" alt="2020-06-23_14h56_41.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/f69f1542-78f5-e5b7-43d2-804d27f4cd35.png">

問題無ければ [作成] します。
<img width="285" alt="2020-06-23_14h59_48.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/9cfc32a6-e94b-b56a-2a1d-0fca577bbaca.png">

以上で作業は完了です。
以下の通知の通り、ポリシーが適用されるまで 30 分程度かかる場合があるのでご注意ください。
<img width="246" alt="2020-06-23_15h03_32.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/9ad8a9fa-7025-9580-a017-a5bbf8c3c41a.png">

## 確認してみる

ポリシー画面にもどって、[コンプライアンス] を選択すると、先ほど作成したポリシーが追加されていることが分かります。
<img width="840" alt="2020-06-23_15h05_48.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/3d312202-6056-9934-6f5f-ab46d2b6e189.png">

追加されたポリシーを選択すると、詳細が確認できます。
また、画像のように [修復タスク] タブを選択すると、既存リソースに対してタグを適用する修復タスクの進行状況が確認できます。
<img width="417" alt="2020-06-23_15h10_18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/fc22285d-c9c1-0817-8588-7682da796cf1.png">

[修復状態] が完了になったのでリソースグループに戻ってみます。
<img width="419" alt="2020-06-23_15h22_28.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/d2a3858d-1575-9309-1165-1da96c565e8d.png">

確認してみると、全てのリソースにタグが付与されています！
<img width="733" alt="2020-06-23_15h25_09.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/d0720165-b0f9-befd-4b50-8e88cd00e38f.png">

また、新たにリソース (仮想マシン) を作成してみます。
その際、タグは空欄にしておきます。
<img width="384" alt="2020-06-23_15h28_29.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/d0fc3fa7-bceb-3489-813d-0301e2fd1f68.png">

しかし、作成されてみるとばっちりタグが付いていることが確認できます。
<img width="765" alt="2020-06-23_19h21_30.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423135/131b91f9-d417-7679-f68f-e6075e715b20.png">

以上です！

## 参考ドキュメント
- タグの準拠のためのポリシーを割り当てる https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/management/tag-policies
- Azure リソースのマネージド ID とは https://docs.microsoft.com/ja-jp/azure/active-directory/managed-identities-azure-resources/overview