GraphQL Admin APIでの取得項目の制限について

Topic summary

店舗が親会社に販売情報を共有する際、GraphQL Admin APIを使用する運用を検討中。ただし顧客の個人情報は連携したくないという要件がある。

主な質問内容:

  • 社内用とは別に、親会社用のGraphQL Admin APIアプリを作成し、アクセストークンを分けることで別APIとして運用可能か
  • 親会社用APIのアクセススコープを「read」のみに設定することで、親会社側では取得のみ可能で更新はできないようにできるか
  • 親会社用APIで特定項目(個人情報など)のみアクセススコープを許可しないことで、その情報の取得を防げるか

現状:
回答待ちの状態で、GraphQL Admin APIのアクセス制御とスコープ設定に関する技術的な実現可能性についての情報を求めている。

Summarized with AI on November 7. AI used: claude-sonnet-4-5-20250929.

基本的な設定に関する質問で申し訳ございません。
店舗の販売情報を親会社に共有する必要があり、
共有方法としてGraphQL Admin APIを親会社の人に実行してもらう運用を想定しております。
ただ顧客の個人情報などは連携したくないので、下記が可能かをご教授いただけると助かります。

①既に社内で使用している「GraphQL Admin API」とは別に、親会社が叩く用の「GraphQL Admin API」用のアプリを作成すれば、アクセストークンによって別のAPIとして分けることができるか。

②親会社用の「GraphQL Admin API」用のアプリでアクセススコープをreadだけに設定すれば、
社内用の「GraphQL Admin API」では更新ができるが、親会社用の「GraphQL Admin API」では取得しかできないといった運用は可能か

③親会社用の「GraphQL Admin API」で個人情報を取得させないため、特定の項目のみにアクセススコープを許可することは可能か

@store_K

①既に社内で使用している「GraphQL Admin API」とは別に、親会社が叩く用の「GraphQL Admin API」用のアプリを作成すれば、アクセストークンによって別のAPIとして分けることができるか。

②親会社用の「GraphQL Admin API」用のアプリでアクセススコープをreadだけに設定すれば、
社内用の「GraphQL Admin API」では更新ができるが、親会社用の「GraphQL Admin API」では取得しかできないといった運用は可能か

③親会社用の「GraphQL Admin API」で個人情報を取得させないため、特定の項目のみにアクセススコープを許可することは可能か

はい、3点とも可能です。

ご参考まで。
(キュー田辺)

@Qcoltd
@qcoltd-tanabe

有難うございます。
追加でお伺いさせていただきたいのですが、

③親会社用の「GraphQL Admin API」で個人情報を取得させないため、特定の項目のみにアクセススコープを許可することは可能か

も可能とのことですが、例えば注文情報(Order)の内、
商品や数量だけ取得できるようにして、配送先などの個人情報は取得できないようにするアクセススコープの設定は可能でしょうか。
開発ストアで「アプリと販売チャンネル→アプリ開発」を確認したところ注文のオブジェクト単位でしか指定できなそうでしたが、どこで設定ができますでしょうか。


※「GraphQL Admin API」では取得項目の指定ができることは認識してますが、
クエリを変更すれば個人情報を取得できる状況があまり望ましくないとのことで、
そもそも特定の項目しか取得できないAPIが出来ればと思い質問させていただいております。

@store_K

商品や数量だけ取得できるようにして、配送先などの個人情報は取得できないようにするアクセススコープの設定は可能でしょうか。

例えば、
read_ordersは許可するが、配送先住所は取れない
read_customersは許可するが、メールアドレスは取れない
などの指定ができるか、ということですね。

それはできませんね。

そこまで実現されたい場合は、
カスタムアプリ側で、Admin APIをコールする処理を内包したAPIを用意し、親会社様はそのAPIをコールするようにした方が良いですね。
親会社様用のAPIではAdmin APIからのレスポンス値を削って返却する、ような処理を仕込むと良いかと思います。
親会社様用APIをコールするには専用のアクセストークンを持っていないとコールできないや、APIコール自体にIP制限を設けるなどすれば、セキュリティ的にも問題ないかと思います。

ご参考まで。
(キュー田辺)