Crea o actualiza la autorización.
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 identificador URI
Nombre |
En |
Requerido |
Tipo |
Description |
authorizationId
|
path |
True
|
string
|
Identificador de la autorización.
Patrón de Regex: ^[^*#&+:<>?]+$
|
authorizationProviderId
|
path |
True
|
string
|
Identificador del proveedor de autorización.
Patrón de Regex: ^[^*#&+:<>?]+$
|
resourceGroupName
|
path |
True
|
string
|
Nombre del grupo de recursos. El nombre distingue mayúsculas de minúsculas.
|
serviceName
|
path |
True
|
string
|
Nombre del servicio API Management.
Patrón de Regex: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
subscriptionId
|
path |
True
|
string
|
Identificador de la suscripción de destino.
|
api-version
|
query |
True
|
string
|
Versión de API que se usará para la operación.
|
Nombre |
Requerido |
Tipo |
Description |
If-Match
|
|
string
|
ETag de la entidad. No es necesario al crear una entidad, pero es necesario al actualizar una entidad.
|
Cuerpo de la solicitud
Nombre |
Tipo |
Description |
properties.authorizationType
|
AuthorizationType
|
Opciones de tipo de autorización
|
properties.error
|
AuthorizationError
|
|
properties.oauth2grantType
|
OAuth2GrantType
|
Opciones de tipo de concesión de OAuth2
|
properties.parameters
|
object
|
Parámetros de autorización
|
properties.status
|
string
|
Estado de la autorización
|
Respuestas
Nombre |
Tipo |
Description |
200 OK
|
AuthorizationContract
|
La autorización existente se actualizó correctamente.
Encabezados
ETag: string
|
201 Created
|
AuthorizationContract
|
La autorización se creó correctamente.
Encabezados
ETag: string
|
Other Status Codes
|
ErrorResponse
|
Respuesta de error que describe el motivo del error de la operación.
|
Seguridad
azure_auth
Flujo de OAuth2 de Azure Active Directory.
Tipo:
oauth2
Flujo:
implicit
Dirección URL de autorización:
https://login.microsoftonline.com/common/oauth2/authorize
Ámbitos
Nombre |
Description |
user_impersonation
|
suplantación de su cuenta de usuario
|
Ejemplos
ApiManagementCreateAuthorizationAADAuthCode
Solicitud de ejemplo
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
Respuesta de muestra
{
"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
Solicitud de ejemplo
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
Respuesta de muestra
{
"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"
}
}
Definiciones
AuthorizationContract
Contrato de autorización.
Nombre |
Tipo |
Description |
id
|
string
|
Identificador de recurso completo del recurso. Por ejemplo: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
Nombre del recurso.
|
properties.authorizationType
|
AuthorizationType
|
Opciones de tipo de autorización
|
properties.error
|
AuthorizationError
|
|
properties.oauth2grantType
|
OAuth2GrantType
|
Opciones de tipo de concesión de OAuth2
|
properties.parameters
|
object
|
Parámetros de autorización
|
properties.status
|
string
|
Estado de la autorización
|
type
|
string
|
Tipo de recurso. Por ejemplo, "Microsoft.Compute/virtualMachines" o "Microsoft.Storage/storageAccounts"
|
AuthorizationError
Detalles del error de autorización.
Nombre |
Tipo |
Description |
code
|
string
|
Código de error
|
message
|
string
|
Mensaje de error
|
AuthorizationType
Opciones de tipo de autorización
Nombre |
Tipo |
Description |
OAuth2
|
string
|
Tipo de autorización de OAuth2
|
ErrorFieldContract
Contrato de campo de error.
Nombre |
Tipo |
Description |
code
|
string
|
Código de error de nivel de propiedad.
|
message
|
string
|
Representación legible del error de nivel de propiedad.
|
target
|
string
|
Nombre de propiedad.
|
ErrorResponse
Respuesta de error.
Nombre |
Tipo |
Description |
error.code
|
string
|
Código del error definido por el servicio. Este código funciona como estado secundario del código de error HTTP especificado en la respuesta.
|
error.details
|
ErrorFieldContract[]
|
La lista de campos no válidos que se envían en la solicitud, en caso de error de validación.
|
error.message
|
string
|
Representación legible del error.
|
OAuth2GrantType
Opciones de tipo de concesión de OAuth2
Nombre |
Tipo |
Description |
AuthorizationCode
|
string
|
Concesión del código de autorización
|
ClientCredentials
|
string
|
Concesión de credenciales de cliente
|