1. Collaborate
  2. Access Control
  3. Share Assets
  • Home
  • What is TileDB?
  • Get Started
  • Explore Content
  • Accounts
    • Individual Accounts
      • Apply for the Free Tier
      • Profile
        • Overview
        • Cloud Credentials
        • Storage Paths
        • REST API Tokens
        • Credits
    • Organization Admins
      • Create an Organization
      • Profile
        • Overview
        • Members
        • Cloud Credentials
        • Storage Paths
        • Billing
      • API Tokens
    • Organization Members
      • Organization Invitations
      • Profile
        • Overview
        • Members
        • Cloud Credentials
        • Storage Paths
        • Billing
      • API Tokens
  • Catalog
    • Introduction
    • Data
      • Arrays
      • Tables
      • Single-Cell (SOMA)
      • Genomics (VCF)
      • Biomedical Imaging
      • Vector Search
      • Files
    • Code
      • Notebooks
      • Dashboards
      • User-Defined Functions
      • Task Graphs
      • ML Models
    • Groups
    • Marketplace
    • Search
  • Collaborate
    • Introduction
    • Organizations
    • Access Control
      • Introduction
      • Share Assets
      • Asset Permissions
      • Public Assets
    • Logging
    • Marketplace
  • Analyze
    • Introduction
    • Slice Data
    • Multi-Region Redirection
    • Notebooks
      • Launch a Notebook
      • Usage
      • Widgets
      • Notebook Image Dependencies
    • Dashboards
      • Dashboards
      • Streamlit
    • Preview
    • User-Defined Functions
    • Task Graphs
    • Serverless SQL
    • Monitor
      • Task Log
      • Task Graph Log
  • Scale
    • Introduction
    • Task Graphs
    • API Usage
  • Structure
    • Why Structure Is Important
    • Arrays
      • Introduction
      • Quickstart
      • Foundation
        • Array Data Model
        • Key Concepts
          • Storage
            • Arrays
            • Dimensions
            • Attributes
            • Cells
            • Domain
            • Tiles
            • Data Layout
            • Compression
            • Encryption
            • Tile Filters
            • Array Schema
            • Schema Evolution
            • Fragments
            • Fragment Metadata
            • Commits
            • Indexing
            • Array Metadata
            • Datetimes
            • Groups
            • Object Stores
          • Compute
            • Writes
            • Deletions
            • Consolidation
            • Vacuuming
            • Time Traveling
            • Reads
            • Query Conditions
            • Aggregates
            • User-Defined Functions
            • Distributed Compute
            • Concurrency
            • Parallelism
        • Storage Format Spec
      • Tutorials
        • Basics
          • Basic Dense Array
          • Basic Sparse Array
          • Array Metadata
          • Compression
          • Encryption
          • Data Layout
          • Tile Filters
          • Datetimes
          • Multiple Attributes
          • Variable-Length Attributes
          • String Dimensions
          • Nullable Attributes
          • Multi-Range Reads
          • Query Conditions
          • Aggregates
          • Deletions
          • Catching Errors
          • Configuration
          • Basic S3 Example
          • Basic TileDB Cloud
          • fromDataFrame
          • Palmer Penguins
        • Advanced
          • Schema Evolution
          • Advanced Writes
            • Write at a Timestamp
            • Get Fragment Info
            • Consolidation
              • Fragments
              • Fragment List
              • Consolidation Plan
              • Commits
              • Fragment Metadata
              • Array Metadata
            • Vacuuming
              • Fragments
              • Commits
              • Fragment Metadata
              • Array Metadata
          • Advanced Reads
            • Get Fragment Info
            • Time Traveling
              • Introduction
              • Fragments
              • Array Metadata
              • Schema Evolution
          • Array Upgrade
          • Backends
            • Amazon S3
            • Azure Blob Storage
            • Google Cloud Storage
            • MinIO
            • Lustre
          • Virtual Filesystem
          • User-Defined Functions
          • Distributed Compute
          • Result Estimation
          • Incomplete Queries
        • Management
          • Array Schema
          • Groups
          • Object Management
        • Performance
          • Summary of Factors
          • Dense vs. Sparse
          • Dimensions vs. Attributes
          • Compression
          • Tiling and Data Layout
          • Tuning Writes
          • Tuning Reads
      • API Reference
    • Tables
      • Introduction
      • Quickstart
      • Foundation
        • Data Model
        • Key Concepts
          • Indexes
          • Columnar Storage
          • Compression
          • Data Manipulation
          • Optimize Tables
          • ACID
          • Serverless SQL
          • SQL Connectors
          • Dataframes
          • CSV Ingestion
      • Tutorials
        • Basics
          • Ingestion with SQL
          • CSV Ingestion
          • Basic S3 Example
          • Running Locally
        • Advanced
          • Scalable Ingestion
          • Scalable Queries
      • API Reference
    • AI & ML
      • Vector Search
        • Introduction
        • Quickstart
        • Foundation
          • Data Model
          • Key Concepts
            • Vector Search
            • Vector Databases
            • Algorithms
            • Distance Metrics
            • Updates
            • Deployment Methods
            • Architecture
            • Distributed Compute
          • Storage Format Spec
        • Tutorials
          • Basics
            • Ingestion & Querying
            • Updates
            • Deletions
            • Basic S3 Example
            • Running Locally
          • Advanced
            • Versioning
            • Time Traveling
            • Consolidation
            • Distributed Compute
            • RAG LLM
            • LLM Memory
            • File Search
            • Image Search
            • Protein Search
          • Performance
        • API Reference
      • ML Models
        • Introduction
        • Quickstart
        • Foundation
          • Basics
          • Storage
          • Cloud Execution
          • Why TileDB for Machine Learning
        • Tutorials
          • Ingestion
            • Data Ingestion
              • Dense Datasets
              • Sparse Datasets
            • ML Model Ingestion
          • Management
            • Array Schema
            • Machine Learning: Groups
            • Time Traveling
    • Life Sciences
      • Single-cell
        • Introduction
        • Quickstart
        • Foundation
          • Data Model
          • Key Concepts
            • Data Structures
            • Use of Apache Arrow
            • Join IDs
            • State Management
            • TileDB Cloud URIs
          • SOMA API Specification
        • Tutorials
          • Data Ingestion
          • Bulk Ingestion Tutorial
          • Data Access
          • Distributed Compute
          • Basic S3 Example
          • Multi-Experiment Queries
          • Appending Data to a SOMA Experiment
          • Add New Measurements
          • SQL Queries
          • Running Locally
          • Shapes in TileDB-SOMA
          • Drug Discovery App
        • Spatial
          • Introduction
          • Foundation
            • Spatial Data Model
            • Data Structures
          • Tutorials
            • Spatial Data Ingestion
            • Access Spatial Data
            • Manage Coordinate Spaces
        • API Reference
      • Population Genomics
        • Introduction
        • Quickstart
        • Foundation
          • Data Model
          • Key Concepts
            • The N+1 Problem
            • Architecture
            • Arrays
            • Ingestion
            • Reads
            • Variant Statistics
            • Annotations
            • User-Defined Functions
            • Tables and SQL
            • Distributed Compute
          • Storage Format Spec
        • Tutorials
          • Basics
            • Basic Ingestion
            • Basic Queries
            • Export to VCF
            • Add New Samples
            • Deleting Samples
            • Basic S3 Example
            • Basic TileDB Cloud
          • Advanced
            • Scalable Ingestion
            • Scalable Queries
            • Query Transforms
            • Handling Large Queries
            • Annotations
              • Finding Annotations
              • Embedded Annotations
              • External Annotations
              • Annotation VCFs
              • Ingesting Annotations
            • Variant Statistics
            • Tables and SQL
            • User-Defined Functions
            • Sample Metadata
            • Split VCF
          • Performance
        • API Reference
          • Command Line Interface
          • Python API
          • Cloud API
      • Biomedical Imaging
        • Introduction
        • Foundation
          • Data Model
          • Key Concepts
            • Arrays
            • Ingestion
            • Reads
            • User Defined Functions
          • Storage Format Spec
        • Quickstart
        • Tutorials
          • Basics
            • Ingestion
            • Read
              • OpenSlide
              • TileDB-Py
          • Advanced
            • Batched Ingestion
            • Chunked Ingestion
            • Machine Learning
              • PyTorch
            • Napari
    • Files
  • API Reference
  • Self-Hosting
    • Installation
    • Upgrades
    • Administrative Tasks
    • Image Customization
      • Customize User-Defined Function Images
      • AWS ECR Container Registry
      • Customize Jupyter Notebook Images
    • Single Sign-On
      • Configure Single Sign-On
      • OpenID Connect
      • Okta SCIM
      • Microsoft Entra
  • Glossary

