How to enable labels-based access control
This guide explains how security label access control can be enabled
Last updated
Was this helpful?
This guide explains how security label access control can be enabled
Last updated
Was this helpful?
You should have Docker and Docker Compose installed before going further. To get it installed, follow the .
Open in browser
Using AidboxID AidboxID is a unique identifier within the Aidbox ecosystem used for product activation
Using Aidbox license Aidbox license can be issued on the . More about Aidbox licenses .
To enable LBAC, use Aidbox UI -> Settings -> Enable LBAC. You don't have to restart the instance if you use Aidbox UI. Also, you can update environment variables
This access policy allows FhirRead
and FhirSearch
operations for requesters having JWT with iss
claim value https://auth.example.com
.
There are two users and two JWTs that we will use:
Provider has access to the Patient because there is overlap between the Patient labels and the Provider labels.
Patient is labeled with:
Provider is allowed:
http://terminology.hl7.org/CodeSystem/v3-ActCode|PSY
http://terminology.hl7.org/CodeSystem/v3-ActCode|CTCOMPT
Provider has access to the Encounter because there is overlap between the Encounter labels and the Provider labels.
Encounter is labeled with:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|L
Provider is allowed:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|R
expands to:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|R
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|N
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|M
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|L
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|U
http://terminology.hl7.org/CodeSystem/v3-ActCode|PSY
http://terminology.hl7.org/CodeSystem/v3-ActCode|CTCOMPT
Provider has access to the Observation because there is overlap between the Observation labels and the Provider labels.
Observation is labeled with:
http://terminology.hl7.org/CodeSystem/v3-ActCode|PSY
Provider is allowed:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|R
expands to:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|R
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|N
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|M
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|L
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|U
http://terminology.hl7.org/CodeSystem/v3-ActCode|PSY
http://terminology.hl7.org/CodeSystem/v3-ActCode|CTCOMPT
Finance has access to the Patient because there is overlap between the Patient labels and the Finance labels.
Patient is labeled with:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|M
Finance is allowed:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|M
expands to:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|M
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|L
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|U
http://terminology.hl7.org/CodeSystem/v3-ActCode|RESCOMPT
Finance has access to the Encounter because there is overlap between the Encounter labels and the Finance labels.
Encounter is labeled with:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|L
Finance is allowed:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|M
expands to:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|M
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|L
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|U
http://terminology.hl7.org/CodeSystem/v3-ActCode|RESCOMPT
Finance does not have access to the Observation because there is no overlap between the Observation labels and the Finance labels.
Observation is labeled with:
http://terminology.hl7.org/CodeSystem/v3-ActCode|PSY
Finance is only allowed:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|M
http://terminology.hl7.org/CodeSystem/v3-ActCode|RESCOMPT
Provider has access to all the fields within the Encounter resource.
Encounter.subject
is labeled:
http://terminology.hl7.org/CodeSystem/v3-ActCode|CTCOMPT
Provider is allowed:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|R
expands to:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|R
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|N
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|M
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|L
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|U
http://terminology.hl7.org/CodeSystem/v3-ActCode|PSY
http://terminology.hl7.org/CodeSystem/v3-ActCode|CTCOMPT
Finance has access to all the fields within the Encounter resource but to the subject.
Encounter.subject
is labeled:
http://terminology.hl7.org/CodeSystem/v3-ActCode|CTCOMPT
Finance is allowed:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|M
expands to:
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|M
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|L
http://terminology.hl7.org/CodeSystem/v3-Confidentiality|U
http://terminology.hl7.org/CodeSystem/v3-ActCode|RESCOMPT
See more details related the
As mentioned , resources without security labels cannot be accessed. This can affect the functionality of the Aidbox UI console, making resources like User, Client, Access Policy, etc., inaccessible until they are labeled.
To avoid the need to label all resources displayed in the UI console, use the superadmin
Role.
Create a Role
resource with the name superadmin
and reference to the User used to log in to the UI console before enabling Label-based Access Control.
To make Aidbox trust JWT
issued by external server token introspection is used, run the following request in the .
To create the access policy, run the following request in the .
To create the Patient, run the following request in the .
To create the Encounter, run the following request in the .
To create the Observation, run the following request in the .
To view the content of a JWT, copy and paste it to