Introduction
This procedure explains how to view, set, and reset the device-level PCR (Platform Configuration Register) policy for a node using ZCLI. Operators use this procedure to customize which PCR indexes EVE-OS (Edge Virtualization Engine) uses when sealing the vault encryption key into the TPM, or to remove a custom policy after making changes. A node that has no device-level PCR policy uses the project or system default. When you set a policy, ZCLI compares it against a recommended set of PCR indexes (0, 1, 2, 3, 4, 6, 7, 8, 9, 13, and 14) and warns you about any differences. PCR 5 is never allowed in a policy because its value changes across reboots. For background on what PCR policies are and why they matter, see Flexible PCR Policy and TPM PCR Index Security Implications.Prerequisites
- Node with a TPM 2.0 implementation (discrete or firmware) and SHA-256 PCR bank support.
- ZCLI installed and configured with access to Edge Infrastructure Services.
- You have the SysManager or SysAdmin role in your enterprise. See Manage Roles.
- Remote attestation configured for the project.
View the Current PCR Policy
Run the following command to retrieve the device-level PCR policy for a specific node. Replace<name> with the node name, or use --uuid=<uuid> with the node’s UUID instead.
Set the PCR Policy
Apply a custom PCR policy to a node. The--pcrs option is required. Use the node name, or use --uuid=<uuid> instead.
Specify PCR indexes
The--pcrs value accepts individual indexes, ranges, or a combination of both, separated by commas.
Comma-separated list. Specify indexes directly:
- An index is outside the range 0 to 15.
- The list includes PCR 5.
- The list includes the same index more than once, including through overlapping ranges.
- The list does not include PCR 0.
- A range is malformed, or its start is greater than its end.
ZCLI Security Safeguards
Policy change review
When you runpcr-policy set, ZCLI first displays the node name and the new policy. If the node already has a device-level policy, ZCLI also lists the indexes that the new policy removes or adds compared to the current one:
No changes vs current policy. and stops. Add --force to apply the policy anyway.
Security warnings
ZCLI then compares the new policy against the recommended set (0, 1, 2, 3, 4, 6, 7, 8, 9, 13, and 14). If the new policy leaves out any recommended index, ZCLI lists those indexes with the following warning:Confirmation
ZCLI asks you to confirm before it applies the policy. Entery to apply the policy, or any other key to cancel:
Skip the prompts in scripts
For scripted workflows, specify both--force and --confirm-risks to skip the warnings and the confirmation prompt. If you specify only one of the two flags, ZCLI still displays the warnings and asks for confirmation.
Reset the PCR Policy
Remove the device-level PCR policy from a node. After the reset, the node uses the project or system default policy. Use the node name, or use--uuid=<uuid> instead.
y to continue. To skip the prompt, add -f:
Edge node '<node-name>' has no device-level PCR policy to reset. and makes no change.
Verify the Configuration
After a set or reset operation, run the show command to confirm the result:In This Series
- Remote Attestation Overview.
- Trusted Platform Module (TPM) Overview.
- Factors Affecting PCR[1].
- Host Platform Configuration (PCR 1) Interpretation Guide.
- TPM PCR Index Security Implications.
- Excluded PCRs: Disk-Key Sealing vs. Attestation Template.
- Flexible PCR Policy.
- Manage a PCR Policy (this article).