Vytvoří nebo aktualizuje autorizaci.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}?api-version=2022-08-01
Parametry identifikátoru URI
Name |
V |
Vyžadováno |
Typ |
Description |
authorizationId
|
path |
True
|
string
|
Identifikátor autorizace.
Regex pattern: ^[^*#&+:<>?]+$
|
authorizationProviderId
|
path |
True
|
string
|
Identifikátor zprostředkovatele autorizace.
Regex pattern: ^[^*#&+:<>?]+$
|
resourceGroupName
|
path |
True
|
string
|
Název skupiny prostředků. V názvu se rozlišují malá a velká písmena.
|
serviceName
|
path |
True
|
string
|
Název služby API Management.
Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
subscriptionId
|
path |
True
|
string
|
ID cílového předplatného.
|
api-version
|
query |
True
|
string
|
Verze rozhraní API, která se má použít pro tuto operaci.
|
Name |
Vyžadováno |
Typ |
Description |
If-Match
|
|
string
|
Značka ETag entity. Nevyžaduje se při vytváření entity, ale vyžaduje se při aktualizaci entity.
|
Text požadavku
Name |
Typ |
Description |
properties.authorizationType
|
AuthorizationType
|
Možnosti typu autorizace
|
properties.error
|
AuthorizationError
|
|
properties.oauth2grantType
|
OAuth2GrantType
|
Možnosti typu udělení OAuth2
|
properties.parameters
|
object
|
Parametry autorizace
|
properties.status
|
string
|
Stav autorizace
|
Odpovědi
Name |
Typ |
Description |
200 OK
|
AuthorizationContract
|
Stávající autorizace se úspěšně aktualizovala.
Headers
ETag: string
|
201 Created
|
AuthorizationContract
|
Autorizace se úspěšně vytvořila.
Headers
ETag: string
|
Other Status Codes
|
ErrorResponse
|
Chybová odpověď popisující, proč operace selhala.
|
Zabezpečení
azure_auth
Tok Azure Active Directory OAuth2
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name |
Description |
user_impersonation
|
zosobnění uživatelského účtu
|
Příklady
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"
}
}
Definice
AuthorizationContract
Autorizační smlouva.
Name |
Typ |
Description |
id
|
string
|
Plně kvalifikované ID prostředku. Příklad – /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
Název prostředku
|
properties.authorizationType
|
AuthorizationType
|
Možnosti typu autorizace
|
properties.error
|
AuthorizationError
|
|
properties.oauth2grantType
|
OAuth2GrantType
|
Možnosti typu udělení OAuth2
|
properties.parameters
|
object
|
Parametry autorizace
|
properties.status
|
string
|
Stav autorizace
|
type
|
string
|
Typ prostředku. Například Microsoft.Compute/virtualMachines nebo Microsoft.Storage/storageAccounts
|
AuthorizationError
Podrobnosti o chybě autorizace
Name |
Typ |
Description |
code
|
string
|
Kód chyby
|
message
|
string
|
Chybová zpráva
|
AuthorizationType
Možnosti typu autorizace
Name |
Typ |
Description |
OAuth2
|
string
|
Typ autorizace OAuth2
|
ErrorFieldContract
Chyba Kontrakt pole.
Name |
Typ |
Description |
code
|
string
|
Kód chyby na úrovni vlastnosti.
|
message
|
string
|
Čitelné znázornění chyby na úrovni vlastností.
|
target
|
string
|
Název vlastnosti.
|
ErrorResponse
Odpověď na chybu.
Name |
Typ |
Description |
error.code
|
string
|
Kód chyby definované službou Tento kód slouží jako dílčí stav pro kód chyby HTTP zadaný v odpovědi.
|
error.details
|
ErrorFieldContract[]
|
Seznam neplatných polí se odešle v žádosti v případě chyby ověření.
|
error.message
|
string
|
Znázornění chyby čitelné pro člověka
|
OAuth2GrantType
Možnosti typu udělení OAuth2
Name |
Typ |
Description |
AuthorizationCode
|
string
|
Udělení autorizačního kódu
|
ClientCredentials
|
string
|
Udělení přihlašovacích údajů klienta
|