私は、grpcサービスにある種の機能ベースのアクセス制御を追加しようと考えていました。私の考えは、protoファイルで定義された各rpcに必要な機能を持たせ、grpcインターセプタを使用して、ユーザーが提供する機能がrpcで必要とされるものと一致するかどうかをチェックすることでした。私はいくつかの文書やチュートリアルを見てきましたが、どこから始めたらいいか分かりません。どのような指針をいただければ幸いです。Protobufへのアクセス制御の追加
0
A
答えて
1
これは、プロトタイプファイルを解析してコードやデータファイルを生成するジェネレータープラグインを作成することです。 Likeのように。各rpcには、カスタマイズ可能なオプションがあり、thisのようなprotoファイルに追加できます。これらのオプションはprotobuf.MethodOptionsと呼ばれます。これはhereです。したがって、独自のメソッドオプションを使用して、これを使用してバリデーターまたは修飾子を生成し、次にインターセプターからバリデーターを呼び出して解決することができます。
私には違う言い方をすることができます。 マップを含むjsonまたはyamlファイルがある可能性があります。すべてのprotobufメソッドには、"/package.service/rpcMethodName"
という形式の固有の名前識別子があります。あなたのようなRPCメソッドがあればそう:
syntax = "proto3";
package yourpackage;
service ServiceName {
rpc MethodName(Request) returns (Response) {};
}
をこのメソッドの一意の識別子を使用して、grpc.UnaryServerInfo.FullMethod
として、あなたのインターセプタ内で見つけること/yourpackage.ServiceName/MethodName
としてのようになります。
あなたはFullMethodNameと必要な機能が含まれているyamlまたはjsonを介して別のマップを管理しています。次にインターセプタ内でマップを読み、メソッドに必要な機能を見つけて、目的の操作を適用します。
関連する問題
- 1. アクセス制御用Odataコントローラの追加フィルタリング
- 2. ページへのアクセス権制御
- 3. angularJs内のビューへのアクセスの制御
- 4. リピーター内の制御へのアクセス
- 5. ルア - ファイルへのアクセスとアプリケーションの制御?
- 6. .NETアセンブリへのアクセスの制御
- 7. JMXローカル監視へのアクセス制御
- 8. サービスへのアクセスを制御するデザインパターン
- 9. Nexusのアクセス制御
- 10. Redisのアクセス制御
- 11. Cgitのアクセス制御
- 12. Postgresqlのアクセス制御
- 13. ASP.NET動的制御の追加
- 14. 許可の追加クエリを使わないで画像ファイルのパスへのアクセスを制御する方法
- 15. メソッドのアクセスの制御
- 16. アクセス制御:オブジェクトのプロパティの代わりに追加のグループメンバシップを持つRBAC
- 17. Googleのprotobufファイルへのアクセス(簡単)
- 18. Asp.netのHTMLへの制御
- 19. アクセス制御 - 許可アクセス元 -
- 20. ジャージー - プリフライトリクエストへの応答は、アクセス制御チェックに合格しない:いいえ「アクセス制御 - 許可 - 起源」
- 21. C#DLLアクセスの制御
- 22. Zendフレームワークのアクセス制御
- 23. PHPの部分アクセス制御
- 24. CORBAの認証/アクセス制御
- 25. 静的リソースのアクセス制御
- 26. Drupalのビュー - アクセス制御ブロックコンテンツ
- 27. Apache sparkのアクセス制御
- 28. Azure Blobストレージロールベースのアクセス制御
- 29. Wpfのアクセス制御テンプレートコントロール?
- 30. JAX-RSアクセス制御
ありがとうございます。これらは素晴らしいヒントです! – user1646637