Sobre los Dominios


Qué es un Dominio

Los dominios son espacios de nombres dentro del ledger que permiten agrupar todos los demás registros del ledger y heredar reglas de acceso dentro de este espacio de nombres delimitado.

Los dominios existen como un registro y son opcionales. Si no existe ningún dominio, los usuarios pueden asignar registros del ledger a cualquier dominio, pero una vez se crea el primer dominio, el ledger comienza a aplicar las reglas de los dominios. Esto significa que el dominio asignado debe existir como un registro y el usuario debe tener acceso para crear registros dentro de ese dominio.

Definir dominios crea restricciones que se aplican únicamente a los registros creados después de su definición. Cualquier registro creado mientras no existían dominios seguirá siendo válido y no será migrado automáticamente.

El Dominio Raíz

Cuando un registro no pertenece a ningún dominio específico, se dice que pertenece al dominio “raíz”. Al consultar el dominio de un registro que está en el dominio raíz, este aparecerá como indefinido. Este es el comportamiento predeterminado del ledger.

Seguridad de los Dominios

Al intentar realizar operaciones de lectura o escritura sobre un registro, se verifican las reglas de seguridad del dominio al que pertenece. Las reglas de acceso se heredan desde el dominio raíz hacia los dominios y subdominios inferiores. Esto significa que cualquier regla de acceso que permita realizar una operación en el nivel superior, también permitirá realizar esa misma operación en niveles inferiores.

Escenario de ejemplo

Dado un escenario donde tenemos reglas de acceso en el nivel superior que permiten al firmante admin realizar cualquier operación, luego en el dominio dominioA tenemos reglas de acceso que permiten al firmante admin@dominioA realizar cualquier operación. Y en el dominio dominioC tenemos reglas que permiten al firmante admin@dominioC realizar cualquier operación. Esto nos genera como resultado la siguiente tabla comparativa:

Given the scenario where we have access rules at top level that allows signer admin to perform any operation, then in the domain domainA we have access rules that allow the signer admin@domainA to perform any operation and in the domain domainC we have access rules that allow the signer admin@domainC to perform any operation, this is a comparison table of resulting permissions:

Permiso / Usuarioadminadmin@dominioAadmin@dominioC
Operaciones a nivel raíz (Ledger)🟢🔴🔴
Operaciones a nivel de domainA🟢🟢🔴
Operaciones a nivel de domainC🟢🔴🟢

Historial de cambios
1.0.0
  • Agregado Versión inicial