
拡張可能なAzureセキュリティツール - ドキュメント
Extensible Azure Security Tool(以降E.A.S.Tと呼称)は、Azureおよびある程度Azure ADのセキュリティコントロールを評価するためのツールです。EASTの主なユースケースは、Azureアセスメントにおける評価のためのセキュリティデータ収集です。この情報(JSONコンテンツ)は、その後、さまざまなレポートツールで使用され、データのさらなる相関分析や調査に利用されます。
このツールはMITライセンスのもとで提供されています。


Table of contents
v 0.5
miGeneral.jsです。query.jsを参照してください。v 0.4
プレビューブランチを導入
変更点:
インストールがAzure Cloud Shellの更新バージョン(依存関係に関して)に対応するようになりました(Cloud ShellにはNode.js v16がインストールされています)。
Databricksクラスタータイプのチェックをアドバイザリに基づいて追加
content.jsonにキーとコンテンツベースのソートを導入。これにより、git diff HEAD^1 ¹ でデルタチェックが可能になります(content.jsonの結果が所定の順序になっているため)。

¹ ⚠️ 注意点:content.jsonのデルタを確認したい場合、content.jsonを
.gitignoreから「アンイグノア」する必要があり、その結果が設定されている上流に公開される可能性があります。この機能は注意して使用し、この機能を使用するブランチにパブリックの上流が設定されていないことを確認してください。
大規模データセットでの競合状態を回避するため、プログラミングパターンを変更。主に for await 形式のループでvar からlet への変更。
⚠️ 現在のツールのステータスはベータ版です
exec()を使用しています。すべてのパスを確認したわけではありませんが、シェルコードの実行を達成するのは簡単だと考えています。このツールは敵対的な入力を想定していないため、起動引数を事前に確認せずにコマンドラインに貼り付けないことを推奨します。コード量を減らすため、以下の依存関係を運用と美観のために使用しています(これらの素晴らしいパッケージのメンテナーの皆様に感謝します)。
| パッケージ | 美的 | 操作 | ライセンス |
|---|---|---|---|
| axios | ✅ | MIT | |
| yargs | ✅ | MIT | |
| jsonwebtoken | ✅ | MIT | |
| chalk | ✅ | MIT | |
| js-beautify | ✅ | MIT |
ツール実行のためのその他の依存関係: Azure Cloud Shellで実行する予定の場合は、Azure CLIをインストールする必要はありません。
Azure Cloud Shell(BASH) または該当するLinuxディストリビューション / WSL
| 要件 | 説明 | インストール |
|---|---|---|
| ✅ AZ CLI | AZCLI USE | curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash |
| ✅ Node.js runtime 14 | EAST用のNode.jsランタイム | NVMでインストール |
EASTは3つのカテゴリのコントロールを提供します:Basic、Advanced、Composite
機械可読なコントロールは以下のようになります(タイプ(Basic/Advanced/Composite)にかかわらず):```json { "name": "fn-sql-2079", "resource": "/subscriptions/6193053b-408b-44d0-b20f-4e29b9b67394/resourcegroups/rg-fn-2079/providers/microsoft.web/sites/fn-sql-2079", "controlId": "managedIdentity", "isHealthy": true, "id": "/subscriptions/6193053b-408b-44d0-b20f-4e29b9b67394/resourcegroups/rg-fn-2079/providers/microsoft.web/sites/fn-sql-2079", "Description": "\r\n Ensure The Service calls downstream resources with managed identity", "metadata": { "principalId": { "type": "SystemAssigned", "tenantId": "033794f5-7c9d-4e98-923d-7b49114b7ac3", "principalId": "cb073f1e-03bc-440e-874d-5ed3ce6df7f8" }, "roles": [{ "role": [{ "properties": { "roleDefinitionId": "/subscriptions/6193053b-408b-44d0-b20f-4e29b9b67394/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c", "principalId": "cb073f1e-03bc-440e-874d-5ed3ce6df7f8", "scope": "/subscriptions/6193053b-408b-44d0-b20f-4e29b9b67394/resourceGroups/RG-FN-2079", "createdOn": "2021-12-27T06:03:09.7052113Z", "updatedOn": "2021-12-27T06:03:09.7052113Z", "createdBy": "4257db31-3f22-4c0f-bd57-26cbbd4f5851", "updatedBy": "4257db31-3f22-4c0f-bd57-26cbbd4f5851" }, "id": "/subscriptions/6193053b-408b-44d0-b20f-4e29b9b67394/resourceGroups/RG-FN-2079/providers/Microsoft.Authorization/roleAssignments/ada69f21-790e-4386-9f47-c9b8a8c15674", "type": "Microsoft.Authorization/roleAssignments", "name": "ada69f21-790e-4386-9f47-c9b8a8c15674", "RoleName": "Contributor" }] }] }, "category": "Access" },
### 基本
基本コントロールは、初期ARMオブジェクトに対する、該当サービスの「オン/オフ」切り替えのようなブーリアン設定のチェックを含みます。
**例: Azure Container Registry adminUser**