Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Cree un nuevo objeto namedLocation . Las ubicaciones con nombre pueden ser objetos ipNamedLocation o countryNamedLocation .
Esta API está disponible en las siguientes implementaciones nacionales de nube.
| Servicio global |
Gobierno de EE. UU. L4 |
Us Government L5 (DOD) |
China operada por 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
| Tipo de permiso |
Permisos con privilegios mínimos |
Permisos con privilegios más altos |
| Delegado (cuenta profesional o educativa) |
Policy.Read.All y Policy.ReadWrite.ConditionalAccess |
No disponible. |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
Policy.Read.All y Policy.ReadWrite.ConditionalAccess |
No disponible. |
Importante
En escenarios delegados con cuentas profesionales o educativas en las que el usuario que ha iniciado sesión actúa sobre otro usuario, se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido. Se admiten los siguientes roles con privilegios mínimos para esta operación.
- Administrador de seguridad
- Administrador de acceso condicional
Solicitud HTTP
POST /identity/conditionalAccess/namedLocations
| Nombre |
Descripción |
| Authorization |
{token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
| Content-Type |
application/json. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione una representación JSON de un objeto ipNamedLocation o countryNamedLocation . Debe especificar el @odata.type del tipo derivado, es decir, #microsoft.graph.ipNamedLocation para un objeto ipNamedLocation o #microsoft.graph.countryNamedLocation para un objeto countryNamedLocation .
En la tabla siguiente se enumeran las propiedades necesarias para crear un objeto ipNamedLocation .
| Propiedad |
Tipo |
Descripción |
| displayName |
Cadena |
Nombre legible de la ubicación. Obligatorio. |
| ipRanges |
Colección ipRange |
Lista de intervalos de direcciones IP en formato CIDR IPv4 (por ejemplo, 1.2.3.4/32) o cualquier formato IPv6 permitido de IETF RFC596. Obligatorio. También es necesario el @odata.type de ipRange. |
En la tabla siguiente se enumeran las propiedades necesarias para crear un objeto countryNamedLocation .
| Propiedad |
Tipo |
Descripción |
| countriesAndRegions |
Colección string |
Lista de países o regiones en formato de dos letras especificado por ISO 3166-2. Obligatorio. |
| displayName |
Cadena |
Nombre legible de la ubicación. Obligatorio. |
Respuesta
Si se ejecuta correctamente, este método devuelve un 201 Createdcódigo de respuesta y un nuevo objeto ipNamedLocation o countryNamedLocation en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: Creación de un ipNamedLocation
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://graph.microsoft.com/beta/identity/conditionalAccess/namedLocations
Content-type: application/json
{
"@odata.type": "#microsoft.graph.ipNamedLocation",
"displayName": "Untrusted IP named location",
"isTrusted": false,
"ipRanges": [
{
"@odata.type": "#microsoft.graph.iPv4CidrRange",
"cidrAddress": "12.34.221.11/22"
},
{
"@odata.type": "#microsoft.graph.iPv6CidrRange",
"cidrAddress": "2001:0:9d38:90d6:0:0:0:0/63"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new IpNamedLocation
{
OdataType = "#microsoft.graph.ipNamedLocation",
DisplayName = "Untrusted IP named location",
IsTrusted = false,
IpRanges = new List<IpRange>
{
new IPv4CidrRange
{
OdataType = "#microsoft.graph.iPv4CidrRange",
CidrAddress = "12.34.221.11/22",
},
new IPv6CidrRange
{
OdataType = "#microsoft.graph.iPv6CidrRange",
CidrAddress = "2001:0:9d38:90d6:0:0:0:0/63",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Identity.ConditionalAccess.NamedLocations.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewNamedLocation()
displayName := "Untrusted IP named location"
requestBody.SetDisplayName(&displayName)
isTrusted := false
requestBody.SetIsTrusted(&isTrusted)
ipRange := graphmodels.NewIPv4CidrRange()
cidrAddress := "12.34.221.11/22"
ipRange.SetCidrAddress(&cidrAddress)
ipRange1 := graphmodels.NewIPv6CidrRange()
cidrAddress := "2001:0:9d38:90d6:0:0:0:0/63"
ipRange1.SetCidrAddress(&cidrAddress)
ipRanges := []graphmodels.IpRangeable {
ipRange,
ipRange1,
}
requestBody.SetIpRanges(ipRanges)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
namedLocations, err := graphClient.Identity().ConditionalAccess().NamedLocations().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
IpNamedLocation namedLocation = new IpNamedLocation();
namedLocation.setOdataType("#microsoft.graph.ipNamedLocation");
namedLocation.setDisplayName("Untrusted IP named location");
namedLocation.setIsTrusted(false);
LinkedList<IpRange> ipRanges = new LinkedList<IpRange>();
IPv4CidrRange ipRange = new IPv4CidrRange();
ipRange.setOdataType("#microsoft.graph.iPv4CidrRange");
ipRange.setCidrAddress("12.34.221.11/22");
ipRanges.add(ipRange);
IPv6CidrRange ipRange1 = new IPv6CidrRange();
ipRange1.setOdataType("#microsoft.graph.iPv6CidrRange");
ipRange1.setCidrAddress("2001:0:9d38:90d6:0:0:0:0/63");
ipRanges.add(ipRange1);
namedLocation.setIpRanges(ipRanges);
NamedLocation result = graphClient.identity().conditionalAccess().namedLocations().post(namedLocation);
const options = {
authProvider,
};
const client = Client.init(options);
const namedLocation = {
'@odata.type': '#microsoft.graph.ipNamedLocation',
displayName: 'Untrusted IP named location',
isTrusted: false,
ipRanges: [
{
'@odata.type': '#microsoft.graph.iPv4CidrRange',
cidrAddress: '12.34.221.11/22'
},
{
'@odata.type': '#microsoft.graph.iPv6CidrRange',
cidrAddress: '2001:0:9d38:90d6:0:0:0:0/63'
}
]
};
await client.api('/identity/conditionalAccess/namedLocations')
.version('beta')
.post(namedLocation);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\IpNamedLocation;
use Microsoft\Graph\Beta\Generated\Models\IpRange;
use Microsoft\Graph\Beta\Generated\Models\IPv4CidrRange;
use Microsoft\Graph\Beta\Generated\Models\IPv6CidrRange;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new IpNamedLocation();
$requestBody->setOdataType('#microsoft.graph.ipNamedLocation');
$requestBody->setDisplayName('Untrusted IP named location');
$requestBody->setIsTrusted(false);
$ipRangesIpRange1 = new IPv4CidrRange();
$ipRangesIpRange1->setOdataType('#microsoft.graph.iPv4CidrRange');
$ipRangesIpRange1->setCidrAddress('12.34.221.11/22');
$ipRangesArray []= $ipRangesIpRange1;
$ipRangesIpRange2 = new IPv6CidrRange();
$ipRangesIpRange2->setOdataType('#microsoft.graph.iPv6CidrRange');
$ipRangesIpRange2->setCidrAddress('2001:0:9d38:90d6:0:0:0:0/63');
$ipRangesArray []= $ipRangesIpRange2;
$requestBody->setIpRanges($ipRangesArray);
$result = $graphServiceClient->identity()->conditionalAccess()->namedLocations()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.ip_named_location import IpNamedLocation
from msgraph_beta.generated.models.ip_range import IpRange
from msgraph_beta.generated.models.i_pv4_cidr_range import IPv4CidrRange
from msgraph_beta.generated.models.i_pv6_cidr_range import IPv6CidrRange
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = IpNamedLocation(
odata_type = "#microsoft.graph.ipNamedLocation",
display_name = "Untrusted IP named location",
is_trusted = False,
ip_ranges = [
IPv4CidrRange(
odata_type = "#microsoft.graph.iPv4CidrRange",
cidr_address = "12.34.221.11/22",
),
IPv6CidrRange(
odata_type = "#microsoft.graph.iPv6CidrRange",
cidr_address = "2001:0:9d38:90d6:0:0:0:0/63",
),
],
)
result = await graph_client.identity.conditional_access.named_locations.post(request_body)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#namedLocations/$entity",
"@odata.type": "#microsoft.graph.ipNamedLocation",
"id": "0854951d-5fc0-4eb1-b392-9b2c9d7949c2",
"displayName": "Untrusted IP named location",
"modifiedDateTime": "2019-09-04T01:11:34.9387578Z",
"createdDateTime": "2019-09-04T01:11:34.9387578Z",
"isTrusted": false,
"ipRanges": [
{
"@odata.type": "#microsoft.graph.iPv4CidrRange",
"cidrAddress": "12.34.221.11/22"
},
{
"@odata.type": "#microsoft.graph.iPv6CidrRange",
"cidrAddress": "2001:0:9d38:90d6:0:0:0:0/63"
}
]
}
Ejemplo 2: Creación de un countryNamedLocation
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://graph.microsoft.com/beta/identity/conditionalAccess/namedLocations
Content-type: application/json
{
"@odata.type": "#microsoft.graph.countryNamedLocation",
"displayName": "Named location with unknown countries and regions",
"countriesAndRegions": [
"US",
"GB"
],
"includeUnknownCountriesAndRegions": true
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new CountryNamedLocation
{
OdataType = "#microsoft.graph.countryNamedLocation",
DisplayName = "Named location with unknown countries and regions",
CountriesAndRegions = new List<string>
{
"US",
"GB",
},
IncludeUnknownCountriesAndRegions = true,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Identity.ConditionalAccess.NamedLocations.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewNamedLocation()
displayName := "Named location with unknown countries and regions"
requestBody.SetDisplayName(&displayName)
countriesAndRegions := []string {
"US",
"GB",
}
requestBody.SetCountriesAndRegions(countriesAndRegions)
includeUnknownCountriesAndRegions := true
requestBody.SetIncludeUnknownCountriesAndRegions(&includeUnknownCountriesAndRegions)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
namedLocations, err := graphClient.Identity().ConditionalAccess().NamedLocations().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
CountryNamedLocation namedLocation = new CountryNamedLocation();
namedLocation.setOdataType("#microsoft.graph.countryNamedLocation");
namedLocation.setDisplayName("Named location with unknown countries and regions");
LinkedList<String> countriesAndRegions = new LinkedList<String>();
countriesAndRegions.add("US");
countriesAndRegions.add("GB");
namedLocation.setCountriesAndRegions(countriesAndRegions);
namedLocation.setIncludeUnknownCountriesAndRegions(true);
NamedLocation result = graphClient.identity().conditionalAccess().namedLocations().post(namedLocation);
const options = {
authProvider,
};
const client = Client.init(options);
const namedLocation = {
'@odata.type': '#microsoft.graph.countryNamedLocation',
displayName: 'Named location with unknown countries and regions',
countriesAndRegions: [
'US',
'GB'
],
includeUnknownCountriesAndRegions: true
};
await client.api('/identity/conditionalAccess/namedLocations')
.version('beta')
.post(namedLocation);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\CountryNamedLocation;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CountryNamedLocation();
$requestBody->setOdataType('#microsoft.graph.countryNamedLocation');
$requestBody->setDisplayName('Named location with unknown countries and regions');
$requestBody->setCountriesAndRegions(['US', 'GB', ]);
$requestBody->setIncludeUnknownCountriesAndRegions(true);
$result = $graphServiceClient->identity()->conditionalAccess()->namedLocations()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.country_named_location import CountryNamedLocation
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CountryNamedLocation(
odata_type = "#microsoft.graph.countryNamedLocation",
display_name = "Named location with unknown countries and regions",
countries_and_regions = [
"US",
"GB",
],
include_unknown_countries_and_regions = True,
)
result = await graph_client.identity.conditional_access.named_locations.post(request_body)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#namedLocations/$entity",
"@odata.type": "#microsoft.graph.countryNamedLocation",
"id": "1c4427fd-0885-4a3d-8b23-09a899ffa959",
"displayName": "Named location with unknown countries and regions",
"modifiedDateTime": "2019-09-04T01:08:02.5249255Z",
"createdDateTime": "2019-09-04T01:08:02.5249255Z",
"countriesAndRegions": [
"US",
"GB"
],
"includeUnknownCountriesAndRegions": true
}