Power Platform のテナント / 環境ガバナンスを確認・設定する管理スキル。開発着手前の環境チェック(既定環境ではないか・マネージド環境・Dataverse / Code Apps / MCP の有効化・セキュリティ ロール・管理 API アクセス)と DLP 事前チェックを非対話スクリプトで実行し、必要ならマネージド環境設定・カスタムコネクタの DLP 分類・ACP(Advanced connector policies)の許可コネクタを dry-run 付きで変更する。Microsoft 第一者サービスだけを許可する ACP 推奨プロファイルの適用と、クラシック DLP から ACP への移行も支援する。クラシック DLP と ACP は既定の混成モードで併用され、より制限の厳しい方が適用されるため両方を確認する。オプションとして、既定環境 / 個人開発者環境 / 市民開発者環境 / AI CoE セントラル / AI CoE 内製開発の 5 グループからなるテナント全体の環境戦略を、読み取り専用スキャン → 移行プラン(admin-migration-plan.md)→ レビュー → 適用の順で策定・実行する。設定は環境グループのルールで行うのを原則とし、グループ ルールに無い項目(既定環境ルーティング・Dataverse for Teams 禁止・Dataverse 検索・グループへの割り当て・Copilot クレジット配分)だけをテナント設定・環境個別設定・Dataverse の組織設定で補う。IP 制限・テナント分離・監査ログ・ライセンス配分などの管理設定は references にまとめる。
azure-infra
Azure の基盤(ネットワーク・ID・ストレージ・コンピュート・デプロイ)をリファレンスアーキテクチャから選定し、テナントのセキュリティガバナンスに準拠した構成で構築・デプロイ・検証する。
組織ポリシー(公衆ネットワークアクセス禁止・共有キー禁止・MFA 必須等)の下でも動作する構成を、Private Link / Managed Identity / VNet 統合を用いて実装する。
含まれるファイル(10)
- SKILL.md9.5 KB
- references/.env.example1.4 KB
- references/foundry-agent.md11.7 KB
- references/preflight-checklist.md2.1 KB
- references/secure-website.md11.7 KB
- references/token-broker.md9.2 KB
- references/troubleshooting.md7.3 KB
- scripts/deploy_functionapp.yml1.6 KB
- scripts/ensure_az_mfa.ps13.4 KB
- scripts/setup_private_endpoint.ps16.0 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Azure 基盤(azure-infra)スキル
Azure 開発を、テナントのセキュリティガバナンスに準拠したまま進めるためのスキル。 要件から適切なリファレンスアーキテクチャを選定し、構築・デプロイ・検証・クリーンアップまでを一貫して行う。
原則: 組織ポリシー(Azure Policy / Conditional Access)と戦わず、準拠する構成を採る。
担当範囲: 基盤(VNet / Private Endpoint / Managed Identity / RBAC / デプロイ経路)を扱う。 Azure の個別サービスを使うアプリ側の実装(MCP Server、データ基盤、音声認識など)は各専門スキルが持ち、基盤部分だけをこのスキルに委譲する。
publicNetworkAccess=Disabledでも Private Link は常に到達可能——これを土台にする。
Step 0: 事前確認(会話の最初に 1 回だけ)
本スキルの利用が確定したら、standard の共通契約に加え、 1 回の AskUserQuestion で次をまとめて確認する。
| # | 質問 | 合格条件 |
|---|---|---|
| 1 | 対象 subscription、resource group、region、予算はどれか | 実装先と課金上限、作成 / 削除の承認範囲が確定している |
| 2 | リソース作成と RBAC 割り当ての担当者は誰か | リソース作成は対象 scope の Contributor 相当、role assignment は Role Based Access Control Administrator / User Access Administrator / Owner の担当者を記録している |
| 3 | 適用される Azure Policy と Conditional Access は何か | public network、shared key、allowed regions / SKUs、private endpoint、MFA の制約を確認している |
| 4 | ネットワーク変更の担当者は誰か | VNet、subnet、Private DNS、private endpoint に必要な権限と既存ネットワーク所有者の承認がある |
| 5 | デプロイ経路とシークレット管理は何か | Managed Identity / workload identity、Key Vault、CI runner のネットワーク到達性を確定している |
| 6 | 検証とクリーンアップを誰が行うか | security test、cost確認、削除期限、保持対象を記録している |
広い Owner を既定にせず、リソース作成と role assignment を分離する。
Policy、MFA、Private DNS のいずれかが不明なら Step 4 の構築へ進まない。
リファレンスアーキテクチャ一覧(メニュー)
| リファレンス | 用途 | ドキュメント |
|---|---|---|
| セキュアな Web × ストレージ | 公衆アクセス禁止ストレージのコンテンツを Web で安全配信 | references/secure-website.md |
| Microsoft Foundry エージェント | Web 組み込みエージェント / 知識グラウンディング(Work IQ・Foundry IQ・Fabric IQ) / AI Gateway ガバナンス | references/foundry-agent.md |
| MCP Server(Azure Functions) | 社内データを Copilot Studio エージェントへ公開する自前 MCP Server | mcp-server スキル |
| 短期トークン発行(トークン ブローカー) | ブラウザから Azure サービスへ直結する(WebSocket 等)ための短期トークンを、Managed Identity で発行してカスタム コネクタ経由で渡す | references/token-broker.md |
新しいリファレンスは
references/<topic>.mdとして追加し、この表と参考リンクに1行足す。
Web サイトの UI / デザインの参照方針
Azure 上で Web サイト/フロントを作る際、UI は新規に定義せず、この開発標準の共通デザイン言語と既存実装を参照する。
| 対象 | 参照先 |
|---|---|
| デザイン言語(トークン/配色/UX選定) = 単一ソース | standard: デザイン言語 |
| 内部向け業務システムの実装(React / shadcn/ui + Tailwind v4) | code-apps デザインパターン / テンプレート |
| 外部向けポータル / 公開サイトの実装 | power-pages デザインパターン / テンプレート |
配色/トークンは standard のデザイン言語を単一ソースとする。用途(内部業務 or 外部公開)で参照する実装を切り替える。 Web 配信のセキュア構成は references/secure-website.md を併用する。
Azure 固有の UI 適応メモ(独自パレットは持たない)
- フォント/CSP: Azure(SWA/App Service) は Code Apps の「Google Fonts 禁止/フォント固定」制約が無い。カスタム Web フォント/可変フォントを使用可。
- モーション/SEO/パフォーマンス: 公開サイトではアニメーション・メタ/OGP・Core Web Vitals 最適化等、内部業務基準を超えた要素を採り入れてよい。
- 公開マーケ/LP 系: デザインはホスティング非依存のため power-pages のパターンを流用する。
ワークフロー(正常系)
Step 1: リファレンスアーキテクチャを選定する
- ユーザー要件を確認し、上のメニューから該当リファレンスを選ぶ。
- 該当が無ければ、要件に近い構成を
references/から選び、差分を明示する。
Step 2: 事前確認で「Sure」にする
- references/preflight-checklist.md を上から確認する。
- 特に 強制ポリシーの対象リソース型(ストレージのみか、コンピュートも含むか)を確定し、公開バックエンド可否を判断する。
- 公式仕様は Microsoft Learn MCP(
microsoft_docs_search/microsoft_docs_fetch)で裏取りし、推測を残さない。
Step 3: MFA 認証済みセッションを確保する
- 組織が ARM 書込に MFA を要求する場合、
scripts/ensure_az_mfa.ps1で MFA 済みトークンを確保する。 - トークンの
amrにmfa/rsaが含まれることを確認(amr=pwdは未 MFA で書込不可)。
Step 4: インフラを段階構築する
scripts/setup_private_endpoint.ps1を 段階(Stage)実行する(ポリシーでの失敗を切り分けるため)。- VNet/サブネット → Private DNS → Private Endpoint → バックエンドストレージ → コンピュート(VNet 統合・MI デプロイ認証を作成時に指定)→ RBAC → アプリ設定 → フロント連携 の順。
- パラメータは引数か
.env(references/.env.example)から取得する。
Step 5: アプリをデプロイする
- 企業ネットワークからの大容量デプロイはリセットされるため、CI からデプロイする(
scripts/deploy_functionapp.yml)。 - コンテンツ配信はブラウザ直アクセスをやめ、**API プロキシ(HTTP Range 対応)**に変更する(詳細は各リファレンス)。
Step 6: 検証する
- 未認証で保護エンドポイントが
401を返す(配信・認証保護の確認)。 - 認証後にデータ取得が
200(Private Endpoint 経由の読取成功)。 - コンテンツは Range 要求に
206+Content-Rangeを返す。 - ブラウザ自動化方針に従い、起動前に
AskUserQuestionで Edge プロファイルを確認してから、ブラウザ E2E を VS Code 統合ブラウザで自動化する(Playwright 単体・MCP は使わない)。
Step 7: クリーンアップとセキュリティ
- 旧「公開切替」自動化(Automation runbook / スケジュール / CI)は不要かつ無効のため削除する。
- シークレットは env / Key Vault 参照で管理し、コミットしない。一時ファイル・認証キャッシュは
.gitignore。 - 露出したシークレットはローテーションする。
参考リンク
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
Copilot Studio 新 UI の Agent flows / Workflows を構築・公開・検証する。Dataverse レコード作成/更新トリガーから既存の発行済み Copilot Studio v2 を Agent ノードで呼ぶ標準経路、Code Apps との非同期要求/結果連携、および手動 Start + inline Agent の API ライフサイクル検証を扱う。
株主総会の想定問答を、IR 抜粋(決算短信・説明資料・招集通知など)を根拠に下書きし、利用者の確認後に Dataverse の想定問答テーブルへ「下書き」として登録するスキル。 Use when ユーザーが「配当について想定問答を作って」「この論点の想定問答を 3 件追加して」「招集通知から想定問答を作って」「想定問答を登録して」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data / create_record / update_record)を使用する。削除・テーブル変更のツールは使わない。
株主総会の想定問答を点検し、根拠の IR 抜粋に無い数値・存在しない根拠 ID・回答者や注意事項の抜け・趣旨の重複・下書きのまま残っているものを一覧にするスキル(書き込みはしない)。 Use when ユーザーが「想定問答を点検して」「根拠の無い数値が無いか確認して」「下書きの想定問答を一覧にして」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data)を使用する。書き込み・削除のツールは使わない。
株主総会の質疑応答のリハーサル台本(議長・株主・回答役員の読み上げ原稿)を、承認済みの想定問答から作り、Dataverse のリハーサル台本テーブルへ登録するスキル。 Use when ユーザーが「リハーサルの台本を作って」「QA-001〜QA-010 で読み上げ原稿を作って」「番号を言わない株主も入れた台本を作って」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data / create_record / update_record)を使用する。削除・テーブル変更のツールは使わない。
AI Builder の AI プロンプト(GPT Dynamic Prompt)を Dataverse API で作成し、Copilot Studio エージェントにツール(アクション)として追加する。Power Automate フローとの統合パターンも含む。