Broker Authentication - Create Or Update
Create a BrokerAuthenticationResource
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/brokers/{brokerName}/authentications/{authenticationName}?api-version=2024-08-15-preview
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
authentication
|
path | True |
string |
Name of Instance broker authentication resource Regex pattern: |
broker
|
path | True |
string |
Name of broker. Regex pattern: |
instance
|
path | True |
string |
Name of instance. Regex pattern: |
resource
|
path | True |
string |
The name of the resource group. The name is case insensitive. |
subscription
|
path | True |
string uuid |
The ID of the target subscription. The value must be an UUID. |
api-version
|
query | True |
string |
The API version to use for this operation. |
Request Body
Name | Required | Type | Description |
---|---|---|---|
extendedLocation | True |
Edge location of the resource. |
|
properties |
The resource-specific properties for this resource. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
Resource 'BrokerAuthenticationResource' update operation succeeded |
|
201 Created |
Resource 'BrokerAuthenticationResource' create operation succeeded Headers
|
|
Other Status Codes |
An unexpected error response. |
Security
azure_auth
Azure Active Directory OAuth2 Flow.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name | Description |
---|---|
user_impersonation | impersonate your user account |
Examples
Broker |
Broker |
BrokerAuthentication_CreateOrUpdate
Sample request
PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123?api-version=2024-08-15-preview
{
"properties": {
"authenticationMethods": [
{
"method": "Custom",
"customSettings": {
"auth": {
"x509": {
"secretRef": "secret-name"
}
},
"caCertConfigMap": "pdecudefqyolvncbus",
"endpoint": "https://www.example.com",
"headers": {
"key8518": "bwityjy"
}
},
"serviceAccountTokenSettings": {
"audiences": [
"jqyhyqatuydg"
]
},
"x509Settings": {
"authorizationAttributes": {
"key3384": {
"attributes": {
"key186": "ucpajramsz"
},
"subject": "jpgwctfeixitptfgfnqhua"
}
},
"trustedClientCaCert": "vlctsqddl"
}
}
]
},
"extendedLocation": {
"name": "qmbrfwcpwwhggszhrdjv",
"type": "CustomLocation"
}
}
Sample response
{
"properties": {
"authenticationMethods": [
{
"method": "Custom",
"customSettings": {
"auth": {
"x509": {
"secretRef": "secret-name"
}
},
"caCertConfigMap": "pdecudefqyolvncbus",
"endpoint": "https://www.example.com",
"headers": {
"key8518": "bwityjy"
}
},
"serviceAccountTokenSettings": {
"audiences": [
"jqyhyqatuydg"
]
},
"x509Settings": {
"authorizationAttributes": {
"key3384": {
"attributes": {
"key186": "ucpajramsz"
},
"subject": "jpgwctfeixitptfgfnqhua"
}
},
"trustedClientCaCert": "vlctsqddl"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "qmbrfwcpwwhggszhrdjv",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123",
"name": "lwucizfvtsdpx",
"type": "kvtilkgcxanlfozrd",
"systemData": {
"createdBy": "ssvaslsmudloholronopqyxjcu",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "gnicpuszwd",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
"properties": {
"authenticationMethods": [
{
"method": "Custom",
"customSettings": {
"auth": {
"x509": {
"secretRef": "secret-name"
}
},
"caCertConfigMap": "pdecudefqyolvncbus",
"endpoint": "https://www.example.com",
"headers": {
"key8518": "bwityjy"
}
},
"serviceAccountTokenSettings": {
"audiences": [
"jqyhyqatuydg"
]
},
"x509Settings": {
"authorizationAttributes": {
"key3384": {
"attributes": {
"key186": "ucpajramsz"
},
"subject": "jpgwctfeixitptfgfnqhua"
}
},
"trustedClientCaCert": "vlctsqddl"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "qmbrfwcpwwhggszhrdjv",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123",
"name": "lwucizfvtsdpx",
"type": "kvtilkgcxanlfozrd",
"systemData": {
"createdBy": "ssvaslsmudloholronopqyxjcu",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "gnicpuszwd",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
BrokerAuthentication_CreateOrUpdate_Complex
Sample request
PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123?api-version=2024-08-15-preview
{
"properties": {
"authenticationMethods": [
{
"method": "ServiceAccountToken",
"serviceAccountTokenSettings": {
"audiences": [
"aio-internal"
]
}
},
{
"method": "X509",
"x509Settings": {
"trustedClientCaCert": "my-ca",
"authorizationAttributes": {
"root": {
"subject": "CN = Contoso Root CA Cert, OU = Engineering, C = US",
"attributes": {
"organization": "contoso"
}
},
"intermediate": {
"subject": "CN = Contoso Intermediate CA",
"attributes": {
"city": "seattle",
"foo": "bar"
}
},
"smart-fan": {
"subject": "CN = smart-fan",
"attributes": {
"building": "17"
}
}
}
}
}
]
},
"extendedLocation": {
"name": "qmbrfwcpwwhggszhrdjv",
"type": "CustomLocation"
}
}
Sample response
{
"properties": {
"authenticationMethods": [
{
"method": "ServiceAccountToken",
"serviceAccountTokenSettings": {
"audiences": [
"aio-internal"
]
}
},
{
"method": "X509",
"x509Settings": {
"trustedClientCaCert": "my-ca",
"authorizationAttributes": {
"root": {
"subject": "CN = Contoso Root CA Cert, OU = Engineering, C = US",
"attributes": {
"organization": "contoso"
}
},
"intermediate": {
"subject": "CN = Contoso Intermediate CA",
"attributes": {
"city": "seattle",
"foo": "bar"
}
},
"smart-fan": {
"subject": "CN = smart-fan",
"attributes": {
"building": "17"
}
}
}
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "qmbrfwcpwwhggszhrdjv",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123",
"name": "lwucizfvtsdpx",
"type": "kvtilkgcxanlfozrd",
"systemData": {
"createdBy": "ssvaslsmudloholronopqyxjcu",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "gnicpuszwd",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
"properties": {
"authenticationMethods": [
{
"method": "ServiceAccountToken",
"serviceAccountTokenSettings": {
"audiences": [
"aio-internal"
]
}
},
{
"method": "X509",
"x509Settings": {
"trustedClientCaCert": "my-ca",
"authorizationAttributes": {
"root": {
"subject": "CN = Contoso Root CA Cert, OU = Engineering, C = US",
"attributes": {
"organization": "contoso"
}
},
"intermediate": {
"subject": "CN = Contoso Intermediate CA",
"attributes": {
"city": "seattle",
"foo": "bar"
}
},
"smart-fan": {
"subject": "CN = smart-fan",
"attributes": {
"building": "17"
}
}
}
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "qmbrfwcpwwhggszhrdjv",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123/authentications/resource-name123",
"name": "lwucizfvtsdpx",
"type": "kvtilkgcxanlfozrd",
"systemData": {
"createdBy": "ssvaslsmudloholronopqyxjcu",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "gnicpuszwd",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Definitions
Name | Description |
---|---|
Broker |
Broker Authentication Mode |
Broker |
BrokerAuthentication Resource properties |
Broker |
Instance broker authentication resource |
Broker |
Custom Authentication properties |
Broker |
Custom method for BrokerAuthentication |
Broker |
Set of broker authentication policies. Only one method is supported for each entry. |
Broker |
Service Account Token for BrokerAuthentication |
Broker |
X509 for BrokerAuthentication. |
Broker |
BrokerAuthenticatorMethodX509Attributes properties. |
created |
The type of identity that created the resource. |
Error |
The resource management error additional info. |
Error |
The error detail. |
Error |
Error response |
Extended |
Extended location is an extension of Azure locations. They provide a way to use their Azure ARC enabled Kubernetes clusters as target locations for deploying Azure services instances. |
Extended |
The enum defining type of ExtendedLocation accepted. |
Provisioning |
The enum defining status of resource. |
system |
Metadata pertaining to creation and last modification of the resource. |
X509Manual |
X509 Certificate Authentication properties. |
BrokerAuthenticationMethod
Broker Authentication Mode
Name | Type | Description |
---|---|---|
Custom |
string |
Custom authentication configuration. |
ServiceAccountToken |
string |
ServiceAccountToken authentication configuration. |
X509 |
string |
X.509 authentication configuration. |
BrokerAuthenticationProperties
BrokerAuthentication Resource properties
Name | Type | Description |
---|---|---|
authenticationMethods |
Defines a set of Broker authentication methods to be used on |
|
provisioningState |
The status of the last operation. |
BrokerAuthenticationResource
Instance broker authentication resource
Name | Type | Description |
---|---|---|
extendedLocation |
Edge location of the resource. |
|
id |
string |
Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" |
name |
string |
The name of the resource |
properties |
The resource-specific properties for this resource. |
|
systemData |
Azure Resource Manager metadata containing createdBy and modifiedBy information. |
|
type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
BrokerAuthenticatorCustomAuth
Custom Authentication properties
Name | Type | Description |
---|---|---|
x509 |
X509 Custom Auth type details. |
BrokerAuthenticatorMethodCustom
Custom method for BrokerAuthentication
Name | Type | Description |
---|---|---|
auth |
Optional authentication needed for authenticating with the custom authentication server. |
|
caCertConfigMap |
string |
Optional CA certificate for validating the custom authentication server's certificate. |
endpoint |
string |
Endpoint of the custom authentication server. Must be an HTTPS endpoint. |
headers |
object |
Additional HTTP headers to pass to the custom authentication server. |
BrokerAuthenticatorMethods
Set of broker authentication policies. Only one method is supported for each entry.
Name | Type | Description |
---|---|---|
customSettings |
Custom authentication configuration. |
|
method |
Custom authentication configuration. |
|
serviceAccountTokenSettings |
ServiceAccountToken authentication configuration. |
|
x509Settings |
X.509 authentication configuration. |
BrokerAuthenticatorMethodSat
Service Account Token for BrokerAuthentication
Name | Type | Description |
---|---|---|
audiences |
string[] |
List of allowed audience. |
BrokerAuthenticatorMethodX509
X509 for BrokerAuthentication.
Name | Type | Default value | Description |
---|---|---|---|
authorizationAttributes |
<string,
Broker |
X509 authorization attributes properties. |
|
trustedClientCaCert |
string |
client-ca |
Name of the trusted client ca cert resource. |
BrokerAuthenticatorMethodX509Attributes
BrokerAuthenticatorMethodX509Attributes properties.
Name | Type | Description |
---|---|---|
attributes |
object |
Attributes object. |
subject |
string |
Subject of the X509 attribute. |
createdByType
The type of identity that created the resource.
Name | Type | Description |
---|---|---|
Application |
string |
|
Key |
string |
|
ManagedIdentity |
string |
|
User |
string |
ErrorAdditionalInfo
The resource management error additional info.
Name | Type | Description |
---|---|---|
info |
object |
The additional info. |
type |
string |
The additional info type. |
ErrorDetail
The error detail.
Name | Type | Description |
---|---|---|
additionalInfo |
The error additional info. |
|
code |
string |
The error code. |
details |
The error details. |
|
message |
string |
The error message. |
target |
string |
The error target. |
ErrorResponse
Error response
Name | Type | Description |
---|---|---|
error |
The error object. |
ExtendedLocation
Extended location is an extension of Azure locations. They provide a way to use their Azure ARC enabled Kubernetes clusters as target locations for deploying Azure services instances.
Name | Type | Description |
---|---|---|
name |
string |
The name of the extended location. |
type |
Type of ExtendedLocation. |
ExtendedLocationType
The enum defining type of ExtendedLocation accepted.
Name | Type | Description |
---|---|---|
CustomLocation |
string |
CustomLocation type |
ProvisioningState
The enum defining status of resource.
Name | Type | Description |
---|---|---|
Accepted |
string |
Resource has been Accepted. |
Canceled |
string |
Resource creation was canceled. |
Deleting |
string |
Resource is Deleting. |
Failed |
string |
Resource creation failed. |
Provisioning |
string |
Resource is getting provisioned. |
Succeeded |
string |
Resource has been created. |
Updating |
string |
Resource is Updating. |
systemData
Metadata pertaining to creation and last modification of the resource.
Name | Type | Description |
---|---|---|
createdAt |
string |
The timestamp of resource creation (UTC). |
createdBy |
string |
The identity that created the resource. |
createdByType |
The type of identity that created the resource. |
|
lastModifiedAt |
string |
The timestamp of resource last modification (UTC) |
lastModifiedBy |
string |
The identity that last modified the resource. |
lastModifiedByType |
The type of identity that last modified the resource. |
X509ManualCertificate
X509 Certificate Authentication properties.
Name | Type | Description |
---|---|---|
secretRef |
string |
Kubernetes secret containing an X.509 client certificate. This is a reference to the secret through an identifying name, not the secret itself. |