review-checklists - このリポジトリには、複数のテクノロジに関する Azure 設計レビューに使用できるスプレッドシート ベースのチェックリストを運用化するためのコードと例が含まれています。

(This repo contains code and examples to operationalize spreadsheet-based checklists that can be used for Azure design reviews on multiple technologies.)

Created at: 2021-10-08 17:41:55
Language: VBA
License: MIT

GitHub Super-Linter

Azure レビュー チェックリスト

このリポジトリのチェックリストを使用するためのクイック リンク:

サポートされているチェックリストの概要とそれぞれの責任者:

チェックリスト 地位 コード所有者
ティッカー ジョージア 州 @alejandra8481@anbengts@sdolgin@akasnik@Kiwibayer
ティッカー ジョージア 州 @msftnadavbh@seenu433@erjosito
ティッカー ジョージア 州 @igorpag@mikewarr@bagwyth
マルチテナンシー ジョージア 州 @arsenvlad@johndowns@cherchyk
安全 ジョージア 州 @mgodfrey50@rudneir2
アヴス プレビュー @fskelly@mgodfrey50@Kiwibayer@robinher
樹液 プレビュー @AlastairMorrison@videshmukh
API 管理 プレビュー @andredewes@seenu433

Azure デザイン レビューとは何ですか?

パブリッククラウドをはじめとする多くの組織に共通する要望は、ベストプラクティスに従っていることを確認するために設計を再確認することです。この種の設計レビューとガイダンスを提供するマイクロソフトのチームの 1 つが、マイクロソフトの Azure エンジニアリングの一部である FastTrack for Azure (FTA) です。

Azure の設計レビュー (またはそのことに関するレビュー) を行う場合、マイクロソフトの従業員 (FastTrack for Azure エンジニアなど) とマイクロソフト パートナーは、多くの場合、Excel スプレッドシートを、調査結果を文書化し、設計の改善と推奨事項を追跡するためのメディアとして活用します。Excel スプレッドシートの問題は、簡単にリビジョン管理の対象にされないことです。さらに、分岐、問題、プルリクエスト、レビューなどとのチームコラボレーションは、せいぜい困難であり、ほとんどの場合不可能です。

なぜこのリポジトリなのか?

このリポジトリでは、実際のレビュー チェックリストの内容をプレゼンテーション層から分離し、バージョン管理の対象となる JSON 形式のチェックリストを Visual Basic for Applications (VBA) マクロを使用して Excel スプレッドシートにインポートして処理を容易にします (すべての人が JSON をネイティブに操作することを好むわけではありません)。提供されているチェックリストレビュースプレッドシートは、コードを利用して https://github.com/VBA-tools/VBA-JSON/ のVBAモジュールからのJSONを解釈し、そこからこのリポジトリに自己完結型のコピーがあります(ただし、最新バージョンを使用していることを確認してください)。チェックリストレビュースプレッドシートには、メインシートのコントロールボタンからアクセスできるいくつかのマクロ(スプレッドシートとここの両方でソースコードを見つけてください)が含まれています。

注: スプレッドシートの VBA コードは、いくつかの重大なライブラリが不足しているため、Excel for Mac では機能しません。

