Artifact Repository Access

Artifact Path

The artifacts for each data scientist are stored in a subdirectory of the artifact location.

For example, if the artifact location is specified as s3://my-enterprise-wide-artifact-bucket/, the data scientists's name is joe_user, the experiment id is 0 and the run id is 0-4sdfnif9gdknrgdr89539, then the artifacts for this run will be stored in s3://my-enterprise-wide-artifact-bucket/mlflow-artifacts/joe_user/0/0-4sdfnif9gdknrgdr89539

~/.aws/credentials Method

AWS cli can be authenticated using Access Key ID and Secret Access Key. The steps are as follows:

  • Create AWS IAM User Accounts for each Data Scientist
  • Provide permission for this IAM User Account to access the MLflow artifact bucket
  • Generate AWS Access Keys for each IAM User Account - this consists of Access Key ID and Secret Access Key
  • Please these in the ~/.aws/credentials file and this provides access to the MLflow artifacts buckets

More details are available here

EC2 Instance Profile Method

This method is only applicable if the Data Scientist is going to use an EC2 VM to perform his data science experiments.

In this method, MLflow artifact location s3 bucket permissions are provided to the user's EC2 VM at the time of creation of the VM. The steps are:

  • Create an IAM Role for the EC2 VM
  • Add S3 permissions to this IAM Role
  • Use the Instance Profile associated with this role as the IAM Role while creating the user's EC2 VM

Create IAM Role - who is the Role for?

In the screen capture below, note that we have chosen the common use case 'EC2'

Create IAM Role - what permissions are provided to this Role?

In the example below, we are providing full S3 access permissions to the Role. For you particular use case, you may want to reduce the permissions afforded to this Role

Create IAM Role - Summary page

In this example, we use the name RoleForDataScientistEc2Instances

Assign IAM Role to EC2 VM at VM Creation time

When the VM is being created, you need to select the IAM Role RoleForDataScientistEc2Instances as the IAM Role for the VM. The Configure Instance Details page is displayed below