Dapr
v1.18.10Orchestration & Managementアクセス制御、アプリ間の分離、リクエストサイズ、エラー処理に関するセキュリティ修正を含むメンテナンスリリースです。公開ポートでのメタデータ書き込み方法が変わり、gRPCリクエストヘッダーにもサイズ制限が追加されています。
要対応 (1)
securitygRPCリクエストヘッダーサイズの制限
gRPC APIサーバーと内部gRPCサーバーは、リクエストヘッダーのサイズを
--read-buffer-sizeバイトまでに制限します。この値の最小値は64 KiBです。
影響確認 (9)
securityHTTPサービス呼び出しのメソッド照合の修正
HTTPアプリを実行している場合に適用されます。
HTTPアプリのサービス呼び出しでは、パーセントエンコード文字を1回デコードして小文字化したうえで、アプリに渡されるHTTPメソッドに一致するポリシーを使ってアクセス制御を判定します。
security
WatchJobsの内部アクター型に対する権限制御WatchJobsストリームで、呼び出し元のアプリと名前空間に属さない内部アクター型dapr.を指定するか、その同時実行数制限を設定する場合に適用されます。internal. * Schedulerは、呼び出し元のアプリと名前空間に属さない内部アクター型(dapr.)を指定または同型の同時実行数制限を設定したinternal. * WatchJobsストリームを、PermissionDeniedで拒否します。securityエスケープ済みパスへのAPIトークン検証
DAPR_API_TOKENを設定している場合に適用されます。APIトークンのミドルウェアがルーターと同じエスケープ済みパスを比較するようになり、パーセントエンコードされたヘルスチェックのパスにもAPIトークンが必要です。
security内部ポートのgRPCプロキシ宛先制限
内部ポートを使用している場合に適用されます。
内部ポートのgRPCプロキシはローカルアプリ宛ての呼び出しだけを処理し、それ以外の宛先には
PermissionDeniedを返します。security公開ポートでのメタデータ書き込みの停止
公開ポートで
PUT /v1.を送信する場合に適用されます。0/metadata/{key} 公開ポートでの
PUT /v1.は0/metadata/{key} 404を返すようになりました。このリクエストはDaprのHTTP APIポートへ送信します。securityディスカバリードキュメントのキャッシュ抑制
リクエストホストからディスカバリードキュメントを構築する場合に適用されます。
リクエストホストから構築するディスカバリードキュメントには、
Cache-Control: no-storeが付くようになりました。ディスカバリードキュメントは検証済みの値から構築されます。security
primaryEncryptionKeyの不正値に対するエラー処理primaryEncryptionKeyに、通常ならパニックを引き起こす値が含まれる場合に適用されます。パニックにつながる値を
primaryEncryptionKeyに指定した場合、Daprはパニックを起こさず、既存のステートストアエラーコードとともに、gRPCではInternal、HTTPでは500を返します。securityアウトボックスマーカーキーの検証
トランザクショナルアウトボックスを使用している場合に適用されます。
トランザクショナルアウトボックスのサブスクライバーは、
idがアウトボックスのマーカーキー(outbox-<uuid>)でないメッセージを、状態の読み取りや削除を行う前に破棄し、警告をログに記録します。securityAPIトークン比較方式の変更
DAPR_API_TOKENを設定している場合に適用されます。HTTPとgRPCのAPIトークン検証で、時間が一定の比較を使うようになりました。
その他の記録済み変更 2 件すべてfixes 2
fixes (2)
- The sidecar closes the connection when opening the stream fails, and closes it when the stream ends.
- Dapr no longer counts timer events in the stored inbox length, and no longer includes them when it computes the inbox keys to save.
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチも、その一例です。