ConnXL Docs

Administrar

Controlo de acesso

Cada ambiente tem a sua própria porta para os UTILIZADORES FINAIS — separada de quem pode iniciar sessão neste painel. O controlo de acesso decide se alguém pode sequer abrir o suplemento, e quais funções está autorizado a chamar.

8 min de leitura

Este não é o mesmo público de Membros e papéis. Essa página cobre as pessoas que iniciam sessão neste painel para configurar o ConnXL. Esta página cobre as pessoas que abrem o teu suplemento no Excel e escrevem =NAMESPACE.MODULE.FN(…) — os teus utilizadores finais, que talvez nunca toquem no painel.

O controlo de acesso configura-se por ambiente (um suplemento de Development e o seu equivalente de Production podem ter regras completamente diferentes), na área Access do ambiente, dentro do painel, dividida em seis separadores: Sign-in, Visibility, Audience, Permissions, Network e Activity.

Liga um fornecedor de início de sessão

Nada nesta página tem efeito até que pelo menos um fornecedor de identidade esteja ligado e ativado. Adiciona um ou vários a partir do separador Sign-in:

  • entra — Microsoft Entra ID (Azure AD). Uma ligação por ambiente.
  • google — Google Workspace. Uma ligação por ambiente.
  • microsoft-personal — uma conta PESSOAL Microsoft (outlook.com / hotmail.com / live.com). O Entra cobre apenas diretórios profissionais ou escolares. Uma ligação por ambiente.
  • oidc — um fornecedor OpenID Connect genérico (Okta, Auth0, ou qualquer IdP compatível com o padrão). Sem limite — liga quantos precisares, lado a lado.

Cada fornecedor é ativado ou desativado de forma independente. Os campos apresentados dependem do tipo — vê Configurar fornecedores de identidade para saber onde encontrar cada valor:

