Plan and implement app registrations
App registration, autenticação, permissões de API e app roles
Planear o registo
Antes de registar, é preciso decidir: a app é de utilização única (single-tenant) ou destinada a múltiplos tenants (multi-tenant)? Vai autenticar utilizadores interativamente, ou correr sem interação humana (daemon/serviço, usando client credentials)?
Criar o registo
O registo cria o objeto de aplicação (a definição global) e o respetivo service principal no tenant onde foi criado — os dois objetos são distintos mas ligados, e é um erro comum de exame confundir um com o outro.
Configurar autenticação
Envolve definir redirect URIs (para onde o utilizador é reenviado após autenticar) e o tipo de plataforma (Web, Single-page application, Mobile/Desktop) — cada tipo tem implicações de segurança diferentes (ex. SPAs usam PKCE em vez de client secret).
Permissões de API
- Delegated permissions — a app age em nome de um utilizador autenticado, limitada ao que esse utilizador pode fazer
- Application permissions — a app age por si própria, sem utilizador interativo (ex. um serviço em background), exigindo sempre admin consent
App roles
Definidos na app registration, os app roles permitem diferenciar o que utilizadores ou outras aplicações podem fazer dentro dessa app — atribuídos depois a utilizadores/grupos/service principals na enterprise application correspondente.
Resumo
App registration cria o objeto de aplicação global + service principal local. Autenticação define redirect URIs e tipo de plataforma. Delegated permissions agem em nome de um utilizador; application permissions agem sem utilizador e exigem sempre admin consent. App roles diferenciam níveis de acesso.