# Az - ARM Templates / Deployments

{{#include ../../../banners/hacktricks-training.md}}

## 基本情報

[From the docs:](https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/overview) **Azureソリューションのためのコードとしてのインフラストラクチャを実装する**には、Azure Resource Managerテンプレート（ARMテンプレート）を使用します。テンプレートは、プロジェクトの**インフラストラクチャ**と構成を**定義**するJavaScript Object Notation（**JSON**）ファイルです。テンプレートは宣言型構文を使用しており、作成するためのプログラミングコマンドのシーケンスを書くことなく、デプロイする意図を述べることができます。テンプレート内では、デプロイするリソースとそれらのリソースのプロパティを指定します。

### 歴史

アクセスできる場合、将来デプロイされる可能性のある**リソースに関する情報**を取得できます。さらに、**機密情報**を含む**パラメータ**が「**String**」としてマークされている場合、「**SecureString**」の代わりに、**平文**で存在します。

## 機密情報の検索

`Microsoft.Resources/deployments/read`および`Microsoft.Resources/subscriptions/resourceGroups/read`の権限を持つユーザーは、**デプロイメント履歴を読み取る**ことができます。
```bash
Get-AzResourceGroup
Get-AzResourceGroupDeployment -ResourceGroupName <name>

# Export
Save-AzResourceGroupDeploymentTemplate -ResourceGroupName <RESOURCE GROUP> -DeploymentName <DEPLOYMENT NAME>
cat <DEPLOYMENT NAME>.json # search for hardcoded password
cat <PATH TO .json FILE> | Select-String password
```
## 参考文献

- [https://app.gitbook.com/s/5uvPQhxNCPYYTqpRwsuS/\~/changes/argKsv1NUBY9l4Pd28TU/pentesting-cloud/azure-security/az-services/az-arm-templates#references](az-arm-templates.md#references)

{{#include ../../../banners/hacktricks-training.md}}
