Security & Privacy
Admin Hub and its plugins are Microsoft 365 Business Central extensions designed to provide a secure and reliable way of managing and monitoring tenants and apps. The solution is built with users' security and privacy in mind. The following sections provide an overview of the Admin Hub solution's security and privacy aspects.
Hosting
Admin Hub extension can be installed only on the Microsoft Dynamics 365 Business Central cloud environments within the Microsoft Azure cloud platform. Follow a link to learn more about the Dynamics 365 Business Central compliance.
Any data stored by the Admin Hub solution is stored in the Microsoft Azure SQL Database which is part of the Dynamics 365 Business Central SaaS environment. The data is stored in the same data centre hosted by the Dynamics 365 Business Central environment. The data is encrypted at rest and in transit to provide the highest level of security. Only authorized users with the appropriate permissions can access the data stored by the Admin Hub solution.
Logging & Monitoring
Admin Hub is streaming telemetry to Azure Application Insights. The telemetry data is used to monitor the solution's performance and detect any issues that may arise. In Theta we filter out a set of telemetry events which is not relevant for the monitoring purposes and may represent a sensetive data for our partners. One if this events is a RT0019 event which is an outgoing web service requests. This event contains and an endpoint and http headers which may contain a sensitive data. We filter out this event and do not store it in the telemetry data. The telemetry data is stored in the Azure Application Insights service and is accessible only to authorized users withing a Theta staff. In Theta we retain the telemetry data for 30 days and then it is automatically deleted. The telemetry data is not shared with any third-party services or individuals.
Plugins
Admin Hub provides a set of interfaces for plugins to communicate with external services. These interfaces are designed to securely store and cache external service authentication tokens and credentials and provide them only to plugins that originate them.
The Admin Hub solution keeps the authentication tokens and credentials securely in encrypted isolated storage and does not expose them to the end-users. Any interfaces working with sensitive data use a SecretText data type to ensure that the data is not exposed in the logs or any other places where unauthorized users can access it.
It's the plugin developers' responsibility to ensure the external service credentials are not exposed in the plugin code or sent to invalid endpoints. There are a few best practices that the plugin developers should follow to make sure the external services are accessed securely:
- Always use secure HTTPS endpoints to communicate with external services and validate an endpoint before sending sensitive data.
- Never store any sensitive data in the plugin code or in the plugin configuration. Use Business Central's capability to store sensitive data in encrypted isolated storage and in Azure Key Vault.
- Use a SecretText data type to manipulate the sensitive data in the plugin code to ensure it's not exposed in the logs or anywhere else unauthorized users can access it.
- Rotate the authentication tokens and credentials on a regular basis to ensure that the external services are accessed securely.
- Always use a data clasification capabilities of a Business Central to mark a sensitive data to ensure that such data sensitivity is transparent to the end-users.
For more information on how to build a secure plugin for Admin Hub, contact the Admin Hub support team.