<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>実務ハック on Indie Builders</title><link>https://indie-builders.com/categories/hacks/</link><description>Recent content in 実務ハック on Indie Builders</description><generator>Hugo</generator><language>ja-JP</language><lastBuildDate>Mon, 06 Jul 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://indie-builders.com/categories/hacks/index.xml" rel="self" type="application/rss+xml"/><item><title>Microsoft Entra クロステナント：同意しても 401 が返る理由と 403 との切り分け方</title><link>https://indie-builders.com/posts/crossing-in-is-not-being-allowed/</link><pubDate>Mon, 06 Jul 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/crossing-in-is-not-being-allowed/</guid><description>クロステナントアクセスで同意後も401/403に弾かれる原因を解説。越境（SP実体化）と認可（Dataverseセキュリティロール）は独立した2層で動き、同一テナントでも認可設定は必要。エラー切り分けの診断軸を提供する。</description></item><item><title>Power Platform 従量課金（PAYG）有効化で踏む2つの壁——`japan`≠`japaneast` のポリシー名前体系ズレと環境容量制約</title><link>https://indie-builders.com/posts/payg-activation-real-traps/</link><pubDate>Sun, 05 Jul 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/payg-activation-real-traps/</guid><description>従量課金（PAYG）の有効化工程はチェックボックス一つに見えて、2つの系の境界をまたぐ整合作業だ。`japan`≠`japaneast` のポリシー名前体系ズレと、無料テナントの容量壁——実機で踏んだ2つの壁の診断・回避の判断軸を渡す。</description></item><item><title>Power Apps PAYG のコストは「誰に開かせるか」で決まる</title><link>https://indie-builders.com/posts/access-is-the-meter/</link><pubDate>Sat, 04 Jul 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/access-is-the-meter/</guid><description>Power Apps PAYG は入力ゼロでも「1 回開けば 1 人ぶん課金」。コストを左右するのは機能でなく「誰に開かせるか」——共有範囲が課金範囲と等しい。使い始めスパイクを生む「全社周知・各自入力」の機構を解き明かし、制御点を「開ける前」に置く設計判断軸を渡す。</description></item><item><title>Power Apps 従量課金（PAYG）の課金単位：月間ユニーク利用者数 × アプリ数</title><link>https://indie-builders.com/posts/payg-counts-monthly-unique-users/</link><pubDate>Fri, 03 Jul 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/payg-counts-monthly-unique-users/</guid><description>Power Apps 従量課金（PAYG）が数えているのは「月間ユニーク利用者数 × アプリ数」。「回数が多いと高い」「アプリを置くだけで課金」など 3 つの誤解を潰し、線形課金の構造から正確な見積もり判断軸を手に入れる。</description></item><item><title>役職名でアクセスを設計すると例外で壊れる――判定軸を「管理範囲」に移す3つの設計パターン</title><link>https://indie-builders.com/posts/role-scope-not-title/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/role-scope-not-title/</guid><description>役職名でアクセスグループを設計すると、同じ役職名でも権限が違う例外や、部門ごとに呼称が揃わない問題で必ず破綻する。判定軸を肩書から管理範囲（スコープ）に移し、例外は人ごとの上書きで吸収する設計パターンを解説する。</description></item><item><title>検証で「きれいな数値」が出たら計器を疑え――4種の測定ミスと確かめる手順</title><link>https://indie-builders.com/posts/distrust-your-instruments/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/distrust-your-instruments/</guid><description>実機検証で「タイムアウト0件、合格」のような気持ちのいい数値が出たとき、本当に疑うべきは対象システムではなく計器（測定の前提）だ。環境汚染・指標取り違え・データ消失・n=1という4種の計器の嘘を実体験から言語化し、結論を出す前に測定を確かめる手続きを渡す。</description></item><item><title>非同期ジョブが13分かかってもタイムアウトしない理由——Dataverse の「拾われ待ち」と「実行時間」を分けて診断する</title><link>https://indie-builders.com/posts/async-timeout-diagnosis/</link><pubDate>Tue, 30 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/async-timeout-diagnosis/</guid><description>非同期ジョブが「13分かかってもタイムアウトしない」のは、総経過時間の大半がキュー待ち（拾われ待ち）だからだ。タイムアウトの2分制限は実行時間のみに適用される。AsyncOperation テーブルの CreatedOn/StartedOn/CompletedOn 3時刻を分離して計測する判断軸と、成功ジョブ自動削除による診断バイアスの外し方を示す。（Dataverse 公式仕様 2025年確認）</description></item><item><title>並列を増やすと遅くなる理由と、直列ボトルネックを解消する3つの対策</title><link>https://indie-builders.com/posts/parallel-wont-beat-serial-bottleneck/</link><pubDate>Mon, 29 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/parallel-wont-beat-serial-bottleneck/</guid><description>並列ワーカーを増やしたのに処理が遅くなる原因は「直列共有資源の渋滞」だ。容量不足（並列が効く）と直列渋滞（並列が逆効果）の2種類の遅さを見分け、待ち行列理論（利用率90%→10倍の遅延）をもとに正しい対策を選ぶ判断軸を示す。</description></item><item><title>Azure GUIのハマりどころを「不変条件」で解く──PIM・VNet・DLP・予約名の裏にある5つの設計ルール</title><link>https://indie-builders.com/posts/azure-cloud-gui-invariants/</link><pubDate>Sun, 28 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/azure-cloud-gui-invariants/</guid><description>AzureやPower PlatformのGUIでつまずく瞬間は「裏の不変条件が露出した瞬間」。PIM・VNetピアリング・DLPポリシー・予約名の4事例から不変条件5型を学び、エラーの出どころ（層）を読み分ける習慣を身につける。</description></item><item><title>Dataverse で CreateMultiple を使っても速くならないとき、受け手のプラグインを確認する</title><link>https://indie-builders.com/posts/bulk-needs-receiver-too/</link><pubDate>Sat, 27 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/bulk-needs-receiver-too/</guid><description>Dataverse でバルク API（CreateMultiple/UpdateMultiple）を使っても速くならない原因は、受け手のプラグインが単発発火のままだからだ。公式仕様「message pipelines merged」の構造を図解し、プラグイン登録先を一本化して律速点を正直に移す判断軸を示す。</description></item><item><title>Dataverse の Lookup 解決：業務コードはサーバーに委ねる、GUID を自前で持つのが危険な理由</title><link>https://indie-builders.com/posts/dataverse-id-resolution-responsibility/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-id-resolution-responsibility/</guid><description>Dataverseの内部IDは環境（dev/test/prod）ごとに別物。Lookup解決は「業務コードのままサーバーに委ねる」が既定で、移送側が自前でGUIDを持つのは漏れた抽象。委譲と自前の判断軸を一次ソースで解説。</description></item><item><title>Power Platform のコネクタ能力差は API の違いではなく抽象化層の露出差で決まる</title><link>https://indie-builders.com/posts/dataverse-connector-abstraction-layer/</link><pubDate>Thu, 25 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-connector-abstraction-layer/</guid><description>Power Automate も Power Apps も Dataverse Web API も、裏では同じ API を叩いている。能力差の根拠はコネクタ（抽象化層）が何を露出しているかで決まる。壁に当たった時の正しい問い直し 3 段を技術判断軸として整理する。</description></item><item><title>Dataverse 取込ツールを能力 2 軸で選ぶ——「緑（成功）」は行セキュリティの着地を保証しない</title><link>https://indie-builders.com/posts/dataverse-data-mover-lookup-mi-row-security/</link><pubDate>Wed, 24 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-data-mover-lookup-mi-row-security/</guid><description>Power Automate・Dataflows・Azure Functions——取込ツールは「好み」でなく能力で選ぶ。代替キー Lookup 解決と secretless MI 接続の 2 軸を両立できるのは Azure Functions と ADF のみ。「緑（成功）」を返しながら行レベルセキュリティが未到達になる連鎖構造を実機の観点で示す。</description></item><item><title>Dataverse の Owner 欄、書くのは1つだけ——Owning User / Team / BU は触らなくていい</title><link>https://indie-builders.com/posts/dataverse-owner-set-once-auto-fill/</link><pubDate>Sun, 21 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-owner-set-once-auto-fill/</guid><description>Dataverse でレコード所有を設定するとき、Owner / Owning User / Team / BU の4欄のうち書くのは Owner だけ。残り3欄は自動派生の読み取り専用。Owner テーブルが一覧に存在しない理由と、矢印アイコンが空でない理由も解説。</description></item><item><title>Dataverse で owner と owningBU をどう使い分けるか——2語に分けると設計判断が言語化できる</title><link>https://indie-builders.com/posts/dataverse-owner-owningbu-2axis/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-owner-owningbu-2axis/</guid><description>Dataverse で「誰の（owner=名札）」と「どこの（owningBU=番地）」を混同すると設計判断が言語化できない。2軸に分けるだけで、持ち主が1人なのに課全体が見える理由、チームをいつ作るべきかの判断が自分の言葉で説明できる。</description></item><item><title>Dataverse で担当者別表示を作るとき、フィルターより先に整理すべき3つのID</title><link>https://indie-builders.com/posts/dataverse-owner-identity-not-filter/</link><pubDate>Fri, 19 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-owner-identity-not-filter/</guid><description>Dataverse でログインIDと内部IDを混同すると所有者絞り込みが設計できない。3つのID（ログインID・systemuserid・UPN）の橋渡し構造と、毎クエリ自動評価される行レベルセキュリティの仕組みを理解すれば、フィルターを書かずに担当者別表示が成立する。</description></item><item><title>Dataverse 代替キーで Lookup を張る——取込時正規化と親→子ロードオーダーの作法</title><link>https://indie-builders.com/posts/normalize-at-ingestion-altkey-lookup/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/normalize-at-ingestion-altkey-lookup/</guid><description>基幹から来る横長テキストコード（支社コード・課コード等）は取込時にLookup関係へ変換できる。内部GUIDが不要な代替キーの使い方、親→子のロードオーダー管理、「変換成功（緑）≠関係が張れた」の確認手法を「意図的に壊す検証」で証明する実装ガイド。</description></item><item><title>Dataverse の列セキュリティ——フォームから外すだけでは列の機密は守れない。設定と破壊検証の手順</title><link>https://indie-builders.com/posts/dataverse-column-security-row-visible-field-hidden/</link><pubDate>Wed, 17 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-column-security-row-visible-field-hidden/</guid><description>Dataverse のフォームから列を外しても API・エクスポート経由で読める。本物の列の機密境界はフィールドセキュリティプロファイルで「許可した身分だけ可視」とプラットフォームに強制させることで成立する。行は読める人でも API で null が返ることを破壊検証で確かめる手順と、運用依存の限界まで誠実に開示する。</description></item><item><title>誰にも頼まれない、一番小さなものを最後まで作る——AIで個人開発を始める一手</title><link>https://indie-builders.com/posts/smallest-solo-build/</link><pubDate>Wed, 17 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/smallest-solo-build/</guid><description>AIを使って個人で何かを作りたいが、何から手をつければいいか分からない人へ。最初に選ぶべきは『半日で最後まで動く、誰にも頼まれない小さな一手』。自然言語で形を出し、分解して理解し、もう一段難しくする——回し始めるためのループの作り方。</description></item><item><title>Azure SQL への接続情報を外部ベンダーと共有しない——Entra ID の認証梯子で「鍵を渡さない設計」を組む</title><link>https://indie-builders.com/posts/db-identity-auth-no-shared-password/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/db-identity-auth-no-shared-password/</guid><description>外部ベンダー・フリーランスにDB接続情報（ID/パスワード）を渡す運用は「追えない・回せない・全権・気づけない」の4リスクを持つ。Entra IDのマネージドID／サービスプリンシパルを使えば、パスワード共有なしに「身分認証・名前指定の最小権限・失効即時」の接続設計が組める。4段の梯子と、GUI制限・ライセンス条件・失効の留保を含む実務判断軸を提供する。</description></item><item><title>Dataverse のビューフィルターはアクセス制御ではない——ロール深度×BU 構造で守り、API で壊して確かめる</title><link>https://indie-builders.com/posts/dataverse-view-filter-access-control/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-view-filter-access-control/</guid><description>Dataverse でビューを絞っても API やエクスポートから全件取得できる構造を解説する。本物のアクセス境界は owner × owningBU × ロール深度（User/BU/Parent:Child/Org）の3ダイヤルで決まる。設計後に「わざと破って確かめる」検証手順まで含め、監査基準（ISO 27001・SOC 2）が要求する技術的制御との対応を判断できるようにする。</description></item><item><title>Copilot StudioのエージェントをGitで管理し、定義通りに動くことを確かめる</title><link>https://indie-builders.com/posts/ai-agent-config-as-code/</link><pubDate>Sat, 13 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/ai-agent-config-as-code/</guid><description>GUIだけで作ったAIエージェントは差分が追えず野良化する。人格・規律・ツール定義をYAMLでGit管理するconfig-as-code統治と、定義通りに動くことを6観点で実機検証する判断軸を解説。</description></item><item><title>Microsoft Entra ID で AI 外部委託を止めずに進める——鍵もデータも渡さない設計の判断軸</title><link>https://indie-builders.com/posts/ai-delivery-no-keys-no-pii/</link><pubDate>Sat, 13 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/ai-delivery-no-keys-no-pii/</guid><description>AI・外部コーディング導入を止める壁は技術力ではなく「経営層に説明できないこと」だ。「定義（config）は渡せる、鍵・接続・組織データは顧客側にしか存在しない」設計を軸に、build/bind の役割分離・PIM 時限昇格・監査ログ保存期間の判断軸を実務ガイドとして示す。</description></item><item><title>DataverseのLookup列はSQLのJOINではない——Excelインポートで参照が空のままになる理由</title><link>https://indie-builders.com/posts/dataverse-lookup-not-sql-join/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-lookup-not-sql-join/</guid><description>DataverseのLookup列はSQLのJOINとは構造が異なり、参照先GUIDを各レコードに事前保存する設計になっている。SQL・VLOOKUP慣れの初心者がつまずく「Lookup列が空のまま」の謎をメンタルモデルから解消し、Excelインポートの限界とDataflowsの役割を判断軸で整理する。</description></item><item><title>Power Automate で「接続の新規作成だけ弾かれる」理由——Connection Reference と Environment Maker ロールの関係</title><link>https://indie-builders.com/posts/power-automate-connection-new-maker-role/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/power-automate-connection-new-maker-role/</guid><description>Power Automateで「接続の切り替えは通るのに新規作成だけ弾かれる」のは、Connection ReferenceがDataverseテーブルへの書き込みを必要とするためで、Environment Makerロールなしでは完結しない。画面操作ではなく権限モデルの構造から原因を解説し、裏口ルートが破綻するタイミングまで明示する。</description></item><item><title>Dataverse ビューフィルターの裏側——ログインユーザーのデータだけ表示される3段クエリ処理の全体像</title><link>https://indie-builders.com/posts/dataverse-view-filter-bucket-relay/</link><pubDate>Wed, 03 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-view-filter-bucket-relay/</guid><description>Power Apps 起動時に Dataverse が裏で走らせる3段クエリ（SystemUser 特定 → 担当者マスタ Lookup 逆引き → 代理店マスタ テキスト一致フィルター）の構造を FetchXML レベルで図解し、ビューフィルター設計とトラブルシューティングの判断軸を示す。</description></item><item><title>Dataverse「Rows in this table」の設定ミスで権限エラーが出る理由と、唯一のリカバリ手順</title><link>https://indie-builders.com/posts/dataverse-rows-permission-trap/</link><pubDate>Wed, 03 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-rows-permission-trap/</guid><description>Dataverse テーブルの所有権を Organization に設定すると Current User フィルターと構造的に矛盾し権限エラーが発生する。変更不可仕様の罠と唯一の解決策（削除再作成）を解説する。</description></item><item><title>DataverseでLookup列をやめる判断軸——複数担当者の共有が必要になったとき</title><link>https://indie-builders.com/posts/dataverse-lookup-textcode-join/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-lookup-textcode-join/</guid><description>DataverseのLookup列は「1セル=1行」という構造的制約を持ち、複数担当者共有・組織単位のアクセス制御が必要になると設計が破綻する。共通テキストコード（GAコード等）を両テーブルに持たせ「直接繋がない設計」に切り替えることで、人員増加・組織変更に無修正対応できる拡張性を確保する判断軸を解説する。</description></item><item><title>DataverseのName列をUpsertの突合キーに使ってはいけない理由と、代替キー設定の3ステップ</title><link>https://indie-builders.com/posts/dataverse-alternate-key-safe-upsert/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-alternate-key-safe-upsert/</guid><description>DataverseのName列をDataflows Upsertの突合キーに使うと同名他社・表記ゆれ・社名変更の3トラップが必発する。業務コード列に代替キー（Alternate Key）を設定する3ステップでUpsertを安全化する判断軸と手順を解説する。</description></item><item><title>Power Automate フロー引き継ぎで権限が足りない本当の理由——2つのレイヤーと完全チェックリスト</title><link>https://indie-builders.com/posts/power-automate-flow-handover-permissions/</link><pubDate>Sun, 31 May 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/power-automate-flow-handover-permissions/</guid><description>Power Automateフローを別担当者に引き継ぐとき、「共同所有者として共有」だけでは完全な引き継ぎにならない。Exchange Online側のSend As権限とPower Platform側のEnvironment Makerロールという2つの独立した権限レイヤーを理解し、Connection Referenceの仕組みを軸に安全な引き継ぎチェックリストを構造で示す。</description></item><item><title>Power Platform／Dataflows｜Dataverse へのデータ投入——0落ち・Lookup・Choice・Upsert の4難所</title><link>https://indie-builders.com/posts/dataverse-dataflows-excel-import/</link><pubDate>Fri, 29 May 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/dataverse-dataflows-excel-import/</guid><description>SQL→Excel→DataflowsでDataverseにデータを投入する際に必ず発生する「0落ち・型崩れ」「Lookup列マッピング」「Choice型内部値不一致」「Upsert代替キー」の4大つまずきを構造から理解して回避する実践チュートリアル。</description></item><item><title>M365 Copilot、契約する？外す？——「抜いたら何が残るか」で決める</title><link>https://indie-builders.com/posts/m365-copilot-license-selection/</link><pubDate>Thu, 28 May 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/m365-copilot-license-selection/</guid><description>Copilot を「毎月いくら払うか」ではなく「抜いたら何が残るか」で見る。独立クリエイターの最低構成3ルートと、解約時のデータ保持期間（Expired 30日／Disabled 90日）から固定費を選び取る判断軸。</description></item><item><title>Power Platform｜本番データを開発環境へ——「氏名マスク済み」で安全と言い切れるか</title><link>https://indie-builders.com/posts/prod-data-masking-boundary/</link><pubDate>Thu, 28 May 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/prod-data-masking-boundary/</guid><description>氏名をマスクしても支社コードや担当者コードが残れば、匿名加工情報の要件は満たせない。開発環境への本番データ持ち込みの境界線を、識別子レベルの設計で引く判断軸。</description></item><item><title>Power Automate と Logic Apps、どう使い分ける？——3年後に誰が触るかで決める</title><link>https://indie-builders.com/posts/power-automate-vs-logic-apps/</link><pubDate>Wed, 20 May 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/power-automate-vs-logic-apps/</guid><description>Power Automate と Logic Apps の使い分けは「3 年後に誰が触るか」で決まる。機能比較ではなくオーナーシップで判断軸を片付ける記事。</description></item><item><title>Power Automate 無料枠でどこまでできる？——有料への損益分岐は「月27分」</title><link>https://indie-builders.com/posts/power-automate-free-tier-limits/</link><pubDate>Wed, 20 May 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/power-automate-free-tier-limits/</guid><description>Power Automate の無料枠（M365 付帯・標準コネクタのみ）でどこまでできるか。有料プランへの移行は「月 27 分以上の作業削減が見込めるか」と「プレミアムコネクタが必要か」の損益分岐で片付ける判断軸。</description></item><item><title>Power Automate、子フローはどこで分ける？——「3ヶ月ルール」で決める</title><link>https://indie-builders.com/posts/power-automate-loose-coupling/</link><pubDate>Sat, 09 May 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/power-automate-loose-coupling/</guid><description>Power Automate のフローは組み始めると一瞬で密結合に倒れる。3 ヶ月以内に別フローから呼ばれる可能性があるかで子フロー化の境界線を片付ける判断軸。</description></item><item><title>ノマドのAIツール、どう選ぶ？——4つの判断軸で揃える</title><link>https://indie-builders.com/posts/nomad-ai-tool-selection/</link><pubDate>Sat, 09 May 2026 00:00:00 +0900</pubDate><guid>https://indie-builders.com/posts/nomad-ai-tool-selection/</guid><description>個人契約可否・ノマド可搬性・使い込み深度・月額負担——この 4 つの軸で揃えれば、自分の AI ツール構成は決まる。</description></item></channel></rss>