Namespace: microsoft.graph
Atualize uma funcionalidade entre locatários existente do Microsoft 365 para a política de acesso entre locatários padrão.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global |
Governo dos EUA L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Permissões
Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
| Tipo de permissão |
Permissões menos privilegiadas |
Permissões com privilégios mais elevados |
| Delegado (conta corporativa ou de estudante) |
Policy.ReadWrite.CrossTenantCapability |
Indisponível. |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
Policy.ReadWrite.CrossTenantCapability |
Indisponível. |
Importante
Para acesso delegado usando contas corporativas ou de estudante em que o usuário conectado está agindo sobre outro usuário, ele deve receber uma função do Microsoft Entra com suporte ou uma função personalizada que conceda as permissões necessárias para esta operação. O gerenciamento de recursos entre locatários do Microsoft 365 afeta toda a política de acesso entre locatários, portanto, nenhuma função interna com privilégios inferiores abrange todos os recursos. Esta operação dá suporte às seguintes funções internas:
- Administrador global - necessário para todos os recursos, pois o gerenciamento da política de acesso entre locatários requer privilégios em todo o diretório.
- Administrador do Exchange - com suporte apenas para os recursos de Dicas de Email, Compartilhamento de Calendário e Disponibilidade.
Solicitação HTTP
PATCH /policies/crossTenantAccessPolicy/default/m365Capabilities/{m365CapabilityBase-name}
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo da solicitação, forneça apenas os valores das propriedades que devem ser atualizadas. As propriedades existentes que não estão incluídas no corpo da solicitação mantêm seus valores anteriores.
A tabela a seguir especifica as propriedades que podem ser atualizadas.
Resposta
Se tiver êxito, este método retornará um código de resposta 204 No Content.
Exemplos
Exemplo 1: Atualizar apenas a configuração de acesso
O exemplo a seguir mostra como atualizar apenas a configuração isAllowed para um recurso.
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/v1.0/policies/crossTenantAccessPolicy/default/m365Capabilities/crossTenantOpenProfileCard
Content-Type: application/json
{
"inboundAccess": {
"isAllowed": false
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new M365CapabilityBase
{
InboundAccess = new M365CapabilityInboundAccess
{
IsAllowed = false,
},
};
// 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.Default.M365Capabilities["{m365CapabilityBase-name}"].PatchAsync(requestBody);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewM365CapabilityBase()
inboundAccess := graphmodels.NewM365CapabilityInboundAccess()
isAllowed := false
inboundAccess.SetIsAllowed(&isAllowed)
requestBody.SetInboundAccess(inboundAccess)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
m365Capabilities, err := graphClient.Policies().CrossTenantAccessPolicy().Default().M365Capabilities().ByM365CapabilityBaseName("m365CapabilityBase-name").Patch(context.Background(), requestBody, nil)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
M365CapabilityBase m365CapabilityBase = new M365CapabilityBase();
M365CapabilityInboundAccess inboundAccess = new M365CapabilityInboundAccess();
inboundAccess.setIsAllowed(false);
m365CapabilityBase.setInboundAccess(inboundAccess);
M365CapabilityBase result = graphClient.policies().crossTenantAccessPolicy().defaultEscaped().m365Capabilities().byM365CapabilityBaseName("{m365CapabilityBase-name}").patch(m365CapabilityBase);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const m365CapabilityBase = {
inboundAccess: {
isAllowed: false
}
};
await client.api('/policies/crossTenantAccessPolicy/default/m365Capabilities/crossTenantOpenProfileCard')
.update(m365CapabilityBase);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\M365CapabilityBase;
use Microsoft\Graph\Generated\Models\M365CapabilityInboundAccess;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new M365CapabilityBase();
$inboundAccess = new M365CapabilityInboundAccess();
$inboundAccess->setIsAllowed(false);
$requestBody->setInboundAccess($inboundAccess);
$result = $graphServiceClient->policies()->crossTenantAccessPolicy()->escapedDefault()->m365Capabilities()->byM365CapabilityBaseName('m365CapabilityBase-name')->patch($requestBody)->wait();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.m365_capability_base import M365CapabilityBase
from msgraph.generated.models.m365_capability_inbound_access import M365CapabilityInboundAccess
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = M365CapabilityBase(
inbound_access = M365CapabilityInboundAccess(
is_allowed = False,
),
)
result = await graph_client.policies.cross_tenant_access_policy.default.m365_capabilities.by_m365_capability_base_name('m365CapabilityBase-name').patch(request_body)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content
Exemplo 2: Atualizar a configuração de acesso e os escopos de recursos
O exemplo a seguir mostra como atualizar a configuração isAllowed e os resourceScopes para um recurso.
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/v1.0/policies/crossTenantAccessPolicy/default/m365Capabilities/crossTenantOpenProfileCard
Content-Type: application/json
{
"inboundAccess": {
"isAllowed": true,
"resourceScopes": {
"included": [
{
"resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e74",
"resourceType": "group"
},
{
"resourceId": "070061d7-a98e-43d3-b708-0758d3738ac7",
"resourceType": "group"
}
],
"excluded": [
{
"resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e00",
"resourceType": "group"
}
]
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new M365CapabilityBase
{
InboundAccess = new M365CapabilityInboundAccess
{
IsAllowed = true,
ResourceScopes = new M365CapabilityResourceScopes
{
Included = new List<M365CapabilityResourceScope>
{
new M365CapabilityResourceScope
{
ResourceId = "ad4fc698-74dc-4f62-9e71-ba9b591e8e74",
ResourceType = M365ResourceType.Group,
},
new M365CapabilityResourceScope
{
ResourceId = "070061d7-a98e-43d3-b708-0758d3738ac7",
ResourceType = M365ResourceType.Group,
},
},
Excluded = new List<M365CapabilityResourceScope>
{
new M365CapabilityResourceScope
{
ResourceId = "ad4fc698-74dc-4f62-9e71-ba9b591e8e00",
ResourceType = M365ResourceType.Group,
},
},
},
},
};
// 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.Default.M365Capabilities["{m365CapabilityBase-name}"].PatchAsync(requestBody);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewM365CapabilityBase()
inboundAccess := graphmodels.NewM365CapabilityInboundAccess()
isAllowed := true
inboundAccess.SetIsAllowed(&isAllowed)
resourceScopes := graphmodels.NewM365CapabilityResourceScopes()
m365CapabilityResourceScope := graphmodels.NewM365CapabilityResourceScope()
resourceId := "ad4fc698-74dc-4f62-9e71-ba9b591e8e74"
m365CapabilityResourceScope.SetResourceId(&resourceId)
resourceType := graphmodels.GROUP_M365RESOURCETYPE
m365CapabilityResourceScope.SetResourceType(&resourceType)
m365CapabilityResourceScope1 := graphmodels.NewM365CapabilityResourceScope()
resourceId := "070061d7-a98e-43d3-b708-0758d3738ac7"
m365CapabilityResourceScope1.SetResourceId(&resourceId)
resourceType := graphmodels.GROUP_M365RESOURCETYPE
m365CapabilityResourceScope1.SetResourceType(&resourceType)
included := []graphmodels.M365CapabilityResourceScopeable {
m365CapabilityResourceScope,
m365CapabilityResourceScope1,
}
resourceScopes.SetIncluded(included)
m365CapabilityResourceScope := graphmodels.NewM365CapabilityResourceScope()
resourceId := "ad4fc698-74dc-4f62-9e71-ba9b591e8e00"
m365CapabilityResourceScope.SetResourceId(&resourceId)
resourceType := graphmodels.GROUP_M365RESOURCETYPE
m365CapabilityResourceScope.SetResourceType(&resourceType)
excluded := []graphmodels.M365CapabilityResourceScopeable {
m365CapabilityResourceScope,
}
resourceScopes.SetExcluded(excluded)
inboundAccess.SetResourceScopes(resourceScopes)
requestBody.SetInboundAccess(inboundAccess)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
m365Capabilities, err := graphClient.Policies().CrossTenantAccessPolicy().Default().M365Capabilities().ByM365CapabilityBaseName("m365CapabilityBase-name").Patch(context.Background(), requestBody, nil)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
M365CapabilityBase m365CapabilityBase = new M365CapabilityBase();
M365CapabilityInboundAccess inboundAccess = new M365CapabilityInboundAccess();
inboundAccess.setIsAllowed(true);
M365CapabilityResourceScopes resourceScopes = new M365CapabilityResourceScopes();
LinkedList<M365CapabilityResourceScope> included = new LinkedList<M365CapabilityResourceScope>();
M365CapabilityResourceScope m365CapabilityResourceScope = new M365CapabilityResourceScope();
m365CapabilityResourceScope.setResourceId("ad4fc698-74dc-4f62-9e71-ba9b591e8e74");
m365CapabilityResourceScope.setResourceType(M365ResourceType.Group);
included.add(m365CapabilityResourceScope);
M365CapabilityResourceScope m365CapabilityResourceScope1 = new M365CapabilityResourceScope();
m365CapabilityResourceScope1.setResourceId("070061d7-a98e-43d3-b708-0758d3738ac7");
m365CapabilityResourceScope1.setResourceType(M365ResourceType.Group);
included.add(m365CapabilityResourceScope1);
resourceScopes.setIncluded(included);
LinkedList<M365CapabilityResourceScope> excluded = new LinkedList<M365CapabilityResourceScope>();
M365CapabilityResourceScope m365CapabilityResourceScope2 = new M365CapabilityResourceScope();
m365CapabilityResourceScope2.setResourceId("ad4fc698-74dc-4f62-9e71-ba9b591e8e00");
m365CapabilityResourceScope2.setResourceType(M365ResourceType.Group);
excluded.add(m365CapabilityResourceScope2);
resourceScopes.setExcluded(excluded);
inboundAccess.setResourceScopes(resourceScopes);
m365CapabilityBase.setInboundAccess(inboundAccess);
M365CapabilityBase result = graphClient.policies().crossTenantAccessPolicy().defaultEscaped().m365Capabilities().byM365CapabilityBaseName("{m365CapabilityBase-name}").patch(m365CapabilityBase);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const m365CapabilityBase = {
inboundAccess: {
isAllowed: true,
resourceScopes: {
included: [
{
resourceId: 'ad4fc698-74dc-4f62-9e71-ba9b591e8e74',
resourceType: 'group'
},
{
resourceId: '070061d7-a98e-43d3-b708-0758d3738ac7',
resourceType: 'group'
}
],
excluded: [
{
resourceId: 'ad4fc698-74dc-4f62-9e71-ba9b591e8e00',
resourceType: 'group'
}
]
}
}
};
await client.api('/policies/crossTenantAccessPolicy/default/m365Capabilities/crossTenantOpenProfileCard')
.update(m365CapabilityBase);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\M365CapabilityBase;
use Microsoft\Graph\Generated\Models\M365CapabilityInboundAccess;
use Microsoft\Graph\Generated\Models\M365CapabilityResourceScopes;
use Microsoft\Graph\Generated\Models\M365CapabilityResourceScope;
use Microsoft\Graph\Generated\Models\M365ResourceType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new M365CapabilityBase();
$inboundAccess = new M365CapabilityInboundAccess();
$inboundAccess->setIsAllowed(true);
$inboundAccessResourceScopes = new M365CapabilityResourceScopes();
$includedM365CapabilityResourceScope1 = new M365CapabilityResourceScope();
$includedM365CapabilityResourceScope1->setResourceId('ad4fc698-74dc-4f62-9e71-ba9b591e8e74');
$includedM365CapabilityResourceScope1->setResourceType(new M365ResourceType('group'));
$includedArray []= $includedM365CapabilityResourceScope1;
$includedM365CapabilityResourceScope2 = new M365CapabilityResourceScope();
$includedM365CapabilityResourceScope2->setResourceId('070061d7-a98e-43d3-b708-0758d3738ac7');
$includedM365CapabilityResourceScope2->setResourceType(new M365ResourceType('group'));
$includedArray []= $includedM365CapabilityResourceScope2;
$inboundAccessResourceScopes->setIncluded($includedArray);
$excludedM365CapabilityResourceScope1 = new M365CapabilityResourceScope();
$excludedM365CapabilityResourceScope1->setResourceId('ad4fc698-74dc-4f62-9e71-ba9b591e8e00');
$excludedM365CapabilityResourceScope1->setResourceType(new M365ResourceType('group'));
$excludedArray []= $excludedM365CapabilityResourceScope1;
$inboundAccessResourceScopes->setExcluded($excludedArray);
$inboundAccess->setResourceScopes($inboundAccessResourceScopes);
$requestBody->setInboundAccess($inboundAccess);
$result = $graphServiceClient->policies()->crossTenantAccessPolicy()->escapedDefault()->m365Capabilities()->byM365CapabilityBaseName('m365CapabilityBase-name')->patch($requestBody)->wait();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.m365_capability_base import M365CapabilityBase
from msgraph.generated.models.m365_capability_inbound_access import M365CapabilityInboundAccess
from msgraph.generated.models.m365_capability_resource_scopes import M365CapabilityResourceScopes
from msgraph.generated.models.m365_capability_resource_scope import M365CapabilityResourceScope
from msgraph.generated.models.m365_resource_type import M365ResourceType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = M365CapabilityBase(
inbound_access = M365CapabilityInboundAccess(
is_allowed = True,
resource_scopes = M365CapabilityResourceScopes(
included = [
M365CapabilityResourceScope(
resource_id = "ad4fc698-74dc-4f62-9e71-ba9b591e8e74",
resource_type = M365ResourceType.Group,
),
M365CapabilityResourceScope(
resource_id = "070061d7-a98e-43d3-b708-0758d3738ac7",
resource_type = M365ResourceType.Group,
),
],
excluded = [
M365CapabilityResourceScope(
resource_id = "ad4fc698-74dc-4f62-9e71-ba9b591e8e00",
resource_type = M365ResourceType.Group,
),
],
),
),
)
result = await graph_client.policies.cross_tenant_access_policy.default.m365_capabilities.by_m365_capability_base_name('m365CapabilityBase-name').patch(request_body)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content