Control de Acceso

El soporte de tokenización incluye una función de control de acceso que admite mecanismos de control basados en roles y en propiedad.

Con el control basado en roles, los usuarios pueden llamar a métodos específicos con un rol asociado, como Token Admin o Token Minter. Con el control basado en la propiedad, puede restringir el acceso de los usuarios a activos de los que no son propietarios. Con el control de acceso basado en la propiedad, los usuarios que poseen los activos pueden llamar a métodos específicos, como Token Owner o Account Owner. Para obtener información específica sobre el control de acceso para los métodos, consulte las entradas individuales de los métodos documentados en los siguientes temas:
El control de acceso basado en roles soporta las siguientes personas:
Administración de token
Se pueden asignar usuarios Token Admin cuando se despliega un código de cadena de token. La información de usuario Token Admin se guarda en la base de datos de estado. Un usuario Token Admin puede otorgar y eliminar privilegios Token Admin para otros usuarios. Un usuario Token Admin no puede eliminar sus propios privilegios Token Admin. Un usuario Token Admin puede asignar el rol Org Admin, minter, quemador o notario a cualquier usuario.
Administrador de organización
Los métodos ampliados del marco de taxonomía de token soportan el rol Org Admin. Un usuario Token Admin puede asignar el rol Org Admin a cualquier usuario. Los usuarios de Org Admin tienen privilegios administrativos, pero solo dentro de su organización. Pueden crear cuentas o ver saldos de cuenta, pero solo para usuarios de su organización. Los usuarios de Org Admin que tienen un rol de moderador, quemador o notario pueden asignar ese rol a otros usuarios de su organización.
Minter de token
Un usuario al que se le asigna el rol de moderador es un Token Minter y puede acuñar tokens.
Quemador de tokens
Un usuario al que se le asigna el rol de quemador es un Token Burner y puede grabar tokens.
Notario de token
Un usuario al que se le asigna el rol de notario es Token Notary. Un Token Notary actúa como un tercero en las transacciones entre los pagadores y los beneficiarios. Un Token Notary puede disparar la finalización de una transferencia de token de un pagador a un beneficiario o, en su lugar, puede devolver los tokens a la cuenta del pagador.
Gestor de almacenes
Un usuario al que se le asigna el rol de almacén es Vault Manager. Vault Manager puede desbloquear un NFT bloqueado. El rol de almacén solo es aplicable para los estándares ERC-721 y ERC-1155 ampliados. La asignación del rol de almacén a un usuario es un requisito previo para bloquear los NFT. Solo se puede asignar el rol de almacén a un usuario por código de cadenas.
El control de acceso basado en propiedad soporta las siguientes personas:
Propietario de Cuenta
Cualquier usuario que tenga una cuenta es Account Owner.
Propietario del token
Cualquier usuario que actualmente posee un token no fungible es el Token Owner de ese token.

El control de acceso basado en roles y el control de acceso basado en la propiedad también se combinan en algunos métodos. Por ejemplo, el control de acceso basado en roles permite a un usuario con el rol menor crear tokens. Con el control de acceso basado en la propiedad, un propietario de token no fungible puede modificar las propiedades personalizadas de un token, pero no puede modificar los metadatos del token. Cuando un usuario con el rol minter crea un token no fungible (NFT), se convierte en el propietario del NFT. Como propietario de ese NFT, pueden modificar las propiedades personalizadas (para un token de recopilación de arte, el precio del token es una propiedad personalizada). Después de que el creador del token transfiera el NFT a otro usuario, el segundo usuario se convierte en el propietario y el usuario que creó el token ya no es el propietario del token. Debido al control de acceso basado en la propiedad, el nuevo propietario ahora puede actualizar un valor de propiedad personalizada, pero el propietario anterior ya no lo puede. Debido al control de acceso basado en roles, el propietario anterior aún puede acuñar un NFT, pero el nuevo usuario no puede.

También puede escribir sus propias funciones de control de acceso o desactivar el control de acceso. El código generado automáticamente que controla el acceso se muestra en los siguientes ejemplos.

TypeScript:
await this.Ctx.<Token Standard>Auth.checkAuthorization(...)
Ir:
auth, err := t.Ctx.<Token Standard>Auth.CheckAuthorization(...)

Note:

Para eliminar la función de control de acceso generada automáticamente, elimine la línea de código anterior del proyecto TypeScript o Go.