On this page

  • Share an asset
    • Through the UI
    • Through the API
  • Unshare an asset
    • Through the UI
    • Through the API
  • Organization-level access control
  1. Collaborate
  2. Access Control
  3. Share Assets

Share Assets

collaborate
access control
Sharing assets under a zero-trust permission model maeks sure assets are shared only with those who need them.

Apart from marking an asset as public, you can also share assets within individual users and organizations.

Each asset has its own sharing options, which are available to the authors of the asset or the owners of the organization that owns the asset. All assets across TileDB Cloud are shareable in the same way. You can view and manage the access permissions to the asset through the Sharing tab in the asset’s detailed view or programmatically through the API.

Tip

You can both make an asset public and share the asset with individual accounts or organizations, all with different permission sets.

Note

Currently, TileDB Cloud supports access policies at the array level.

Share an asset

If you are the author of an asset or an admin of the namespace that owns an asset, you can share the asset with any namespace you wish. You can share the namespace either through the UI or through the TileDB Cloud API.

Through the UI

To share an asset through the UI, do the following:

  1. Open the asset’s detailed view.
  2. Select the Sharing tab. If you have already shared this asset with other accounts or organizations, those permissions will be listed here.
  3. Select the + Share button.
  4. Type the individual account, organization, or email address with which you wish to share the asset.
  5. Select the appropriate permissions:
    • Read only (Read from asset)
    • Write only (Write to asset)
    • Read + write (Read from and write to asset)
  6. For VCF, SOMA, biomedical imaging, point cloud, geometries, raster, vector search, and group assets, choose the permissions you wish to set to the contents of the public asset.
  7. Select Share.

