Autorisatie maken of bijwerken.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}?api-version=2022-08-01
URI-parameters
Name |
In |
Vereist |
Type |
Description |
authorizationId
|
path |
True
|
string
|
Id van de autorisatie.
Regex pattern: ^[^*#&+:<>?]+$
|
authorizationProviderId
|
path |
True
|
string
|
Id van de autorisatieprovider.
Regex pattern: ^[^*#&+:<>?]+$
|
resourceGroupName
|
path |
True
|
string
|
De naam van de resourcegroep. De naam is niet hoofdlettergevoelig.
|
serviceName
|
path |
True
|
string
|
De naam van de API Management service.
Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
subscriptionId
|
path |
True
|
string
|
De id van het doelabonnement.
|
api-version
|
query |
True
|
string
|
De API-versie die voor deze bewerking moet worden gebruikt.
|
Name |
Vereist |
Type |
Description |
If-Match
|
|
string
|
ETag van de entiteit. Niet vereist bij het maken van een entiteit, maar vereist bij het bijwerken van een entiteit.
|
Aanvraagbody
Name |
Type |
Description |
properties.authorizationType
|
AuthorizationType
|
Opties voor autorisatietype
|
properties.error
|
AuthorizationError
|
|
properties.oauth2grantType
|
OAuth2GrantType
|
Opties voor OAuth2-toekenningstype
|
properties.parameters
|
object
|
Autorisatieparameters
|
properties.status
|
string
|
Status van de autorisatie
|
Antwoorden
Name |
Type |
Description |
200 OK
|
AuthorizationContract
|
De bestaande autorisatie is bijgewerkt.
Headers
ETag: string
|
201 Created
|
AuthorizationContract
|
De autorisatie is gemaakt.
Headers
ETag: string
|
Other Status Codes
|
ErrorResponse
|
Foutreactie waarin wordt beschreven waarom de bewerking is mislukt.
|
Beveiliging
azure_auth
Azure Active Directory OAuth2-stroom.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name |
Description |
user_impersonation
|
Uw gebruikersaccount imiteren
|
Voorbeelden
ApiManagementCreateAuthorizationAADAuthCode
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz2?api-version=2022-08-01
{
"properties": {
"authorizationType": "OAuth2",
"oauth2grantType": "AuthorizationCode"
}
}
import com.azure.resourcemanager.apimanagement.models.AuthorizationType;
import com.azure.resourcemanager.apimanagement.models.OAuth2GrantType;
import java.util.HashMap;
import java.util.Map;
/** Samples for Authorization CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAuthorizationAADAuthCode.json
*/
/**
* Sample code: ApiManagementCreateAuthorizationAADAuthCode.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateAuthorizationAADAuthCode(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.authorizations()
.define("authz2")
.withExistingAuthorizationProvider("rg1", "apimService1", "aadwithauthcode")
.withAuthorizationType(AuthorizationType.OAUTH2)
.withOAuth2GrantType(OAuth2GrantType.AUTHORIZATION_CODE)
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_authorization_aad_auth_code.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.authorization.create_or_update(
resource_group_name="rg1",
service_name="apimService1",
authorization_provider_id="aadwithauthcode",
authorization_id="authz2",
parameters={"properties": {"authorizationType": "OAuth2", "oauth2grantType": "AuthorizationCode"}},
)
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAuthorizationAADAuthCode.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAuthorizationAADAuthCode.json
func ExampleAuthorizationClient_CreateOrUpdate_apiManagementCreateAuthorizationAadAuthCode() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAuthorizationClient().CreateOrUpdate(ctx, "rg1", "apimService1", "aadwithauthcode", "authz2", armapimanagement.AuthorizationContract{
Properties: &armapimanagement.AuthorizationContractProperties{
AuthorizationType: to.Ptr(armapimanagement.AuthorizationTypeOAuth2),
OAuth2GrantType: to.Ptr(armapimanagement.OAuth2GrantTypeAuthorizationCode),
},
}, &armapimanagement.AuthorizationClientCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AuthorizationContract = armapimanagement.AuthorizationContract{
// Name: to.Ptr("authz2"),
// Type: to.Ptr("Microsoft.ApiManagement/service/authorizationProviders/authorizations"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithauthcode/authorizations/authz2"),
// Properties: &armapimanagement.AuthorizationContractProperties{
// AuthorizationType: to.Ptr(armapimanagement.AuthorizationTypeOAuth2),
// Error: &armapimanagement.AuthorizationError{
// Code: to.Ptr("Unauthenticated"),
// Message: to.Ptr("This connection is not authenticated."),
// },
// OAuth2GrantType: to.Ptr(armapimanagement.OAuth2GrantTypeAuthorizationCode),
// Status: to.Ptr("Error"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates authorization.
*
* @summary Creates or updates authorization.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAuthorizationAADAuthCode.json
*/
async function apiManagementCreateAuthorizationAadAuthCode() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const authorizationProviderId = "aadwithauthcode";
const authorizationId = "authz2";
const parameters = {
authorizationType: "OAuth2",
oAuth2GrantType: "AuthorizationCode",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.authorization.createOrUpdate(
resourceGroupName,
serviceName,
authorizationProviderId,
authorizationId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/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/subid/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/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithclientcred/authorizations/authz1?api-version=2022-08-01
{
"properties": {
"authorizationType": "OAuth2",
"oauth2grantType": "AuthorizationCode",
"parameters": {
"clientId": "53790925-fdd3-4b80-bc7a-4c3aaf25801d",
"clientSecret": "xxxxxxxxxxxxxxx~xxxxxxxxx"
}
}
}
import com.azure.resourcemanager.apimanagement.models.AuthorizationType;
import com.azure.resourcemanager.apimanagement.models.OAuth2GrantType;
import java.util.HashMap;
import java.util.Map;
/** Samples for Authorization CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAuthorizationAADClientCred.json
*/
/**
* Sample code: ApiManagementCreateAuthorizationAADClientCred.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateAuthorizationAADClientCred(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.authorizations()
.define("authz1")
.withExistingAuthorizationProvider("rg1", "apimService1", "aadwithclientcred")
.withAuthorizationType(AuthorizationType.OAUTH2)
.withOAuth2GrantType(OAuth2GrantType.AUTHORIZATION_CODE)
.withParameters(
mapOf("clientId", "53790925-fdd3-4b80-bc7a-4c3aaf25801d", "clientSecret", "fakeTokenPlaceholder"))
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_authorization_aad_client_cred.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.authorization.create_or_update(
resource_group_name="rg1",
service_name="apimService1",
authorization_provider_id="aadwithclientcred",
authorization_id="authz1",
parameters={
"properties": {
"authorizationType": "OAuth2",
"oauth2grantType": "AuthorizationCode",
"parameters": {
"clientId": "53790925-fdd3-4b80-bc7a-4c3aaf25801d",
"clientSecret": "xxxxxxxxxxxxxxx~xxxxxxxxx",
},
}
},
)
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAuthorizationAADClientCred.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAuthorizationAADClientCred.json
func ExampleAuthorizationClient_CreateOrUpdate_apiManagementCreateAuthorizationAadClientCred() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewAuthorizationClient().CreateOrUpdate(ctx, "rg1", "apimService1", "aadwithclientcred", "authz1", armapimanagement.AuthorizationContract{
Properties: &armapimanagement.AuthorizationContractProperties{
AuthorizationType: to.Ptr(armapimanagement.AuthorizationTypeOAuth2),
OAuth2GrantType: to.Ptr(armapimanagement.OAuth2GrantTypeAuthorizationCode),
Parameters: map[string]*string{
"clientId": to.Ptr("53790925-fdd3-4b80-bc7a-4c3aaf25801d"),
"clientSecret": to.Ptr("FcJkQ3iPSaKAQRA7Ft8Q~fZ1X5vKmqzUAfJagcJ8"),
},
},
}, &armapimanagement.AuthorizationClientCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.AuthorizationContract = armapimanagement.AuthorizationContract{
// Name: to.Ptr("authz1"),
// Type: to.Ptr("Microsoft.ApiManagement/service/authorizationProviders/authorizations"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationProviders/aadwithclientcred/authorizations/authz1"),
// Properties: &armapimanagement.AuthorizationContractProperties{
// AuthorizationType: to.Ptr(armapimanagement.AuthorizationTypeOAuth2),
// OAuth2GrantType: to.Ptr(armapimanagement.OAuth2GrantTypeClientCredentials),
// Parameters: map[string]*string{
// "clientId": to.Ptr("53790925-fdd3-4b80-bc7a-4c3aaf25801d"),
// },
// Status: to.Ptr("Connected"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates authorization.
*
* @summary Creates or updates authorization.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateAuthorizationAADClientCred.json
*/
async function apiManagementCreateAuthorizationAadClientCred() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const authorizationProviderId = "aadwithclientcred";
const authorizationId = "authz1";
const parameters = {
authorizationType: "OAuth2",
oAuth2GrantType: "AuthorizationCode",
parameters: {
clientId: "",
clientSecret: "",
},
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.authorization.createOrUpdate(
resourceGroupName,
serviceName,
authorizationProviderId,
authorizationId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/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": "53790925-fdd3-4b80-bc7a-4c3aaf25801d"
},
"status": "Connected"
}
}
{
"id": "/subscriptions/subid/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": "53790925-fdd3-4b80-bc7a-4c3aaf25801d"
},
"status": "Connected"
}
}
Definities
AuthorizationContract
Autorisatiecontract.
Name |
Type |
Description |
id
|
string
|
Volledig gekwalificeerde resource-id voor de resource. Bijvoorbeeld - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
De naam van de resource
|
properties.authorizationType
|
AuthorizationType
|
Opties voor autorisatietype
|
properties.error
|
AuthorizationError
|
|
properties.oauth2grantType
|
OAuth2GrantType
|
Opties voor OAuth2-toekenningstype
|
properties.parameters
|
object
|
Autorisatieparameters
|
properties.status
|
string
|
Status van de autorisatie
|
type
|
string
|
Het type resource. Bijvoorbeeld 'Microsoft.Compute/virtualMachines' of 'Microsoft.Storage/storageAccounts'
|
AuthorizationError
Details van autorisatiefout.
Name |
Type |
Description |
code
|
string
|
Foutcode
|
message
|
string
|
Foutbericht
|
AuthorizationType
Opties voor autorisatietype
Name |
Type |
Description |
OAuth2
|
string
|
OAuth2-autorisatietype
|
ErrorFieldContract
Fout veldcontract.
Name |
Type |
Description |
code
|
string
|
Foutcode op eigenschapsniveau.
|
message
|
string
|
Door mensen leesbare weergave van fout op eigenschapsniveau.
|
target
|
string
|
Naam van eigenschap.
|
ErrorResponse
Foutreactie.
Name |
Type |
Description |
error.code
|
string
|
Door de service gedefinieerde foutcode. Deze code fungeert als een substatus voor de HTTP-foutcode die is opgegeven in het antwoord.
|
error.details
|
ErrorFieldContract[]
|
De lijst met ongeldige velden verzenden in aanvraag, in geval van een validatiefout.
|
error.message
|
string
|
Door mensen leesbare weergave van de fout.
|
OAuth2GrantType
Opties voor OAuth2-toekenningstype
Name |
Type |
Description |
AuthorizationCode
|
string
|
Autorisatiecode verlenen
|
ClientCredentials
|
string
|
Verlenen van clientreferenties
|