FieldTypeDescription
displayNameOptional
stringA etiqueta apresentada no botão de início de sessão (por defeito, o nome do tipo de fornecedor).
tenantIdEntra
stringO ID do teu tenant do Entra. Não é necessário — nem é mostrado — quando o fornecedor está configurado para aceitar qualquer organização Microsoft (ver abaixo).
clientIdRequired
stringO ID da aplicação (cliente) registada junto do fornecedor.
resourceUriEntra
stringO Application ID URI que o agent apresenta como audiência do token.
issuerUrlOIDC
URLO URL base do emissor OIDC (p. ex. https://o-teu-tenant.okta.com).
scopesOptional
string[]Scopes de OAuth adicionais a solicitar além dos do fornecedor por defeito.
clientSecretRequired
secret://…Uma referência ao segredo de cliente OAuth. Só de escrita — depois de guardado, o painel mostra apenas que um segredo está definido, nunca o seu valor.

Não existe um interruptor separado de "exigir início de sessão" — o início de sessão é aplicado automaticamente no momento em que qualquer um dos fornecedores acima é ativado.

Entra: uma organização, ou qualquer organização

Um fornecedor Entra faz mais uma pergunta: quem pode iniciar sessão.

  • Apenas a minha organização (predefinição) — apenas as pessoas do tenant que indicaste em tenantId. Quem vier de outro diretório Microsoft é recusado antes sequer de se consultar qualquer regra desta página.
  • Qualquer organização Microsoft — pessoas de outras empresas também podem iniciar sessão, sujeitas à tua Audience e Permissions abaixo. O tenantId desaparece, porque já não há um único diretório a que fixar.

A segunda opção destina-se a um suplemento que partilhas com parceiros, clientes ou prestadores que vivem nos seus próprios tenants Microsoft. Não significa "aberto a toda a gente": cada chamador continua a ter de passar as regras de Audience e Permissions abaixo, pelo que um ambiente privado continua a admitir apenas as pessoas que convidaste ou os domínios que permitiste.

Qualquer organização exige duas alterações no teu próprio registo de aplicação do Azure

Nenhuma das duas é algo que a ConnXL possa configurar por ti, e ambas fazem o início de sessão falhar se forem esquecidas:

  1. O teu registo de aplicação tem de ser multi-tenant — "Contas em qualquer diretório organizacional" no Azure. Se for de um só tenant, a própria Microsoft recusa os inícios de sessão externos na sua página de login, antes de o pedido chegar ao teu agent.
  2. Tem também de pedir o claim opcional xms_edov no token de acesso — Azure → o teu registo de aplicação → Configuração de tokenAdicionar claim opcionalAcessoxms_edov. (O portal pode avisar que o claim não é reconhecido; esse aviso pode ser ignorado.) É assim que a Microsoft nos diz que um endereço de email pertence mesmo a quem inicia sessão. Sem um tenant a que fixar, é a única coisa que separa a tua lista de permitidos de alguém que criou o seu próprio diretório e lá escreveu o endereço de um dos teus utilizadores — por isso recusamos todos os inícios de sessão que cheguem sem ele, em vez de confiar no endereço.

Nenhum fornecedor ativado significa nenhuma barreira

Até que pelo menos um fornecedor esteja ativado, o início de sessão não pode ser exigido — qualquer pessoa que consiga alcançar o anfitrião do agent pode chamar qualquer função, seja o que for que Visibility ou Audience digam abaixo. Um aviso em cada separador de Access lembra-te disto até estar resolvido.

Escolhe Público ou Privado

O separador Visibility é o interruptor principal, e é a mesma definição defaultAccess para a qual o separador Permissions recorre para quem não tenha uma concessão explícita:

  • Privado (a predefinição) — só entra o público que definires abaixo.
  • Público — qualquer pessoa que consiga iniciar sessão com um fornecedor ligado pode abrir o suplemento e chamar as suas funções, sujeito ao que Permissions negar.

Mudar para Público expõe cada função de cada espaço de nomes a qualquer pessoa no fornecedor de identidade da tua organização, por isso o painel pede-te para confirmar a alteração antes de esta produzir efeito.

Define o público

O separador Audience é onde se definem os chamadores permitidos de um ambiente Privado (os Groups também importam em ambientes Públicos, já que as concessões de Permissions os visam). Três mecanismos, mais uma lista de bloqueio que se aplica em ambos os casos:

FieldTypeDescription
MembersOptional
Convida utilizadores finais individuais por email. Um membro está invited até iniciar sessão pela primeira vez, depois passa a active; podes revoke o acesso (reconvidar mais tarde) ou remover um membro definitivamente.
Allowed domainsOptional
Qualquer pessoa com um email num domínio dado entra — p. ex. adiciona acme.com para deixar passar toda a empresa sem convidar cada pessoa.
GroupsOptional
Um conjunto nomeado de principais — emails individuais, domínios inteiros, ou uma claim de grupo do fornecedor de identidade vinda do token de sessão — para que uma única concessão de Permissions cubra toda uma equipa de uma só vez.
Denied domainsOptional
Uma lista de bloqueio que se aplica TANTO em ambientes Públicos como Privados — uma negação ganha sempre a um permitir correspondente, em todo este sistema.

Concede acesso a funções e recursos

O separador Permissions é onde passas de "quem pode entrar" para "o que pode chamar":

  • A grelha de grupo × espaço de nomes — cada grupo gerido como linha, cada espaço de nomes do Excel (o MODULE em MODULE.FN) onde vivem as tuas funções como coluna. Clica numa célula para a percorrer entre Inherit → Allow → Deny → Inherit. Inherit significa que o grupo não tem nenhuma concessão explícita nesse espaço de nomes, por isso recorre à definição de Visibility acima.
  • Concessões individuais — permite ou nega um email ou domínio concreto contra * (todas as funções), um espaço de nomes inteiro (MODULE.*), ou uma função exata — para os casos que um grupo não cobre.
  • Concessões por função — abre a página de detalhe de qualquer função para encontrares um cartão dedicado que concede ou nega grupos, emails ou domínios concretos só para essa função, sobrepondo-se à regra mais ampla do espaço de nomes.

Uma negação ganha sempre a um permitir correspondente, em todos os níveis — um grupo permitido em todo um espaço de nomes ainda pode ser negado para uma função específica dentro dele.

Restringe por rede

O separador Network adiciona regras baseadas em IP por cima de tudo o anterior: um intervalo CIDR IPv4 (ou um endereço isolado, tratado como /32), um efeito de permitir ou negar, e um âmbito (*, um espaço de nomes, ou uma função). O agent verifica o IP do pedido do chamador contra estas regras no momento da execução — dentro da tua própria rede, o mais próximo possível dos dados. Intervalos IPv6 ainda não são suportados.

Revê o registo de atividade

O separador Activity é um registo de auditoria apenas de acrescento para o ambiente: cada início de sessão, chamada negada, alteração de permissão e revogação, filtrável por tipo de evento.

O ator nunca é um email em claro

As entradas de Activity identificam o chamador por um hash, não pelo seu endereço de email — o registo é seguro de consultar e partilhar por defeito, ao mesmo tempo que te permite correlacionar eventos com a mesma pessoa ao longo do tempo.

Nesta página