Azure Blob Storage does support Azure AD-based authentication and RBAC (Role-Based Access Control), which means you can assign Azure roles to a security principal (user, group, service principal, or managed identity) at a specific scope.
Ensure that Azure AD-based authentication is in use. You need to onboard your storage account to use Azure AD.
Then, assign RBAC Roles:
- Storage Blob Data Reader: This role allows for read access to the blob data.
- Storage Blob Data Contributor: This role allows for read, write, and delete access on blob data. But be careful with this one as you might not want to grant delete permissions.
And for the setup :
- At the Storage Account level (RG1): Do not grant any specific data-related permissions here to the Synapse Workspace users. If they have inherited permissions from the subscription or resource group, consider revoking or adjusting those.
- At the Container level (Silver): Revoke any specific permissions granted here, if any. It sounds like they have at least execute permissions on Silver, which might be cascading down.
- At the Directory/Blob level (FolderX): Grant the
Storage Blob Data Reader
role to the specific Azure AD group/users from the Synapse Workspace.