Renewing a Tenant Posture¶
A tenant posture is the signed statement that lets a tenant's endpoints offer Pause in the status menu, and lets any browser extensions it lists use the endpoint's local engine. Endpoints accept a posture for at most 7 days, and the key that signs it is kept offline -- the control plane cannot re-sign it. Whoever holds that key must re-sign and upload the posture every week.
When it expires¶
Every endpoint in the tenant refuses the expired document:
- Pause is no longer available in the status menu, and a pause request is refused. A pause already running still resumes on schedule.
- Browser extensions listed in the posture lose access to the endpoint's local engine.
The release channel of the installed build is not affected; no posture changes it.
The customer portal shows the posture's state on Mission Control and Endpoints -- valid, expiring soon, expired, or none uploaded -- and, when it has expired, which of these controls are off. Platform administrators also see every tenant on the admin dashboard, and -- when the deployment has a mail server and recipients configured -- are emailed 48 hours before expiry, 24 hours before, and on expiry. The dashboard shows whether each warning was actually handed to the mail server.
Renew it¶
-
On the offline machine that holds the posture signing key:
python3 agents/endpoint-agent/tools/sign_tenant_posture.py sign \ --tenant-id <tenant> --posture <unregulated|regulated> [--allow-pause] \ --serial <current serial + 1> --validity-days 7 \ --key <path to the private key> --key-id <key id> \ --out <tenant>-posture.jsonThe serial must be higher than the current one (the portal shows it). Keep the same posture and permissions unless you mean to change them.
-
Copy only the signed JSON file -- never the key -- to the control-plane host.
-
Upload it there:
-
The portal now shows the posture as valid with the new expiry. Endpoints pick it up on their next posture sync; a device that was offline gets it when it reconnects.