Azure Communication Services (ACS) — Custom IAM Roles Are Not Supported

Posted by : on

azure   guides   communication-services   acs   troubleshooting

💡 Introduction

When deploying or securing Azure Communication Services (ACS), it’s natural to want to follow least-privilege access principles by creating custom IAM (RBAC) roles.

This is especially common when customers want to:

  • Separate operational access from administrative access
  • Grant narrowly scoped permissions to applications or automation
  • Avoid over-assigning built-in roles

However, Azure Communication Services behaves differently than many other Azure resource providers, and this often leads to confusion during role design.


🔐 The Issue

A customer attempted to create and assign a custom IAM role for an Azure Communication Services resource.

The goal was to grant limited permissions for managing or interacting with ACS without assigning a broad built-in role.

Despite the role being created successfully in Azure, it did not function as expected when assigned to users or service principals.


🔍 The Root Cause

Custom IAM roles are not supported for Azure Communication Services.

While Azure allows you to define custom roles at a subscription or resource scope, ACS does not honor custom role definitions, even if the permissions appear valid.

This means:

  • Custom roles may assign successfully
  • Role assignments appear correct in the portal
  • Access attempts still fail at runtime

This is not a configuration issue or a customer mistake. It is a platform limitation.


✅ The Resolution

To manage or interact with Azure Communication Services, you must use a predefined built-in role.

✔ Required Built-In Role

Communication and Email Service Owner

This role provides the permissions required to:

  • Manage ACS resources
  • Access keys and endpoints
  • Configure calling, SMS, email, and related features

At this time, there is no supported alternative that allows partial or custom permission sets for ACS.


⚠️ Important Notes About ACS RBAC

Here are a few important behaviors to be aware of when working with ACS permissions:

  • ACS does not support custom RBAC roles
  • DataActions are not exposed or configurable for ACS
  • Least-privilege designs are limited to built-in roles only
  • Role assignments must be validated using real API calls, not just portal visibility

This can be surprising if you’re used to other Azure services that fully support custom role definitions.


🧭 Design Guidance

If you need separation of duties or reduced blast radius, consider these alternatives:

  • Use separate ACS resources per environment or workload
  • Assign the built-in role only to dedicated service principals
  • Scope access tightly at the resource level, not subscription-wide
  • Use Azure Monitor and diagnostics to audit usage instead of restricting permissions

While not ideal, these approaches align with the current ACS security model.


🧠 Final Thoughts

Azure Communication Services has a powerful feature set, but its RBAC model is intentionally constrained today. Attempting to use custom IAM roles will lead to confusing access failures that are difficult to troubleshoot unless this limitation is known upfront.

If you encounter authorization issues with ACS:

  • Verify the role is Communication and Email Service Owner
  • Do not rely on custom role definitions
  • Validate access using real SDK or REST calls

If this behavior changes in the future, it will require a platform update from the ACS product group.

Page Views


Share on:
About Blake Drumm
Blake Drumm

I like to collaborate and work on projects. My skills with Powershell allow me to quickly develop automated solutions to suit my customers, and my own needs.

Email :

Website :

About Blake Drumm

My name is Blake Drumm, I am working on the Azure Monitoring Enterprise Team with Microsoft. Currently working to update public documentation for System Center products and write troubleshooting guides to assist with fixing issues that may arise while using the products. I like to blog on Operations Manager and Azure Automation products, keep checking back for new posts. My goal is to post atleast once a month if possible.

Follow @blakedrumm
Useful Links