Permisos detallados ahora son compatibles con Ocean Protocol de Jamie Septiembre de 2021

Cuando el servidor RBAC está habilitado en el mercado, los usuarios deben tener una billetera conectada para navegar por los conjuntos de datos.

Fig 5. Conectar una billetera

Actualmente, hay dos formas en que el servidor RBAC se puede configurar para asignar roles de usuario a direcciones de Ethereum. El servidor RBAC también está construido de tal manera que le resulta fácil agregar su propio servicio de autorización. Los dos métodos existentes son:

KeycloakJSON

Si ya tiene un servidor de administración de acceso e identidad Keycloack en ejecución, puede configurar el servidor RBAC para usarlo agregando la URL de su servidor Keycloak a la variable de entorno KEYCLOAK_URL en el archivo RBAC .env.

Alternativamente, si aún no está usando Keycloak, la forma más fácil de asignar roles de usuario a direcciones de ethereum es en un objeto JSON que se guarda como la variable de entorno JSON_DATA en el archivo RBAC .env. Hay un ejemplo del formato requerido para este objeto JSON en .example.env

Es posible que pueda configurar ambos métodos para asignar roles de usuario a las direcciones de Ethereum. En este caso, las solicitudes a su servidor RBAC deben especificar qué servicio de autenticación están utilizando, p. Ej. "AuthService": "json" o "authService": "keycloak"

Además, también puede establecer una variable de entorno dentro del servidor RBAC que especifica el método de autorización predeterminado que se utilizará, p. DEFAULT_AUTH_SERVICE = “json”. Cuando se especifica esta variable, las solicitudes enviadas a su servidor RBAC no necesitan incluir un authService y usarán automáticamente el método de autorización predeterminado.

El servidor RBAC es una aplicación rápida de node.js y debe implementarse específicamente para su proyecto. La forma más sencilla de configurar el servidor RBAC es dentro de un contenedor de la ventana acoplable; las instrucciones para configurarlo se pueden encontrar en el repositorio de GitHub.

Las listas de permitir y denegar son funciones avanzadas que permiten a los editores controlar el acceso a los activos de datos individuales.

Los editores pueden restringir los activos para que solo los usuarios aprobados puedan acceder a ellos (listas de permisos) o pueden restringir los activos para que cualquiera pueda acceder a ellos, excepto ciertos usuarios (listas de denegar).

La idea general es tener listas de "permitir" y "denegar" en el DDO de un activo, donde cada entrada es una dirección de Ethereum. Ocean Provider utiliza esta información para decidir si concede acceso.

Las listas de permitir y denegar no están habilitadas de forma predeterminada en Ocean Market. Debe editar las variables ambientales para habilitar esta función en su bifurcación de Ocean Market. Para habilitar las listas de permitir y denegar, agregue la siguiente variable de entorno a su archivo .env en su bifurcación de Ocean Market: GATSBY_ALLOW_ADVANCED_SETTINGS = ”true”.

Una vez que se haya habilitado la configuración avanzada, verá una nueva sección "Editar configuración avanzada" en la página de detalles del activo. Para usar listas de permitir o denegar, debe navegar hasta su activo de datos y hacer clic en "Configuración avanzada".

Fig 6. Configuración avanzada

Para agregar un usuario a una lista de permitir o denegar, primero debe conocer su dirección de Ethereum. Luego puede ingresar la dirección del usuario en la sección de entrada y hacer clic en el botón "AGREGAR".

Fig 7. Agregar dirección a la lista de permitidos

Para eliminar a un usuario de una lista de permitir o denegar, puede hacer clic en la cruz junto a su dirección de Ethereum.

Fig 8. Eliminación de un usuario de una lista de permitidos o denegados

Cualquier cambio que realice en la página de configuración avanzada debe enviarse y firmarse en una transacción. Para hacer esto, primero, haga clic en el botón "ENVIAR".

Fig 9. Enviar cambios para permitir o denegar listas

A continuación, deberá firmar la transacción en Metamask o en la billetera de su elección. Si tiene alguna dificultad para firmar la transacción, consulte nuestra guía sobre cómo configurar Metamask.

Fig 10. Firmar la transacción de Metamask

Cuando finalice el proceso de actualización de las listas de permitir o denegar, verá un mensaje de éxito.

Fig 11. Actualizar lista de permitir o denegar éxito

Ocean es una herramienta para el control de acceso descentralizado. Su enfoque básico son los tokens de datos, donde un consumidor puede acceder a un recurso para los tokens de datos 1.0.

Basándonos en los comentarios de nuestros colaboradores empresariales, hemos introducido funciones para permisos más detallados:

Permisos detallados a nivel de mercado para navegar, publicar, etc. dentro de una interfaz de mercado. Se implementa a través de un servidor RBAC. Los permisos los controla el operador del mercado.Permisos detallados a nivel de activos al consumir el activo en sí. Está especificado por los campos "permitir" y "denegar" en el DDO. Los permisos los controla el editor.