
機能:
アクセスコントロール
アクセスコントロール
GraphQLエンドポイントは、スキーマを通じてアクセス可能なあらゆるデータを返せるため、悪意のある攻撃者がプライベートな情報を取得できてしまう可能性があります。そのため、データを保護するためのセキュリティ対策を実装する必要があります。
アクセスコントロール
アクセスコントロールリストを使用すると、スキーマ内の各オペレーション、フィールド、ディレクティブにアクセスできるユーザーを定義できます。
- すべてのユーザーのアクセスを無効にする
- ユーザーがログイン中またはログアウト中の場合にアクセスを許可する
- ユーザーが特定のロールを持っている場合にアクセスを許可する
- ユーザーが特定の権限を持っている場合にアクセスを許可する
- 訪問者が特定のIPアドレスまたはIP範囲からアクセスしている場合にアクセスを許可する

パブリック/プライベートスキーマ
スキーマ内の特定のフィールドやディレクティブへのアクセス権を持たないユーザーがアクセスを試みた場合、何が起こるべきでしょうか?
パブリック/プライベートAPIモードを使用することで、望ましい動作を制御できます。
パブリックAPIでは、スキーマ内のフィールドが公開されており、権限が満たされていない場合、ユーザーは権限が拒否された理由の説明を含むエラーメッセージを受け取ります。
プライベートAPIでは、スキーマは各ユーザーに合わせてカスタマイズされ、そのユーザーが利用できるフィールドのみが含まれます。そのため、禁止されたフィールドにアクセスしようとすると、そのフィールドは存在しないというエラーメッセージが表示されます。
