Capítulo 7 — Governança de acessos
Mapa da aula
Aula 07 publicada. Mapa, exemplo, EX031.
flowchart TD
N0["7.1 Por que revisar os acessos"]
N1["Laboratório — Contas inativas e não aprovadas em um"]
N2["7.2 Resultados"]
N3["7.3 Agindo sobre os resultados"]
N4["7.4 Tornando-a periódica"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX031"]
Desenho lógico
flowchart LR
N0["7.1 Por que revisar os acessos"]
N1["Laboratório — Contas inativas e não aprovadas em um"]
N2["7.2 Resultados"]
N3["7.3 Agindo sobre os resultados"]
N4["7.4 Tornando-a periódica"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX031"]
[7.1 Por que revisar os acessos]
|
v
[Laboratório — Contas inativas e não aprovadas em um]
|
v
[7.2 Resultados]
|
v
[7.3 Agindo sobre os resultados]
|
v
[7.4 Tornando-a periódica]
|
v
[Exemplo resolvido] --> [Exercício EX031]
Objetivos de aprendizagem
Você vai (1) revisar o acesso a um conjunto de dados governado; (2) encontrar contas inativas e não aprovadas; (3) instituir revisões periódicas pelos donos.
7.1 Por que revisar os acessos
O acesso ao conjunto de dados de remessas cresceu ao longo dos anos, à medida que pessoas entraram, mudaram de função e saíram. A TI concede acesso a pedido, muitas vezes sem consultar o dono. Lucía explica que cada conta desnecessária aumenta a chance de mau uso ou de que uma senha comprometida exponha dados de clientes e motoristas. Ela propõe uma revisão, a ser aprovada pelo diretor de operações como dono, que compara o último uso e o registro de aprovação de cada conta com as regras acordadas sobre quem deve ter acesso. O dono aprova o plano de revisão em uma semana.
Laboratório — Contas inativas e não aprovadas em um conjunto sintético de dados de remessas
"""Review access to a synthetic shipment data set: stale and unapproved accounts (stdlib only)."""
import random, datetime as dt
random.seed(5)
today = dt.date(2026, 3, 31)
acc = []
for i in range(240):
last = today - dt.timedelta(days=min(400, int(random.expovariate(1/45))))
approved = random.random() > 0.07
acc.append((f"u{i:03d}", last, approved))
stale = [a for a in acc if (today - a[1]).days > 90]
unapp = [a for a in acc if not a[2]]
both = [a for a in stale if not a[2]]
print(f"accounts {len(acc)}; unused over 90 days {len(stale)} ({100*len(stale)/len(acc):.1f}%)")
print(f"no owner approval {len(unapp)}; stale and unapproved {len(both)}")
Execute com python3 lab_access.py. Saída verificada:
accounts 240; unused over 90 days 30 (12.5%)
no owner approval 17; stale and unapproved 2
7.2 Resultados
O laboratório revisa 240 contas sintéticas com a data de referência de 31 de março de 2026. Trinta contas, 12,5 por cento, não são usadas há mais de noventa dias. Dezessete não têm registro de aprovação do dono. Duas contas são, ao mesmo tempo, inativas e não aprovadas, o que as torna a maior prioridade de remoção, já que ninguém as aprovou e ninguém parece usá-las. Lucía observa que contas inativas e contas não aprovadas são problemas diferentes, com correções diferentes, e por isso os relata separadamente. Lucía compartilha as listas com o diretor de operações no mesmo dia, para as decisões.
7.3 Agindo sobre os resultados
O diretor de operações revisa a lista. As contas inativas são desativadas depois que os gestores de seus titulares confirmam que não há necessidade; três são mantidas para pessoas em licença longa, com uma anotação e uma data de expiração. As contas não aprovadas são revistas uma a uma: a maioria é legítima e recebe aprovação retroativa, enquanto algumas pertencem a terceirizados cujo trabalho terminou, e essas são removidas. As duas contas presentes nos dois grupos são removidas imediatamente. Cada decisão é registrada com sua razão. A revisão leva três semanas para ser concluída por inteiro.
7.4 Tornando-a periódica
Lucía propõe revisões trimestrais de acesso para o conjunto de dados de remessas e semestrais para os conjuntos menos sensíveis. A TI muda o processo de solicitação para que novos acessos exijam a aprovação do dono, registrada automaticamente. As contas de quem sai da empresa são desativadas pelo processo de desligamento do RH. O Dr. Achebe observa que limpezas pontuais se degradam depressa, e que uma governança de acessos sustentável depende de mudar os processos que criaram o problema, além de corrigir sua situação atual. A primeira revisão trimestral depois dessas mudanças encontra muito menos contas inativas, o que sugere que as mudanças de processo estão funcionando.
Exemplo resolvido
Lucía revisa 240 contas, encontra 30 sem uso há mais de noventa dias (12,5 por cento), 17 não aprovadas e 2 nos dois grupos, faz o dono decidir sobre cada uma com razões registradas e torna periódicas as revisões e as aprovações.
Caso sintético. As contas são sintéticas; as saídas vêm de lab_access.py.
Erros e limites
Limpezas sem mudança de processo se degradam depressa.
Exercícios
- EX031 — Parcela inativa. Que parcela das contas estava sem uso há mais de noventa dias? Rubrica: 3 = 12,5% (30 de 240);; 2 = parcialmente correto;; 1 = parcial;; 0 = nenhuma.
- EX032 — Maior prioridade. Que contas tinham a maior prioridade? Rubrica: 3 = as duas inativas e não aprovadas ao mesmo tempo;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
- EX033 — Tratamento das licenças longas. Como as contas de pessoas em licença longa foram tratadas? Rubrica: 3 = mantidas com uma anotação e uma data de expiração;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
- EX034 — Mudança na solicitação. Como a TI mudou o processo de solicitação? Rubrica: 3 = novos acessos exigem aprovação registrada do dono;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
- EX035 — Controle dos desligamentos. Como são tratadas as contas de quem sai? Rubrica: 3 = desativadas pelo processo de desligamento do RH;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma.
Continue estudando — aula 07 (capítulo 07 de 12)
← Capítulo 06 · Índice das aulas · Capítulo 08 →
Continue para a próxima aula já escrita.