私は、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. Polymer 1.0:ルートへのアクセスの制御
- 6. .NETアセンブリへのアクセスの制御
- 7. リピーター内の制御へのアクセス
- 8. サービスへのアクセスを制御するデザインパターン
- 9. JMXローカル監視へのアクセス制御
- 10. Cgitのアクセス制御
- 11. Nexusのアクセス制御
- 12. Postgresqlのアクセス制御
- 13. Redisのアクセス制御
- 14. ASP.NET動的制御の追加
- 15. メソッドのアクセスの制御
- 16. 許可の追加クエリを使わないで画像ファイルのパスへのアクセスを制御する方法
- 17. アクセス制御:オブジェクトのプロパティの代わりに追加のグループメンバシップを持つRBAC
- 18. Googleのprotobufファイルへのアクセス(簡単)
- 19. Asp.netのHTMLへの制御
- 20. アクセス制御 - 許可アクセス元 -
- 21. Drupalのビュー - アクセス制御ブロックコンテンツ
- 22. C#DLLアクセスの制御
- 23. Mosquitto MQTT Brokerのアクセス制御
- 24. Django:ロールベースのアクセス制御
- 25. Apache sparkのアクセス制御
- 26. Azure Blobストレージロールベースのアクセス制御
- 27. PHPの部分アクセス制御
- 28. CORBAの認証/アクセス制御
- 29. フォームからのアクセス制御
- 30. Zendフレームワークのアクセス制御
ありがとうございます。これらは素晴らしいヒントです! – user1646637