ister <STACK_NAME> -a <AZURE_STORE_NAME> ... --setWhen you register the Azure Artifact Store, you can create a ZenML Secret to store a variety of Azure credentials and then reference it in the Artifact Store configuration:

to use an Azure storage account key , set account_name to your account name and one of account_key or sas_token to the Azure key or SAS token value as attributes in the ZenML secret

to use an Azure storage account key connection string , configure the connection_string attribute in the ZenML secret to your Azure Storage Key connection string

to use Azure Service Principal credentials , create an Azure Service Principal and then set account_name to your account name and client_id, client_secret and tenant_id to the client ID, secret and tenant ID of your service principal in the ZenML secret

This method has some advantages over the implicit authentication method:

you don't need to install and configure the Azure CLI on your host

you don't need to care about enabling your other stack components (orchestrators, step operators and model deployers) to have access to the artifact store through Azure Managed Identities

you can combine the Azure artifact store with other stack components that are not running in Azure

Configuring Azure credentials in a ZenML secret and then referencing them in the Artifact Store configuration could look like this:

# Store the Azure storage account key in a ZenML secret

zenml secret create az_secret \

--account_name='<YOUR_AZURE_ACCOUNT_NAME>' \

--account_key='<YOUR_AZURE_ACCOUNT_KEY>'

# or if you want to use a connection string

zenml secret create az_secret \

--connection_string='<YOUR_AZURE_CONNECTION_STRING>'

# or if you want to use Azure ServicePrincipal credentials

zenml secret create az_secret \

--account_name='<YOUR_AZURE_ACCOUNT_NAME>' \

--tenant_id='<YOUR_AZURE_TENANT_ID>' \

--client_id='<YOUR_AZURE_CLIENT_ID>' \

--client_secret='<YOUR_AZURE_CLIENT_SECRET>'