

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Document-level controles de acesso
<a name="kb-managed-ds-sharepoint-acl"></a>

SharePoint opcionalmente, as fontes de dados oferecem suporte ao controle de acesso em nível de documento. Quando ativada, a Base de Conhecimento Gerenciada do Bedrock sincroniza as listas de controle de acesso (ACLs) de SharePoint cada rastreamento e verifica as permissões de cada usuário no momento da consulta, para que os usuários vejam apenas os resultados dos documentos aos quais estão autorizados a acessar. SharePoint Para obter uma visão geral do reconhecimento de ACL em todos os conectores, consulte. [Ativação de conscientização de listas de controle de acesso](kb-managed-acl.md)

**Conscientização de ACL não é autorização**  
A Base de Conhecimento Gerenciada Bedrock fornece ACL-aware filtragem, não um limite de segurança. A Base de Conhecimento Gerenciada da Bedrock não autentica usuários finais — seu aplicativo é responsável por autenticar usuários e transmitir o contexto de identidade verificado. Como a Base de Conhecimento Gerenciada da Bedrock não pode verificar a autenticidade do contexto de usuário que você fornece, esse recurso filtra os resultados com base na identidade que você fornece, mas não constitui uma autorização verdadeira. Você não deve confiar nesse recurso como um único mecanismo de controle de acesso sem a autenticação upstream.

## Como funciona
<a name="kb-managed-ds-sharepoint-acl-how"></a>

Quando um usuário consulta uma base de conhecimento que usa uma fonte de ACL-enabled SharePoint dados, a Base de Conhecimento Gerenciada da Bedrock impõe controles de acesso em dois estágios:
+ **Pre-retrieval filtragem** — A Base de Conhecimento Gerenciada da Bedrock aplica as listas de controle de acesso que foram sincronizadas SharePoint durante o último rastreamento, retornando somente documentos candidatos que o usuário (ou seus grupos) tem permissão para acessar.
+ **Real-time verificação** — A Base de Conhecimento Gerenciada da Bedrock verifica os documentos do candidato em tempo real, verificando o acesso atual do usuário consultor. SharePoint Somente os documentos que o usuário está atualmente autorizado a acessar são incluídos na resposta.

Essa abordagem de dois estágios fornece controle de acesso em nível de documento que permanece atualizado mesmo quando SharePoint as permissões mudam entre as sincronizações.

## O que é rastejado
<a name="kb-managed-ds-sharepoint-acl-crawl"></a>

Quando as ACLs estão habilitadas, a Base de Conhecimento Gerenciada da Bedrock rastreia as seguintes estruturas de permissão a partir de: SharePoint
+ Site-level associações e atribuições de funções
+ Permissões no nível da biblioteca de documentos
+ Item-level permissões (de arquivo e página), incluindo permissões exclusivas que quebram a herança
+ Associações a grupos de segurança, incluindo grupos de segurança do Microsoft Entra ID (Azure AD), grupos de segurança habilitados para email e grupos de distribuição. As associações de grupos aninhadas (transitivas) também são resolvidas.

No momento da consulta, você passa o endereço de e-mail do usuário (não um grupo). A Base de Conhecimento Gerenciada da Bedrock resolve as associações de grupos desse usuário a partir dos dados que ele rastreou e as aplica ao filtrar os resultados. Para obter mais informações sobre o modelo de identidade, consulte[Ativação de conscientização de listas de controle de acesso](kb-managed-acl.md).

## Habilite o reconhecimento da ACL
<a name="kb-managed-ds-sharepoint-acl-enable"></a>

Para habilitar o reconhecimento de ACL para uma fonte de SharePoint dados, `aclEnabled` defina `true` como `connectorParameters` e use o tipo de `ENTRA_ID_APP_ONLY` autenticação. Esse tipo de autenticação usa permissões de aplicativos baseadas em certificados que permitem que a Base de Conhecimento Gerenciada da Bedrock rastreie informações de identidade e verifique o acesso ao documento no momento da consulta.

**Importante**  
A configuração da ACL é permanente. Você não pode habilitar ACLs em uma fonte de dados criada sem suporte a ACL e não pode desabilitar ACLs depois de ativadas.

Seu registro no aplicativo Entra ID deve ter as seguintes permissões de aplicativo:
+ `User.Read.All`e `GroupMember.Read.All` no Microsoft Graph (para rastreamento de identidade)
+ `Sites.FullControl.All`ativado SharePoint ou `Sites.Selected` com permissões por site concedidas (para verificação de acesso a documentos)

Eles `connectionConfiguration` devem incluir um `certificateS3Path` apontamento para um arquivo de certificado PKCS \#12 (.p12) no Amazon S3.

**nota**  
O `certificatePassword` campo no segredo é opcional. Se você omitir, o Bedrock Managed Knowledge Base abrirá o arquivo PKCS \#12 (.p12) usando o ID do cliente do seu aplicativo como senha, portanto, o certificado deve ter sido criado com essa senha. Recomendamos que você sempre defina uma entropia explícita de alta entropia `certificatePassword` para proteger a chave privada do certificado em repouso.

