Skip to content

Source Owner Manager

The Source Owner Manager package populates the owners on Atlan UI page for all the assets of the selected types by matching the source owner attribute of the assets with existing atlan user details.

Limitations

This package supports owner tagging for assets that have custom attribute (source_owner for tableau, and last_ddl_by for snowflake) mapping support from their respective crawler workflows.

Configuration

Configurations

  • Connector Type: Select the connector type.

    • Snowflake Connection: Select the snowflake connection to operate upon.
    • Snowflake Assets Types: Select the type of snowflake assets for which owner assignment is to be done. Assets supported - Database,Schema,Table,View, and MaterialisedView
    • Tableau Connection: Select the tableau connection to operate upon.

      Tableau connection should be an active connection with the correct credentials and permissions, as mentioned in the Tableau setup guide for asset crawler.

    • Tableau Assets Types: Select the type of tableau assets for which owner assignment is to be done. Assets supported - TableauDatasource,TableauFlow,TableauProject, and TableauWorkbook

  • Owner Output Option: Select the output option for the package.

    • Update: Select update when you want asset owners to be updated for all the assets that match the selected filters.
    • Preview: Select preview when you want to see the changes that will happen for the selected filters but don't want the changes to reflect in atlan.

      How to download the preview file

      The file with the owner changes (name: atlan-owner-changes) preview can be downloaded from the Argo workflow log screen.

  • Owner Update Method: Update strategy to be selected for assets where the owner field is already populated. (Note: This would be considered only for cases where owner field already exists. For assets with no owner, the update will be done automatically irrespective of the update strategy selected.)

    • Append: Any new owner found will be appended to the existing owners.
    • Replace: The existing owners will be replaced by the new ones.
    • Ignore: No update to be done. The existing owners will remain intact.

What it does

The package performs a search for all the assets that match the selected connection and asset type filters. These assets are then search for existing custom attribute (different for each connector) to extract source owner info. These source owners are then mapped to existing atlan owners and the asset owner are updated or a preview is generated depending on the option selected.

User Matching Logic

  • Makes Atlan Client call as one time step, to get all users email-username mapping in the tenant.
  • Fetch relevant assets using IndexSearch and extract source owner email from custom_attributes['last_ddl_by'] available in asset_info. Use Mapping from first step to get username for the extracted email.
  • For each asset we make Atlan Client call to fetch asset information and retrieve existing UI owners.
  • If source owner username is not found then no action is performed and if existing UI owners is not found then source owner username is the new user to be updated.
  • Otherwise according to the Owner Update Method we Append/Replace/Ignore new user using source owner user.
  • Makes Tableau API call for a user info dataframe which invloves tableau Username, Full_name and Email.
  • Makes Atlan Client call for a user info dataframe with all the atlan users in the tenant.
  • Iterate over searched assets to find the source owner attribute value.
  • Find the source owner attribute value in the tableau user dataframe across all columns (matching any of : username,full_name or email).
  • Find the same emails in the atlan user dataframe to extract usernames for new user addition/preview generation.
  • If same email atlan user is found, performs update method filter checks and skips if the username is already present in atlan owner property for the asset. If same email atlan user is not found, skips the asset from preview/update.