Files Connect is a built in solution. From the documentation, and the implementation guide
First, enable Files Connect, and let users access related external data sources
- Enable Salesforce Files Connect for Your Organization.
- Let Users and Administrators Access Files Connect Data Sources.
For cloud-based data sources, create an authentication provider, and then define the source
If you use Microsoft’s cloud systems:
- Create an Authentication Provider for SharePoint Online Using Azure (Preferred Method).
- Define an External Data Source for SharePoint Online or OneDrive for Business.
For on-premises data sources, set up a Secure Agent, and then define the source
This process requires a paid permission set license, “Files Connect for on-premises external data sources.” For information about permission set licenses, see Salesforce Help.
- Set Up a Secure Agent for SharePoint 2010 or 2013 on a Linux or Windows server to securely connect Salesforce to data stored behind your firewall.
- Define an External Data Source for SharePoint 2010 or 2013.
Include the external data in global search
To let users access external data in global Salesforce searches, you’ll need to create an external object and give users access to its fields. This is an optional step, but highly recommended to best integrate external data with Salesforce.
For per-user data sources, have users authenticate in Salesforce
If you specified per-user authentication for a data source and exposed it through profiles or permission sets, ask authorized users to provide their data source credentials.
Start accessing, sharing, and searching external files!
Now users can access and share external files via the Files tab and feed, and search for them right alongside their Salesforce content