```
"connectorParameters": {
    "type": "SHAREPOINT",
    "version": "1",
    "aclEnabled": true,
    "connectionConfiguration": {
        "tenantId": "{{your-tenant-id}}",
        "authType": "ENTRA_ID_APP_ONLY",
        "secretArn": "{{arn:aws:secretsmanager:region:account-id:secret:secret-name}}",
        "certificateS3Path": {
            "s3BucketName": "{{your-certificate-bucket}}",
            "s3KeyName": "{{certs/certificate.p12}}"
        }
    },
    "dataEntityConfiguration": {
        "siteUrls": [
            "{{https://contoso.sharepoint.com/sites/engineering}}"
        ],
        "crawlFiles": true,
        "crawlPages": true
    }
}
```

**nota**  
O tipo de `OAUTH2_APP` autenticação não é compatível com fontes de ACL-enabled SharePoint dados. Você deve usar `ENTRA_ID_APP_ONLY`.

## Real-time verificação de acesso
<a name="kb-managed-ds-sharepoint-acl-realtime"></a>

A Base de Conhecimento Gerenciada da Bedrock verifica cada documento candidato SharePoint no momento da consulta usando as permissões baseadas em certificados do aplicativo (o registro do `ENTRA_ID_APP_ONLY` aplicativo configurado para rastreamento). Ao contrário de um fluxo de login de usuário delegado, nenhum login ou consentimento interativo por usuário é necessário. A verificação usa o mesmo registro e certificado do aplicativo, por meio da `Sites.Selected` permissão `Sites.FullControl.All` or, para confirmar que o usuário consultor ainda tem acesso a cada documento.

## Verificar sua configuração.
<a name="kb-managed-ds-sharepoint-acl-verify"></a>

Você pode validar as permissões do aplicativo Entra independentemente de uma solicitação de recuperação. Execute cada uma das seguintes verificações:

1. **Microsoft Graph (rastreamento)**:
   + Adquira um token de aplicativo com escopo `https://graph.microsoft.com/.default` e confirme se a `roles` reivindicação inclui `User.Read.All` `GroupMember.Read.All` e.
   + Chame um endpoint do site Microsoft Graph (por exemplo,`GET https://graph.microsoft.com/v1.0/sites/{site}`) e confirme se ele retorna o site.

1. **SharePoint REST (verificação em tempo real)**:
   + Adquira um token usando a declaração do cliente certificado com escopo`https://{tenant}.sharepoint.com/.default`.
   + Confirme se a `roles` reivindicação do token inclui a SharePoint `Sites.FullControl.All` (ou`Sites.Selected`) permissão. Um `roles: null` valor significa que a permissão ou o consentimento do administrador estão ausentes.
   + Ligue `GET https://{tenant}.sharepoint.com/_api/web` e confirme se foi bem-sucedido (HTTP 200). Uma resposta falhada ou não autorizada significa que a SharePoint permissão ou o consentimento do administrador estão ausentes, o que faz com que todos os documentos sejam negados.

## Solução de problemas
<a name="kb-managed-ds-sharepoint-acl-troubleshooting"></a>

**nota**  
As configurações incorretas da ACL não produzem erros explícitos durante a recuperação. Falha na recuperação: os documentos afetados são omitidos silenciosamente, então uma consulta retorna menos ou zero resultados em vez de um erro. Use as verificações de verificação anteriores para diagnosticar esses problemas.


**ACL-enabled SharePoint sintomas, causas e correções**  

| Sintomas | Causa provável | Correção | 
| --- | --- | --- | 
| Recuperar retorna 0 resultados, mas o usuário tem acesso em SharePoint. | A SharePoint Sites.FullControl.All (ouSites.Selected) permissão ou consentimento do administrador está ausente, então a chamada SharePoint REST é rejeitada e todos os documentos são negados. | Conceda a SharePoint Sites.FullControl.All permissão (ou Sites.Selected com concessões por site) com o consentimento do administrador. Como essas credenciais do aplicativo estão armazenadas em cache, aguarde até uma hora para que a alteração entre em vigor ou teste com um usuário ainda não consultado para confirmar mais cedo. | 
| O acesso de um usuário foi alterado em SharePoint, mas o novo resultado não é refletido imediatamente. | Per-user Eventualmente, os resultados de acesso são consistentes entre a fonte de dados e a Base de Conhecimento Gerenciada da Bedrock (normalmente em cerca de dois minutos), portanto, uma alteração recente no acesso pode não ser refletida imediatamente. | Depois que a fonte de dados refletir a alteração, aguarde cerca de dois minutos e tente novamente. | 
| Todos os usuários são negados depois de trabalharem anteriormente. | O certificado expirou ou o consentimento do administrador foi revogado. | Renove o certificado no registro do aplicativo Entra e no Amazon S3 e conceda novamente o consentimento do administrador. | 
| O rastreamento ou a sincronização falham, embora a configuração pareça correta. | Falta uma permissão necessária do aplicativo Microsoft Graph. | Grant User.Read.All GroupMember.Read.All e. | 
| Senha do certificado ou erros de criação de tokens. | A .p12 senha não correspondecertificatePassword. | certificatePasswordDefina a senha usada para criar o .p12 arquivo. | 