Skip to main content
This article provides an outline of various roles, permissions, and authentication methods for managing resources and access control in cloud environments for use with . Always follow the principle of least privilege and assign only the minimum permissions required for the specific task.

AWS permissions

This section details permissions related to AWS services like CloudFormation, S3 buckets, IAM roles, ECS (Amazon Elastic Container Service), and deployment.

S3 permissions

Users must have appropriate permissions defined in their IAM policies to access S3 buckets from components.

Redshift permissions

This section outlines the steps to manage users, databases, and schemas within the Redshift cluster for . It covers user creation, modification of user access, database creation, modification of database ownership, and schema creation.

IAM roles

Users configuring their AWS resources for use with are likely to require permission to create IAM Roles.

Maia runner deployment permissions

Users deploying a in will require the following permission types: Coarse-grained:
  • AmazonECS_FullAccess
  • CloudWatchFullAccess
  • SecretsManagerReadWrite
  • IAMFullAccess
  • AmazonS3FullAccess
Fine-grained: You can refer to the IAM roles documentation for more detailed information on task roles and task execution roles.

AWS service-linked roles

AWSServiceRoleForECS: This role is required to allow the deployment of an ECS (Amazon Elastic Container Service) agent in AWS. The ECS agent is often used within ecosystem for managing containerized workloads and orchestrating tasks.

Other service permissions

Below are permissions generally required for specific AWS services:

Azure permissions

The Azure Blob permissions section provides guidance on managing access to Azure Blob Storage, which is crucial for controlling data access and ensuring security within Azure environments. Here’s a brief overview of the key points covered in this section. Granular control with SAS or Azure Roles helps ensure data security.

Authorization methods

Shared Access Signature (SAS):
  • Grants temporary access to specific blobs or containers without exposing account keys.
  • Allows defining specific read, write, or list permissions with start and expiry times.
Azure roles:
  • Assign built-in or custom roles based on the Azure Role-Based Access Control (RBAC) system.
  • Grants access to specific containers, blobs, or entire storage accounts.

Azure blob storage

The below are recommended permissions for accessing Azure Blob Storage with .

Snowflake

Your Snowflake environment in uses your role name to identify you. This role name will have certain privileges associated with it in Snowflake that you can adjust accordingly. For ease of use and ensuring full functionality, we recommend granting all privileges to the role being used and tying that role only to schemas for use with .
Your role name must be enclosed by double quotes if it contains a space.

Roles and privileges

Authentication methods

  • Users can authenticate using their Snowflake username and password.
  • Users can authenticate using a keypair generated for their Snowflake account.
  • Multi-factor authentication connections are not supported for projects. It’s advisable to use dedicated Snowflake Service Account Users for projects.