How to set up authorization on Azure Service Bus and Blob Storage
This tutorial goes through how you can set up authorization on your azure service bus and blob storage
How to set up Connection String authorization for Azure Service Bus and Blob Storage
Connection String authorization allows Struct to authenticate directly against Azure Service Bus and Azure Blob Storage using Azure connection strings. Navigate to Settings > Integration > Azure Service Bus.

Open an existing Azure Service Bus connection or click Create Azure Service Bus.
Azure Service Bus
Under Service Bus authorization, select Connection string.

Azure Service Bus
The connection string is used to authenticate against Azure Service Bus.
You can find the connection string in the Azure portal by opening your Service Bus Namespace and navigating to Settings > Shared access policies. Select an existing policy, or create a new one with Send permissions, and copy the Primary Connection string.

Queue Name
You can find your configured queues in the Azure portal by opening your Service Bus Namespace and navigating to Entities > Queues. Select the queue that Struct should publish messages to and copy its name.

Blob Storage
Under Blob Storage authorization, select Connection string.

Blob Storage Connection string
The connection string used to authenticate against Blob Storage.
You can find the connection string in the Azure portal by opening your Storage Account and navigating to Security + networking > Access keys. Copy one of the available Connection strings.

Blob Container Name
The Blob Storage container that Struct uses to store event payloads.
You can find your configured containers in the Azure portal by opening your Storage Account and navigating to Data storage > Containers. Select the container that Struct should use and copy its name.

After entering the required settings, click Test connection to verify that Struct can connect to both Azure Service Bus and Blob Storage.
If the connection test succeeds, click Save.
How to set up Entra ID authorization on Azure Service Bus and Blob Storage
Azure Service Bus
Before configuring the connection in Struct, make sure you have registered an application in Microsoft Entra ID and created a Client Secret. You will need the Tenant ID, Client ID, and Client Secret when configuring authentication for Azure Service Bus and Blob Storage.
To configure an Azure Service Bus connection, navigate to Settings > Integration > Azure Service Bus.

From here, you can edit or delete service buses. To create a new service bus, click the "Create Azure Service Bus"-button.

Under "Service Bus authorization", select the option "Service Principal (Entra ID)" and enter the following information:
Fully Qualified Namespace
You can find the Fully Qualified Namespace in the Azure portal by opening your Service Bus Namespace and navigating to Overview, where you can locate and copy the Host name value.

Tenant ID
The Tenant ID identifies the Microsoft Entra tenant that contains the registered application. Struct uses this value together with the Client ID and Client Secret to authenticate with Azure.
You can find the Tenant ID in the Azure portal by navigating to Microsoft Entra ID > Overview and copying the Tenant ID value.

Client ID
The Client ID identifies the application that Struct uses when authenticating with Microsoft Entra ID.
You can find the Client ID in the Azure portal by navigating to Microsoft Entra ID > App registrations, opening your registered application, and copying the Application (client) ID from the Overview page.

Client Secret
The Client Secret is the credential associated with the registered application. Struct uses it together with the Tenant ID and Client ID to authenticate with Microsoft Entra ID.
You can create or locate a Client Secret in the Azure portal by navigating to Microsoft Entra ID > App registrations, opening your application, and selecting Certificates & secrets under Manage. If no Client Secret exists, create a new one and copy its value.

Queue Name
You can find your configured queues in the Azure portal by opening your Service Bus Namespace and navigating to Entities > Queues. Select the queue that Struct should publish messages to and copy its name.

Assign role
In the Azure portal, open your Service Bus Namespace and navigate to Access control (IAM). Assign the Azure Service Bus Data Sender role to the registered application that Struct uses for authentication.

Once the role has been assigned, Microsoft Entra ID authorization is correctly configured for Azure Service Bus.
Blob Storage
Under Blob Storage authorization, select Service Principal (Entra ID).

Blob Service URL
You can find the Blob Service URL in the Azure portal by opening your Storage Account and navigating to Endpoints and copy the Blob service url.

Tenant ID, Client ID, and Client Secret
Use the same Tenant ID, Client ID, and Client Secret that were configured for Azure Service Bus. Struct uses the same registered application to authenticate with Azure Blob Storage.
Blob Container Name
The Blob Container Name specifies the Azure Blob Storage container where Struct stores event payloads.
You can find your configured containers in the Azure portal by opening your Storage Account and navigating to Data storage > Containers. Select the container that Struct should use and copy its name.

Assign Role
In the Azure portal, open your Storage Account and navigate to Access control (IAM). Assign the Storage Blob Data Contributor role to the registered application that Struct uses for authentication.

After entering the required settings, click Test connection to verify that Struct can connect to both Azure Service Bus and Blob Storage.
If the connection test succeeds, click the "Save"-button.
Last updated