Dataverse で owner と owningBU をどう使い分けるか——2語に分けると設計判断が言語化できる
「持ち主を設定したのに課長から見えない」「チームを作るべきか、作らなくていいのか」——この判断がぶれるのは、owner(誰の責任か)と owningBU(どこに属すか)を1本の概念として扱うからだ。 2語に分けるだけで、Dataverse のアクセス制御設計は自分の言葉で説明できるようになる。 そして、純粋な階層要件であれば、チームは必要ない。 owner は名札、owningBU は番地——2語の役割を分けて定義するDataverse の行レベルアクセスは、2つの独立したフィールドで動いている。 **owner(名札)**は「このレコードは誰の責任か」を指す。設定できるのは1人のユーザーか1つのチームだけだ。 **owningBU(番地)**は「このレコードはどこに属すか」を指す。owning business unit(所有ビジネスユニット)の略で、常に1つのBU(ビジネスユニット:組織の管理単位。課・部・事業部などに対応させる)に紐づく。 Microsoft Learn「Security concepts in Microsoft Dataverse」(2026年時点)は次のように明示している。 “Data access to records is granted based on the owning business unit.” — Microsoft Learn: Security concepts in Microsoft Dataverse アクセスの開口部を決めるのは owningBU であり、owner ではない。ここが混同の出発点だ。 名札(owner)は「誰のものか」という属人的な指し示しであり、番地(owningBU)は「どのBU配下に置かれているか」という場所の指定だ。この2語は別のフィールドとして独立して存在し、別の経路でアクセス評価に効く。 2軸の効き先が違う——名札は本人経路で、番地は階層経路で効く名札(owner)が効くのは「本人経路」だ。ユーザーが自分自身のsystemuserid(Dataverse内部のユーザーID)と、レコードのownerIdフィールドを突き合わせることでアクセスが成立する。User深度のセキュリティロールがあれば、自分が名札に入っているレコードは見える。 番地(owningBU)が効くのは「階層経路」だ。レコードのowningBUと、アクセスしようとするユーザーのBU位置関係を評価する。セキュリティロールの深度設定がBU以上であれば、owningBUの属するBU内のレコードが見えるようになる。 この2つの評価経路は独立して動く。だから「持ち主が1人(name=担当者)なのに、課長からも見える」という状態が成立する。名札経路は本人しか通らないが、番地経路はBU階層を通して開口部を開けるからだ。 Microsoft Learn「How access to a record is determined」は、チーム所有経路について次のように記述している。 “In both cases, any access level will suffice to have access regardless of the business unit the record belongs to.” — Microsoft Learn: How access to a record is determined ...