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 una nueva configuración de asociado en una directiva de acceso entre inquilinos.
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.ReadWrite.CrossTenantAccess |
No disponible. |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
Policy.ReadWrite.CrossTenantAccess |
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 Teams: excluyendo la configuración de sincronización de identidades
- Administrador de seguridad
Solicitud HTTP
POST /policies/crossTenantAccessPolicy/partners
| 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 del objeto crossTenantAccessPolicyConfigurationPartner .
En la tabla siguiente se enumeran las propiedades necesarias al crear crossTenantAccessPolicyConfigurationPartner.
| Propiedad |
Tipo |
Descripción |
| automaticUserConsentSettings |
inboundOutboundPolicyConfiguration |
Determina la configuración específica del asociado para la configuración automática del consentimiento del usuario. A menos que se configure específicamente, las propiedades inboundAllowed y outboundAllowed son null y heredan de la configuración predeterminada, que siempre falsees . |
| b2bCollaborationInbound |
crossTenantAccessPolicyB2BSetting |
Define la configuración específica del asociado para los usuarios de otras organizaciones que acceden a los recursos a través de Microsoft Entra colaboración B2B. |
| b2bCollaborationOutbound |
crossTenantAccessPolicyB2BSetting |
Define la configuración específica del asociado para los usuarios de la organización que van de salida para acceder a los recursos de otra organización a través de Microsoft Entra colaboración B2B. |
| b2bDirectConnectInbound |
crossTenantAccessPolicyB2BSetting |
Define la configuración específica del asociado para los usuarios de otras organizaciones que acceden a los recursos a través de Azure B2B direct connect. |
| b2bDirectConnectOutbound |
crossTenantAccessPolicyB2BSetting |
Define la configuración específica del asociado para los usuarios de la organización que van de salida para acceder a los recursos de otra organización a través de Microsoft Entra conexión directa B2B. |
| inboundTrust |
crossTenantAccessPolicyInboundTrust |
Determina la configuración específica del asociado para confiar en otras notificaciones de acceso condicional de organizaciones Microsoft Entra externas. |
| isServiceProvider |
Booleano |
Identifica si la configuración específica del asociado es un proveedor de servicios en la nube para su organización. |
| tenantId |
Cadena |
Identificador de inquilino de la organización Microsoft Entra asociado. Solo lectura. Clave. |
Respuesta
Si se ejecuta correctamente, este método devuelve un 201 Created código de respuesta y un objeto crossTenantAccessPolicyConfigurationPartner en el cuerpo de la respuesta.
Ejemplos
Solicitud
POST https://graph.microsoft.com/beta/policies/crossTenantAccessPolicy/partners
Content-Type: application/json
{
"tenantId": "3d0f5dec-5d3d-455c-8016-e2af1ae4d31a",
"b2bDirectConnectOutbound":
{
"usersAndGroups":
{
"accessType": "blocked",
"targets": [
{
"target": "6f546279-4da5-4b53-a095-09ea0cef9971",
"targetType": "group"
}
]
}
},
"b2bDirectConnectInbound":
{
"applications":
{
"accessType": "allowed",
"targets": [
{
"target": "Office365",
"targetType": "application"
}
]
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new CrossTenantAccessPolicyConfigurationPartner
{
TenantId = "3d0f5dec-5d3d-455c-8016-e2af1ae4d31a",
B2bDirectConnectOutbound = new CrossTenantAccessPolicyB2BSetting
{
UsersAndGroups = new CrossTenantAccessPolicyTargetConfiguration
{
AccessType = CrossTenantAccessPolicyTargetConfigurationAccessType.Blocked,
Targets = new List<CrossTenantAccessPolicyTarget>
{
new CrossTenantAccessPolicyTarget
{
Target = "6f546279-4da5-4b53-a095-09ea0cef9971",
TargetType = CrossTenantAccessPolicyTargetType.Group,
},
},
},
},
B2bDirectConnectInbound = new CrossTenantAccessPolicyB2BSetting
{
Applications = new CrossTenantAccessPolicyTargetConfiguration
{
AccessType = CrossTenantAccessPolicyTargetConfigurationAccessType.Allowed,
Targets = new List<CrossTenantAccessPolicyTarget>
{
new CrossTenantAccessPolicyTarget
{
Target = "Office365",
TargetType = CrossTenantAccessPolicyTargetType.Application,
},
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Policies.CrossTenantAccessPolicy.Partners.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.NewCrossTenantAccessPolicyConfigurationPartner()
tenantId := "3d0f5dec-5d3d-455c-8016-e2af1ae4d31a"
requestBody.SetTenantId(&tenantId)
b2bDirectConnectOutbound := graphmodels.NewCrossTenantAccessPolicyB2BSetting()
usersAndGroups := graphmodels.NewCrossTenantAccessPolicyTargetConfiguration()
accessType := graphmodels.BLOCKED_CROSSTENANTACCESSPOLICYTARGETCONFIGURATIONACCESSTYPE
usersAndGroups.SetAccessType(&accessType)
crossTenantAccessPolicyTarget := graphmodels.NewCrossTenantAccessPolicyTarget()
target := "6f546279-4da5-4b53-a095-09ea0cef9971"
crossTenantAccessPolicyTarget.SetTarget(&target)
targetType := graphmodels.GROUP_CROSSTENANTACCESSPOLICYTARGETTYPE
crossTenantAccessPolicyTarget.SetTargetType(&targetType)
targets := []graphmodels.CrossTenantAccessPolicyTargetable {
crossTenantAccessPolicyTarget,
}
usersAndGroups.SetTargets(targets)
b2bDirectConnectOutbound.SetUsersAndGroups(usersAndGroups)
requestBody.SetB2bDirectConnectOutbound(b2bDirectConnectOutbound)
b2bDirectConnectInbound := graphmodels.NewCrossTenantAccessPolicyB2BSetting()
applications := graphmodels.NewCrossTenantAccessPolicyTargetConfiguration()
accessType := graphmodels.ALLOWED_CROSSTENANTACCESSPOLICYTARGETCONFIGURATIONACCESSTYPE
applications.SetAccessType(&accessType)
crossTenantAccessPolicyTarget := graphmodels.NewCrossTenantAccessPolicyTarget()
target := "Office365"
crossTenantAccessPolicyTarget.SetTarget(&target)
targetType := graphmodels.APPLICATION_CROSSTENANTACCESSPOLICYTARGETTYPE
crossTenantAccessPolicyTarget.SetTargetType(&targetType)
targets := []graphmodels.CrossTenantAccessPolicyTargetable {
crossTenantAccessPolicyTarget,
}
applications.SetTargets(targets)
b2bDirectConnectInbound.SetApplications(applications)
requestBody.SetB2bDirectConnectInbound(b2bDirectConnectInbound)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
partners, err := graphClient.Policies().CrossTenantAccessPolicy().Partners().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
CrossTenantAccessPolicyConfigurationPartner crossTenantAccessPolicyConfigurationPartner = new CrossTenantAccessPolicyConfigurationPartner();
crossTenantAccessPolicyConfigurationPartner.setTenantId("3d0f5dec-5d3d-455c-8016-e2af1ae4d31a");
CrossTenantAccessPolicyB2BSetting b2bDirectConnectOutbound = new CrossTenantAccessPolicyB2BSetting();
CrossTenantAccessPolicyTargetConfiguration usersAndGroups = new CrossTenantAccessPolicyTargetConfiguration();
usersAndGroups.setAccessType(CrossTenantAccessPolicyTargetConfigurationAccessType.Blocked);
LinkedList<CrossTenantAccessPolicyTarget> targets = new LinkedList<CrossTenantAccessPolicyTarget>();
CrossTenantAccessPolicyTarget crossTenantAccessPolicyTarget = new CrossTenantAccessPolicyTarget();
crossTenantAccessPolicyTarget.setTarget("6f546279-4da5-4b53-a095-09ea0cef9971");
crossTenantAccessPolicyTarget.setTargetType(CrossTenantAccessPolicyTargetType.Group);
targets.add(crossTenantAccessPolicyTarget);
usersAndGroups.setTargets(targets);
b2bDirectConnectOutbound.setUsersAndGroups(usersAndGroups);
crossTenantAccessPolicyConfigurationPartner.setB2bDirectConnectOutbound(b2bDirectConnectOutbound);
CrossTenantAccessPolicyB2BSetting b2bDirectConnectInbound = new CrossTenantAccessPolicyB2BSetting();
CrossTenantAccessPolicyTargetConfiguration applications = new CrossTenantAccessPolicyTargetConfiguration();
applications.setAccessType(CrossTenantAccessPolicyTargetConfigurationAccessType.Allowed);
LinkedList<CrossTenantAccessPolicyTarget> targets1 = new LinkedList<CrossTenantAccessPolicyTarget>();
CrossTenantAccessPolicyTarget crossTenantAccessPolicyTarget1 = new CrossTenantAccessPolicyTarget();
crossTenantAccessPolicyTarget1.setTarget("Office365");
crossTenantAccessPolicyTarget1.setTargetType(CrossTenantAccessPolicyTargetType.Application);
targets1.add(crossTenantAccessPolicyTarget1);
applications.setTargets(targets1);
b2bDirectConnectInbound.setApplications(applications);
crossTenantAccessPolicyConfigurationPartner.setB2bDirectConnectInbound(b2bDirectConnectInbound);
CrossTenantAccessPolicyConfigurationPartner result = graphClient.policies().crossTenantAccessPolicy().partners().post(crossTenantAccessPolicyConfigurationPartner);
const options = {
authProvider,
};
const client = Client.init(options);
const crossTenantAccessPolicyConfigurationPartner = {
tenantId: '3d0f5dec-5d3d-455c-8016-e2af1ae4d31a',
b2bDirectConnectOutbound:
{
usersAndGroups:
{
accessType: 'blocked',
targets: [
{
target: '6f546279-4da5-4b53-a095-09ea0cef9971',
targetType: 'group'
}
]
}
},
b2bDirectConnectInbound:
{
applications:
{
accessType: 'allowed',
targets: [
{
target: 'Office365',
targetType: 'application'
}
]
}
}
};
await client.api('/policies/crossTenantAccessPolicy/partners')
.version('beta')
.post(crossTenantAccessPolicyConfigurationPartner);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\CrossTenantAccessPolicyConfigurationPartner;
use Microsoft\Graph\Beta\Generated\Models\CrossTenantAccessPolicyB2BSetting;
use Microsoft\Graph\Beta\Generated\Models\CrossTenantAccessPolicyTargetConfiguration;
use Microsoft\Graph\Beta\Generated\Models\CrossTenantAccessPolicyTargetConfigurationAccessType;
use Microsoft\Graph\Beta\Generated\Models\CrossTenantAccessPolicyTarget;
use Microsoft\Graph\Beta\Generated\Models\CrossTenantAccessPolicyTargetType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CrossTenantAccessPolicyConfigurationPartner();
$requestBody->setTenantId('3d0f5dec-5d3d-455c-8016-e2af1ae4d31a');
$b2bDirectConnectOutbound = new CrossTenantAccessPolicyB2BSetting();
$b2bDirectConnectOutboundUsersAndGroups = new CrossTenantAccessPolicyTargetConfiguration();
$b2bDirectConnectOutboundUsersAndGroups->setAccessType(new CrossTenantAccessPolicyTargetConfigurationAccessType('blocked'));
$targetsCrossTenantAccessPolicyTarget1 = new CrossTenantAccessPolicyTarget();
$targetsCrossTenantAccessPolicyTarget1->setTarget('6f546279-4da5-4b53-a095-09ea0cef9971');
$targetsCrossTenantAccessPolicyTarget1->setTargetType(new CrossTenantAccessPolicyTargetType('group'));
$targetsArray []= $targetsCrossTenantAccessPolicyTarget1;
$b2bDirectConnectOutboundUsersAndGroups->setTargets($targetsArray);
$b2bDirectConnectOutbound->setUsersAndGroups($b2bDirectConnectOutboundUsersAndGroups);
$requestBody->setB2bDirectConnectOutbound($b2bDirectConnectOutbound);
$b2bDirectConnectInbound = new CrossTenantAccessPolicyB2BSetting();
$b2bDirectConnectInboundApplications = new CrossTenantAccessPolicyTargetConfiguration();
$b2bDirectConnectInboundApplications->setAccessType(new CrossTenantAccessPolicyTargetConfigurationAccessType('allowed'));
$targetsCrossTenantAccessPolicyTarget1 = new CrossTenantAccessPolicyTarget();
$targetsCrossTenantAccessPolicyTarget1->setTarget('Office365');
$targetsCrossTenantAccessPolicyTarget1->setTargetType(new CrossTenantAccessPolicyTargetType('application'));
$targetsArray []= $targetsCrossTenantAccessPolicyTarget1;
$b2bDirectConnectInboundApplications->setTargets($targetsArray);
$b2bDirectConnectInbound->setApplications($b2bDirectConnectInboundApplications);
$requestBody->setB2bDirectConnectInbound($b2bDirectConnectInbound);
$result = $graphServiceClient->policies()->crossTenantAccessPolicy()->partners()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.SignIns
$params = @{
tenantId = "3d0f5dec-5d3d-455c-8016-e2af1ae4d31a"
b2bDirectConnectOutbound = @{
usersAndGroups = @{
accessType = "blocked"
targets = @(
@{
target = "6f546279-4da5-4b53-a095-09ea0cef9971"
targetType = "group"
}
)
}
}
b2bDirectConnectInbound = @{
applications = @{
accessType = "allowed"
targets = @(
@{
target = "Office365"
targetType = "application"
}
)
}
}
}
New-MgBetaPolicyCrossTenantAccessPolicyPartner -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.cross_tenant_access_policy_configuration_partner import CrossTenantAccessPolicyConfigurationPartner
from msgraph_beta.generated.models.cross_tenant_access_policy_b2_b_setting import CrossTenantAccessPolicyB2BSetting
from msgraph_beta.generated.models.cross_tenant_access_policy_target_configuration import CrossTenantAccessPolicyTargetConfiguration
from msgraph_beta.generated.models.cross_tenant_access_policy_target_configuration_access_type import CrossTenantAccessPolicyTargetConfigurationAccessType
from msgraph_beta.generated.models.cross_tenant_access_policy_target import CrossTenantAccessPolicyTarget
from msgraph_beta.generated.models.cross_tenant_access_policy_target_type import CrossTenantAccessPolicyTargetType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CrossTenantAccessPolicyConfigurationPartner(
tenant_id = "3d0f5dec-5d3d-455c-8016-e2af1ae4d31a",
b2b_direct_connect_outbound = CrossTenantAccessPolicyB2BSetting(
users_and_groups = CrossTenantAccessPolicyTargetConfiguration(
access_type = CrossTenantAccessPolicyTargetConfigurationAccessType.Blocked,
targets = [
CrossTenantAccessPolicyTarget(
target = "6f546279-4da5-4b53-a095-09ea0cef9971",
target_type = CrossTenantAccessPolicyTargetType.Group,
),
],
),
),
b2b_direct_connect_inbound = CrossTenantAccessPolicyB2BSetting(
applications = CrossTenantAccessPolicyTargetConfiguration(
access_type = CrossTenantAccessPolicyTargetConfigurationAccessType.Allowed,
targets = [
CrossTenantAccessPolicyTarget(
target = "Office365",
target_type = CrossTenantAccessPolicyTargetType.Application,
),
],
),
),
)
result = await graph_client.policies.cross_tenant_access_policy.partners.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
{
"tenantId": "3d0f5dec-5d3d-455c-8016-e2af1ae4d31a",
"inboundTrust": null,
"b2bCollaborationInbound": null,
"b2bCollaborationOutbound": null,
"b2bDirectConnectOutbound":
{
"usersAndGroups":
{
"accessType": "blocked",
"targets": [
{
"target": "6f546279-4da5-4b53-a095-09ea0cef9971",
"targetType": "group"
}
]
}
},
"b2bDirectConnectInbound":
{
"applications":
{
"accessType": "allowed",
"targets": [
{
"target": "Office365",
"targetType": "application"
}
]
}
}
}