Cria ou atualiza a autorização.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}?api-version=2022-08-01
Parâmetros de URI
Nome |
Em |
Obrigatório |
Tipo |
Description |
authorizationId
|
path |
True
|
string
|
Identificador da autorização.
Regex pattern: ^[^*#&+:<>?]+$
|
authorizationProviderId
|
path |
True
|
string
|
Identificador do provedor de autorização.
Regex pattern: ^[^*#&+:<>?]+$
|
resourceGroupName
|
path |
True
|
string
|
O nome do grupo de recursos. O nome diferencia maiúsculas de minúsculas.
|
serviceName
|
path |
True
|
string
|
O nome do serviço Gerenciamento de API.
Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
subscriptionId
|
path |
True
|
string
|
A ID da assinatura de destino.
|
api-version
|
query |
True
|
string
|
A versão da API a ser usada para esta operação.
|
Nome |
Obrigatório |
Tipo |
Description |
If-Match
|
|
string
|
ETag da Entidade. Não é necessário ao criar uma entidade, mas necessário ao atualizar uma entidade.
|
Corpo da solicitação
Nome |
Tipo |
Description |
properties.authorizationType
|
AuthorizationType
|
Opções de tipo de autorização
|
properties.error
|
AuthorizationError
|
|
properties.oauth2grantType
|
OAuth2GrantType
|
Opções de tipo de concessão OAuth2
|
properties.parameters
|
object
|
Parâmetros de autorização
|
properties.status
|
string
|
Status da autorização
|
Respostas
Nome |
Tipo |
Description |
200 OK
|
AuthorizationContract
|
A Autorização existente foi atualizada com êxito.
Headers
ETag: string
|
201 Created
|
AuthorizationContract
|
A autorização foi criada com êxito.
Headers
ETag: string
|
Other Status Codes
|
ErrorResponse
|
Resposta de erro que descreve por que a operação falhou.
|
Segurança
azure_auth
Fluxo OAuth2 do Azure Active Directory.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Nome |
Description |
user_impersonation
|
representar sua conta de usuário
|
Exemplos
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"
}
}
Definições
AuthorizationContract
Contrato de autorização.
Nome |
Tipo |
Description |
id
|
string
|
ID de recurso totalmente qualificada para o recurso. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
O nome do recurso
|
properties.authorizationType
|
AuthorizationType
|
Opções de tipo de autorização
|
properties.error
|
AuthorizationError
|
|
properties.oauth2grantType
|
OAuth2GrantType
|
Opções de tipo de concessão OAuth2
|
properties.parameters
|
object
|
Parâmetros de autorização
|
properties.status
|
string
|
Status da autorização
|
type
|
string
|
Tipo do recurso. Por exemplo, "Microsoft.Compute/virtualMachines" ou "Microsoft.Storage/storageAccounts"
|
AuthorizationError
Detalhes do erro de autorização.
Nome |
Tipo |
Description |
code
|
string
|
Código do erro
|
message
|
string
|
Mensagem de erro
|
AuthorizationType
Opções de tipo de autorização
Nome |
Tipo |
Description |
OAuth2
|
string
|
Tipo de autorização OAuth2
|
ErrorFieldContract
Contrato de Campo de Erro.
Nome |
Tipo |
Description |
code
|
string
|
Código de erro no nível da propriedade.
|
message
|
string
|
Representação legível por humanos do erro no nível da propriedade.
|
target
|
string
|
Nome da propriedade.
|
ErrorResponse
Resposta de erro.
Nome |
Tipo |
Description |
error.code
|
string
|
Código de erro definido pelo serviço. Esse código atua como um substatus do código de erro HTTP especificado na resposta.
|
error.details
|
ErrorFieldContract[]
|
A lista de campos inválidos enviados na solicitação, em caso de erro de validação.
|
error.message
|
string
|
Representação legível ao olho humano do erro.
|
OAuth2GrantType
Opções de tipo de concessão OAuth2
Nome |
Tipo |
Description |
AuthorizationCode
|
string
|
Concessão de código de autorização
|
ClientCredentials
|
string
|
Concessão de credencial do cliente
|