さらに、このリポジトリ内の Github アクションは、コミットするたびに、コグニティブ サービス Azure Translator を使用して、英語版のチェックリストを追加の言語 (日本語、韓国語、スペイン語、ポルトガル語 (ブラジル) に翻訳します。翻訳されたチェックリストの例を aks_checklist.ja.json で見る

エラーの報告と貢献

チェックリストにエラーや不足している情報が見つかった場合は、投稿ガイドラインに従って、問題を開くか、PRを作成してください。

Azure レビューにスプレッドシートを使用する

  1. 最新リリースの Excel スプレッドシートを PC にダウンロードする

  2. ドロップダウンリストを使用して、レビューを行うテクノロジーと言語を選択します

  1. コントロールボタン「最新のチェックリストをインポート」をクリックします。確認メッセージを受け入れると、スプレッドシートに選択したテクノロジーと言語の最新バージョンが読み込まれます

  2. (オプション)マクロを操作できないユーザー (セキュリティ上の理由や Office for Mac を使用しているユーザーなど) にスプレッドシートを配布する場合は、(xlsm ではなく) xlsx 形式でスプレッドシートのバージョンを保存します。マクロを無効にすると、スプレッドシートはチェックリストまたは JSON ベースの Azure Resource Graph クエリ結果の更新バージョンをインポートする機能を失うことに注意してください

  3. 行ごとに移動し、[ステータス]フィールドを使用可能なオプションの1つに設定し、[コメント]フィールドにコメント(推奨事項が関連しない理由、未処理のアイテムを修正する人など)を書き込みます。

    1. レビューには多くの行があるため、チャンクで処理することをお勧めします:エリアごとにエリアに移動するか(最初に「ネットワーキング」、次に「セキュリティ」など)、または「高」の優先度要素から始めて、その後「中」と「低」に移動します
    2. 推奨事項が明確でない場合は、より多くのコンテキスト情報を含む「詳細情報」リンクがあります。
    3. 重要:設計上の決定はチェックボックスの演習ではなく、一連の妥協です。影響が明らかな場合は、特定の推奨事項から逸脱してもかまいません(たとえば、運用の簡素化や重要でないアプリケーションのコスト削減でセキュリティを犠牲にするなど)。
  4. 「ダッシュボード」ワークシートで、レビューの進行状況をグラフィカルに表示します

マクロを実行するセキュリティ設定

マクロ有効の Excel スプレッドシートを実行するために、システムで変更する必要がある設定がいくつかあります。ファイルを最初に開くと、次のエラーが表示され、Excel が読み込まれないことがあります。

ファイル形式またはファイル拡張子が無効であるため、ファイル 'review_checklist.xlsm' を開けません。ファイルが破損していないこと、およびファイル拡張子がファイルの形式と一致していることを確認します。

それ以外の場合は、ファイルが次のメッセージで開き、チェックリスト項目を読み込めなくなります。

エクセルでのマクロ警告

ファイルのブロックを解除するか、Windowsセキュリティに例外を追加します

  1. Windows ファイル エクスプローラーのファイル プロパティからファイルのブロックを解除して、チェックリストの内容をインポートするために必要なマクロを github.com から使用できるようにする必要がある場合があります。

ファイルのブロックを解除してマクロを実行する方法

  1. さらに、このリポジトリを複製したフォルダーを Windows セキュリティの例外の一覧 ([ウイルスと脅威の防止] セクション) に追加することもできます。

Windows セキュリティ 1 に例外を追加する方法 Windows セキュリティ 2 に例外を追加する方法 Windows セキュリティ 3 に例外を追加する方法 Windows セキュリティ 4 に例外を追加する方法

スプレッドシートを使用して JSON チェックリストファイルを生成する (詳細)

チェックリストに貢献したい場合、1つのオプションは次のとおりです。

  1. 変更するチェックリストの最新バージョンをロードします
  2. チェックリスト項目に必要な変更を行う
  3. チェックリストのコントロールの「詳細」セクションにある「チェックリストをJSONにエクスポートボタンを押します。ファイルをローカルファイルシステムに保存し、このGithubリポジトリのチェックリストフォルダーにアップロードします(たとえば、
    <technology>_checklist.en.json
    lz_checklist.en.json
    )
  4. これによりPRが作成され、対応するアプロバーによってレビューされます。

Azure リソース グラフを使用して Azure 環境を確認する (上級)

一部のチェックには Azure Resource Graph クエリが関連付けられており、関連するリソースの一覧とそれぞれのコンプライアンス状態が返されます。Resource Graph クエリを使用すると、関連するチェックを客観的に検証でき、環境の詳細を収集することでスプレッドシートへの入力が容易になります。

スプレッドシートと共に、このリポジトリにはスクリプト checklist_graph.shが含まれています。このスクリプトは、JSON チェックリストに格納されているグラフ クエリを実行し、スプレッドシートに簡単にコピーして貼り付けることができる出力を生成するか、スプレッドシートにインポートできる JSON ファイルを生成します。

checklist_graph.sh の使用方法の詳細については、checklist_graph.sh README ファイルを参照してください。

免責事項

  • これは、マイクロソフトの公式ドキュメントまたはソフトウェアではありません。
  • これは、アーキテクチャまたは設計の承認または承認ではありません。
  • このコードサンプルは、商品性および/または特定目的への適合性の黙示の保証を含むがこれらに限定されない、明示または黙示を問わず、いかなる種類の保証もなく「現状有姿」で提供されます。
  • このサンプルは、Microsoft の標準サポート プログラムまたはサービスではサポートされていません。
  • さらに、Microsoft は、商品性または特定目的への適合性の黙示の保証を含むがこれらに限定されない、すべての黙示の保証を否認します。
  • サンプルおよびドキュメントの使用またはパフォーマンスから生じるすべてのリスクは、お客様に帰属します。
  • いかなる場合も、Microsoft、その作成者、またはスクリプトの作成、制作、または配信に関与したその他の者は、サンプルまたはドキュメントの使用または使用不能に起因するいかなる損害 (事業利益の損失、事業の中断、事業情報の損失、またはその他の金銭的損失を含むがこれらに限定されない) についても責任を負わないものとします。 マイクロソフトがそのような損害の可能性について知らされていた場合でも