Partilhar via


Authorization - Create Or Update

Creates or updates authorization.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}?api-version=2024-05-01

URI Parameters

Name In Required Type Description
authorizationId
path True

string

Identifier of the authorization.

Regex pattern: ^[^*#&+:<>?]+$

authorizationProviderId
path True

string

Identifier of the authorization provider.

Regex pattern: ^[^*#&+:<>?]+$

resourceGroupName
path True

string

The name of the resource group. The name is case insensitive.

serviceName
path True

string

The name of the API Management service.

Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

subscriptionId
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 Header

Name Required Type Description
If-Match

string

ETag of the Entity. Not required when creating an entity, but required when updating an entity.

Request Body

Name Type Description
properties.authorizationType

AuthorizationType

Authorization type options

properties.error

AuthorizationError

properties.oauth2grantType

OAuth2GrantType

OAuth2 grant type options

properties.parameters

object

Authorization parameters

properties.status

string

Status of the Authorization

Responses

Name Type Description
200 OK

AuthorizationContract

The existing Authorization was successfully updated.

Headers

ETag: string

201 Created

AuthorizationContract

Authorization was successfully created.

Headers

ETag: string

Other Status Codes

ErrorResponse

Error response describing why the operation failed.

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

ApiManagementCreateAuthorizationAADAuthCode
ApiManagementCreateAuthorizationAADClientCred

ApiManagementCreateAuthorizationAADAuthCode

Sample request

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz2?api-version=2024-05-01

{
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "AuthorizationCode"
  }
}

Sample response

{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz2",
  "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
  "name": "authz2",
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "AuthorizationCode",
    "status": "Error",
    "error": {
      "code": "Unauthenticated",
      "message": "This connection is not authenticated."
    }
  }
}
{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz2",
  "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
  "name": "authz2",
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "AuthorizationCode",
    "status": "Error",
    "error": {
      "code": "Unauthenticated",
      "message": "This connection is not authenticated."
    }
  }
}

ApiManagementCreateAuthorizationAADClientCred

Sample request

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithclientcred/authorizations/authz1?api-version=2024-05-01

{
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "AuthorizationCode",
    "parameters": {
      "clientId": "clientsecretid",
      "clientSecret": "clientsecretvalue"
    }
  }
}

Sample response

{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithclientcred/authorizations/authz1",
  "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
  "name": "authz1",
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "ClientCredentials",
    "parameters": {
      "clientId": "clientsecretid"
    },
    "status": "Connected"
  }
}
{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithclientcred/authorizations/authz1",
  "type": "Microsoft.ApiManagement/service/authorizationProviders/authorizations",
  "name": "authz1",
  "properties": {
    "authorizationType": "OAuth2",
    "oauth2grantType": "ClientCredentials",
    "parameters": {
      "clientId": "clientsecretid"
    },
    "status": "Connected"
  }
}

Definitions

Name Description
AuthorizationContract

Authorization contract.

AuthorizationError

Authorization error details.

AuthorizationType

Authorization type options

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

OAuth2GrantType

OAuth2 grant type options

AuthorizationContract

Authorization contract.

Name Type Description
id

string

Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

The name of the resource

properties.authorizationType

AuthorizationType

Authorization type options

properties.error

AuthorizationError

properties.oauth2grantType

OAuth2GrantType

OAuth2 grant type options

properties.parameters

object

Authorization parameters

properties.status

string

Status of the Authorization

type

string

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

AuthorizationError

Authorization error details.

Name Type Description
code

string

Error code

message

string

Error message

AuthorizationType

Authorization type options

Name Type Description
OAuth2

string

OAuth2 authorization type

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

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

The error object.

OAuth2GrantType

OAuth2 grant type options

Name Type Description
AuthorizationCode

string

Authorization Code grant

ClientCredentials

string

Client Credential grant