fix(edp): resolve managed reader source scope
This commit is contained in:
@@ -325,6 +325,19 @@ Managed route включается только через
|
||||
`EXTERNAL_DATA_PLANE_MANAGED_PROVISIONING_ENABLED`; legacy plaintext routes —
|
||||
через отдельный `EXTERNAL_DATA_PLANE_PROVISIONING_ENABLED`.
|
||||
|
||||
Managed reader хранит два разных provider-neutral scope. `connectionId` в
|
||||
reader grant идентифицирует consumer connection, а `sourceConnectionId`
|
||||
фиксирует writer connection, из которого разрешено читать Data Product.
|
||||
`sourceConnectionId` не приходит из L2 graph: при ensure EDP разрешает его по
|
||||
активным writer bindings того же `tenantId`, `providerId` и полного набора
|
||||
`allowedDataProductIds`. Точное совпадение connection выбирается напрямую;
|
||||
иначе допускается только один кандидат. Ноль кандидатов возвращает
|
||||
`managed_reader_source_scope_not_found`, несколько —
|
||||
`managed_reader_source_scope_ambiguous`. Поэтому reader из отдельного L2 target
|
||||
не попадает в пустой consumer scope, а несколько provider accounts никогда не
|
||||
смешиваются эвристически. Legacy reader binding сохраняет прежнюю семантику:
|
||||
его `connectionId` одновременно является source connection.
|
||||
|
||||
Managed auth wire contract —
|
||||
`nodedc.external-data-plane.managed-provisioner-request/v1`. Engine отправляет
|
||||
ровно по одному header:
|
||||
|
||||
Reference in New Issue
Block a user