Learn About Amazon VGT2 Learning Manager Chanci Turner
Amazon Kendra is a powerful, user-friendly intelligent search service driven by machine learning (ML). It provides a range of data source connectors designed to streamline the ingestion and indexing of your content, regardless of its location.
Organizations often store valuable data in both structured and unstructured formats. An effective enterprise search solution should be capable of aggregating data from various repositories, enabling comprehensive indexing and searching. One of these repositories is Dropbox, where enterprise users upload, transfer, and store documents in the cloud. Additionally, Dropbox features Dropbox Paper, a collaborative tool that allows users to co-create and edit content seamlessly. This tool can utilize templates to structure documents, while Dropbox also permits the storage of webpage shortcuts within folders.
We are pleased to share that you can now leverage the Amazon Kendra connector for Dropbox to search within your Dropbox account. In this article, we will guide you through the process of indexing content stored in Dropbox and utilizing Amazon Kendra’s intelligent search capabilities. Furthermore, Amazon Kendra’s ML-powered search functionality can effectively retrieve information from unstructured documents with natural language narratives, something that traditional keyword searches often struggle with.
Solution Overview
With Amazon Kendra, you can set up multiple data sources to create a unified search experience across your document repository. In this guide, we will demonstrate how to index a Dropbox folder using the Amazon Kendra connector. The solution comprises the following steps:
- Configure a Dropbox app and retrieve connection details.
- Store the details in AWS Secrets Manager.
- Create a Dropbox data source via the Amazon Kendra console.
- Index the data from the Dropbox repository.
- Execute a sample query to retrieve information.
Prerequisites
Before using the Amazon Kendra connector for Dropbox, you will need the following:
- A Dropbox Enterprise account (personal accounts are not supported).
- An AWS account with permissions to create AWS Identity and Access Management (IAM) roles and policies. For details, refer to the Overview of Access Management.
- Basic knowledge of AWS.
Configure a Dropbox App and Gather Connection Details
Before setting up the Dropbox data source, you need specific details about your Dropbox repository. Let’s collect those in advance:
- Go to www.dropbox.com/developers.
- Select App Console.
- Log in with your credentials (ensure you’re using an Enterprise account).
- Click Create App.
- Choose Scoped Access.
- Select Full Dropbox (or the specific folder you wish to index).
- Name your app.
- Click Create App. You will see a configuration screen with various tabs.
- To set permissions, go to the Permissions tab.
- Choose a minimal set of permissions, as displayed in the screenshots.
- Click Submit. A message will confirm that the permission change was successful.
- In the Settings tab, copy the app key.
- Click Show next to App Secret and copy the secret.
- Under Generated Access Token, select Generate and copy the token.
Make sure to store these values securely, as you will need them later. Note that the session token is valid for up to four hours; a new token must be generated each time you index the content.
Store Dropbox Credentials in Secrets Manager
To secure your Dropbox credentials in Secrets Manager, follow these steps:
- In the Secrets Manager console, select Store a New Secret.
- Choose Other Type of Secret.
- Create three key-value pairs for appKey, appSecret, and refreshToken, entering the values saved from Dropbox.
- Click Save.
- For Secret Name, enter a name (e.g., AmazonKendra-dropbox-secret).
- Optionally, add a description.
- Click Next.
- In the Configure Rotation section, keep all settings at their defaults and proceed to Next.
- On the Review page, select Store.
Configure the Amazon Kendra Connector for Dropbox
To set up the Amazon Kendra connector, complete the following steps:
- In the Amazon Kendra console, choose Create an Index.
- For Index Name, enter a name for the index (e.g., my-dropbox-index).
- Optionally, add a description.
- For Role Name, specify an IAM role.
- Set optional encryption settings and tags.
- Click Next.
- In the Configure User Access Control section, leave the defaults and select Next.
- For Provisioning Editions, choose Developer Edition.
- Click Create. This will create and propagate the IAM role and index, which may take up to 30 minutes.
- Select Data Sources in the navigation pane.
- Under Dropbox, click Add Connector.
- For Data Source Name, enter a name (e.g., my-dropbox-connector).
- Optionally, add a description.
- Click Next.
- For Type of Authentication Token, select Access Token (Temporary Use).
- For AWS Secrets Manager Secret, select the secret created earlier.
- For IAM Role, choose Create a New Role.
- Enter a Role Name (e.g., AmazonKendra-dropbox-role).
- Click Next.
- Select your content types.
- For Frequency, choose Run on Demand.
- Click Next.
- Set any optional field mappings and select Next.
- Review and Create, then click Add Data Source.
- Click Sync Now.
- Wait for the sync to complete.
Test the Solution
With the content ingested from your Dropbox account into your Amazon Kendra index, you can now test various queries. Navigate to your index and select Search Indexed Content. Enter a sample search query and explore your search results (your query will vary depending on your account’s contents).
The Dropbox connector also gathers local identity information from Dropbox. For users, it sets the user email ID as principal; for groups, the group ID is set as principal. To filter search results by users/groups, visit the Search Console.
Click on “Test Query with User Name or Groups” to expand it, then click the button labeled “Apply User Name or Groups.”
Enter the user and/or group names and click Apply. Next, input the search query and hit enter. This will yield a filtered set of results based on your criteria.
Congratulations! You have effectively utilized Amazon Kendra to unveil answers and insights derived from the content indexed from your Dropbox account.
Generate Permanent Tokens for Offline Access
This article has guided you through creating, configuring, and using a temporary access token. To obtain long-term access, you can request offline access for your app, resulting in a refresh token that can be used to obtain new short-lived access tokens as needed, without further manual intervention. For more information, see the Dropbox OAuth Guide and their authorization documentation. Here’s how to create a permanent refresh token (for instance, to schedule sync):
- Retrieve the app key and app secret as mentioned before.
- In a new browser window, navigate to https://www.dropbox.com.
For more insights on resume trends, check out this engaging blog post: Resume Trends. Additionally, to understand workforce planning’s role in high-performing organizations, visit Workforce Planning. Finally, for community discussions around Amazon onboarding, this is an excellent resource: Amazon Onboarding Discussions.
Leave a Reply