Managed Credentials

How to manage your credentials with Activeloop Platform

Managing your Credentials with Activeloop

Managing credentials in Deep Lake enables:

  • Access to the Deep Lake UI for datasets stored in your own cloud

  • Simpler access to Deep Lake dataset stored in your own cloud using the Pyton API

    • No need for continuously specifying cloud access keys in Python

Managed Credentials

In order for the Deep Lake UI to access datasets or linked tensors stored in the user's cloud, Deep Lake must be able to authenticate and gain access the respective cloud resources. Access can be provided using access keys, or using role-based access (provisioning steps here) that grants Deep Lake permissions to specific cloud resources. The video below summarizes the UI for managing your cloud credentials.

Connecting Deep Lake Datasets to the UI

Datasets in Activeloop storage are automatically connected to Activeloop Platform. Datasets in user's clouds can be connected to Activeloop Platform using python API or UI below. In order to visualize data in the Deep Lake browser application, it is necessary to enable CORS in the bucket containing any source data.

Once a dataset is connected to Deep Lake, it is assigned a Deep Lake path hub://org_id/dataset_name, and it can be accessed using API tokens and managed credentials from Deep Lake, without continuously having to specify cloud credentials.

Connecting Datasets in the Python API

# Step 1: Create the dataset directly in the cloud using your own cloud creds
ds = deeplake.empty('s3://my_bucket/dataset_name', creds = {...})

# Step 2: Connect the dataset to Deep Lake and specify the managed credentials
# (creds_key) for accessing the data (See Managed Credentials above)
ds.connect(org_id = 'my_org', creds_key = 'my_creds_key')

OR

ds.connect(dest_path = 'hub://my_org/dataset_name', creds_key = 'my_creds_key')

Specifying org_id creates the dataset in the specified org using the dataset_name from the cloud path.

Specifying the dest_path creates the dataset at the org_id and dataset_name from the specified path.

Connecting Datasets in the Deep Lake UI

Default Storage

By default, any dataset created using the Deep Lake path hub://org_id/dataset_name, is stored in Activeloop storage. You may change the default storage location for Deep Lake paths to a location of your choice using the UI below. Subsequently, all datasets created using the Deep Lake path will be stored at the specified location.

Using Manage Credentials with Linked Tensors

Managed credentials can be used for accessing data stored in linked tensors. Simply add the managed credentials to the dataset's creds_keys and assign them to each sample.

ds.create_tensors('images', htype = 'link[image]', sample_compression = 'jpeg')

ds.add_creds_key('my_creds_key', managed=True)

ds.images.append(deeplake.link(link_to_sample, creds_key = 'my_creds_key')

Last updated