- Deploy only in a tenant where you control Applicatoin Registrations, Enterprise Applications, Permissions, and Role Definition Assignments.
- Azure Subscription
- Azure API for FHIR
Follow the instructions in the Scripts Readme file.
The new endpoint for your FHIR Server should now be: https://<secure proxy url from above>/fhir
. You can use any supported FHIR HTTP verb and any FHIR compliant request/query.
For example, to see the conformance statement for the FHIR Server, use your browser and access the proxy endpoint:
https://<secure proxy url from above>/fhir/metadata
FHIR Proxy endpoints will authenticate/authorize your access to the FHIR server and will execute configured pre-processing routines, pass the modified request on to the FHIR Server via the configured service client, execute configured post-processing routines on the result, and rewrite the server response to the client. The original user principal name and tenant are passed in custom headers to the FHIR server for accurate security and compliance auditing.
At a minimum, users must be placed in one or more FHIR server roles in order to access the FHIR Server via the FHIR Proxy. The Access roles are Administrator, Resource Reader and Resource Writer.
-
Login to Azure Portal Note: If you have multiple tenants make sure you switch to the directory that contains the Secure FHIR Proxy.
-
Access the Azure Active Directory Enterprise Application Blade.
-
Change the Application Type Drop Down to All Applications and click the Apply button.
-
Enter the application id or application name from above in the search box to locate the FHIR Proxy application.
-
Click on the FHIR Proxy application name in the list.
-
Click on Users and Groups from the left hand navigation menu.
-
Click on the +Add User button.
-
Click on the Select Role Assignment box.
-
Select the access role you want to assign to specific users. The following are the predefined FHIR Access roles:
- Administrator - Full Privileges to Read/Write/Link resources to the FHIR Server
- Resource Reader - Allowed to Read Resources from the FHIR Server
- Resource Writer - Allowed to Create, Update, Delete Resources on the FHIR Server
When the role is selected, click the select button at the bottom of the panel.
-
Select the Users assignment box.
-
Select and/or Search and Select registered users/guests that you want to assign the selected role to.
-
When all users desired have been selected, click the select button at the bottom of the panel.
-
Click the Assign button.
-
Congratulations! The selected users have been assigned the access roles and can now perform allowed operations against the FHIR Server.
You can create service client principals and register for Application API Access to the proxy. This is useful for using the proxy in machine-driven service workflows where a human cannot sign-in.
The FHIR Server Roles assignable to applications by default are: Resource Reader and Resource Writer. You may add/change application assignable roles in the FHIR Proxy application manifest.
- Login to Azure Portal Note: If you have multiple tenants make sure you switch to the directory that contains the Secure FHIR Proxy.
- Register a new Application (Service Principal) with Azure Active Directory.
- Create a new client secret. Note what it is and keep it secure.
- Click on the API Permissions on the left hand navigation menu.
- Under Configured Permissions, Click +Add a Permission.
- On the Request API Permissions tab, click on the APIs my organization uses button.
- In the search box, enter the name of your FHIR Proxy (e.g. myproxy.azurewebsites.net).
- Choose your proxy registration from the list.
- Click on the Application Permissions Box.
- Select the Roles you want this principal to be assigned in the Proxy (Reader, Writer or Both).
- Click the Add Permissions box at the bottom to commit.
- On the Configured permissions area you will need Administrator rights to Grant Administrator consent to the roles you assigned.
- Once granted, the service principal will now have access to the proxy in the roles you assigned.
- You can verify this by looking at the Enterprise Application blade for the proxy. Under user and group assignments, you will see the service principal.
Note: You can authenticate using client_credentials flow to your new application. Using its application id and secret, the resource or audience should be the application id of the FHIR Proxy. Pass the obtained token in the Authorization header of your calls to the FHIR proxy.
This project uses GitHub Issues to track bugs and feature requests. Please search the existing issues before filing new issues to avoid duplicates. For new issues, file your bug or feature request as a new Issue.
For help and questions about using this project, please open an issue against the Github repository. We actively triage these and will work on this as best effort.
Support for this PROJECT or PRODUCT is limited to the resources listed above.