# nothing in this vignette is run: it needs a server and credentials knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE )
{dsROCrate} audits a DataSHIELD server by reading information that ordinary
analyst accounts cannot see. This vignette explains:
{dsROCrate} checks that your account is suitable,| Backend | Status | Required account |
|---------|--------|------------------|
| OBiBa Opal | Supported (Opal 5.7.2 or later) | Administrator, or a user with the Audit system permission |
| MOLGENIS Armadillo | In development | -- |
An audit reads (and never changes) the following:
Standard user accounts cannot access most of this, so without suitable
permissions {dsROCrate} cannot build the Safe People, Safe Setting and Safe
Output parts of the RO-Crate.
Every init(), safe_*() and audit() call first runs
check_permissions(), which you can also call yourself:
con <- opalr::opal.login( username = "audit_user", password = "secret", url = "https://opal-demo.obiba.org" ) dsROCrate::check_permissions(con, verbose = TRUE) #> You are ready to audit this system!
For Opal, the check tries two harmless requests with your account:
Audit system permission are allowed to do.The account is accepted when both succeed (an administrator) or when the second succeeds and the first is refused (an auditor). Anything else is rejected with the error:
The supplied backend connection does not have sufficient permissions.
{dsROCrate} requires elevated permissions to perform audit operations.
...
Other checks run at the same time: the connection must still be valid, and the
server must be Opal 5.7.2 or later (the Audit system permission was
introduced in Opal 5.7).
Note: menu labels may differ slightly between Opal versions.
Log in to the Opal web interface with an administrator account.
If a dedicated audit user does not exist yet:
We recommend a dedicated account, separate from the analysts' accounts, so the audit user has no more access than it needs.
Log in as the audit user and run check_permissions(), as shown in the
previous section. You can now use this connection with audit(), see
vignette("getting-started", package = "dsROCrate").
| Message | Likely cause and fix |
|---------|----------------------|
| The supplied backend connection does not have sufficient permissions. | The account is neither an administrator nor an auditor. Check that the user was granted Audit system (step 3) and, if you were already logged in when the permission was granted, log in again. |
| Opal >= 5.7.2 is required, but server version is X.Y.Z. | The server is too old. Upgrade Opal. |
| The given connection is not valid! | The connection object is no longer usable (e.g., it was saved and reloaded, or the session was closed). Create it again with opalr::opal.login(). |
| The `project = 'NAME'` was not found in the given Opal connection! | The project name is misspelled, or it does not exist on this server. |
If the message is not listed here, please open an issue.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.