TileDB sends an invitation to the user or email that they must accept before gaining access to the asset. If they share with an individual email not associated with a TileDB account, TileDB will ask the recipient to sign up for an account.

The following screenshot shows the modal you would receive when sharing arrays, files, and all code assets (notebooks, dashboards, UDFs, task graphs, and ML models):

A screenshot of the Sharing section of a file's detailed view. A modal that appears after selecting '+ Share' displays a search form field for usernames and organizations and a drop down list of permissions to set on the object A screenshot of the Sharing section of a file's detailed view. A modal that appears after selecting '+ Share' displays a search form field for usernames and organizations and a drop down list of permissions to set on the object.

The following screenshot shows the modal you would receive when sharing VCFs, SOMAs, biomedical images, point clouds, geometries, rasters, vector search indices, and groups:

A screenshot of the Sharing section of a VCF's detailed view. A modal that appears after selecting '+ Share' displays a search form field for usernames and organizations and a drop down list of permissions to set on the object and its contents. A screenshot of the Sharing section of a VCF's detailed view. A modal that appears after selecting '+ Share' displays a search form field for usernames and organizations and a drop down list of permissions to set on the object and its contents.

Note for TileDB Cloud SaaS users

TileDB Cloud has an autocomplete feature you can use to find usernames. TileDB treats usernames as public information—as GitHub and GitLab do—but still hides full names and email addresses. Email us at privacy@tiledb.com if you want us to remove your username from autocomplete.

These rules also apply to the TileDB Cloud Self-Hosted installations, except TileDB Cloud Self-Hosted installations have no third-party users in the deployed system. Thus, everything is visible to the scope of the installation.

Through the API

You can share an asset with a particular namespace through the TileDB Cloud API, if you have the namespace’s username, the URI of the asset, and the permissions you wish to set.

For Python, the valid permissions are as follows:

  • 'read' (default)
  • 'write'
  • ['read', 'write']
  • Python
from tiledb.cloud import asset

uri = "tiledb://TileDB-Academy/2a68efed-a6b1-4532-8aca-5a24e4d0faa1"
namespace = "tiledb_docs"

asset.share(
    uri=uri,
    namespace=namespace,
    permissions="read",  # default is read
)

TileDB sends an invitation to the user or email that they must accept before gaining access to the asset. If they share with an individual email not associated with a TileDB account, TileDB will ask the recipient to sign up for an account.

Unshare an asset

Through the UI

To unshare an asset through the UI, do the following:

  1. Open the asset’s detailed view.
  2. Select the Sharing tab. If you have already shared this asset with other accounts or organizations, those permissions will be listed here.
  3. Find the namespace whose access you wish to remove from this asset. Select the “Revoke access” button (⊖).
  4. Select Revoke access.

Through the API

Unsharing an asset in the API is similar to sharing an asset:

  • Python
from tiledb.cloud import asset

uri = "tiledb://TileDB-Academy/2a68efed-a6b1-4532-8aca-5a24e4d0faa1"
namespace = "tiledb_docs"

asset.unshare(uri=uri, namespace=namespace)

Organization-level access control

While sharing objects with individual users is certainly possible with TileDB, it doesn’t scale well as organizations scale. Individuals within your organization can change teams, people join or leave your company, or you may need to change object permissions in bulk.

For organizations, the suggested way of managing access to assets is by creating a set of organizational namespaces. When you share an asset with a namespace, all members of that namespace have access to the object based on the permissions you set at the time of sharing the asset.

You can invite members to the organization namespace through the TileDB Cloud UI or through the API, as described in detail in the member namespace settings.

Introduction
Asset Permissions