AC-16(4): Association of Attributes by Authorized Individuals
AC-16(4) requires you to give authorized people (or approved automated processes acting for them) a controlled, auditable way to attach security attributes to the right subjects/objects in your systems. Operationally, that means defined attribute models, tightly scoped permissions to set/change attributes, workflow or technical controls to prevent unauthorized tagging, and retained evidence of who changed what and when. 1
Key takeaways:
- Define what “attributes” mean in your environment, where they live, and which systems enforce them.
- Restrict attribute assignment to explicitly authorized roles and service accounts, with approvals and logging.
- Prove operation with change records, access reviews, and system logs tied to attribute changes.
Footnotes
The ac-16(4): association of attributes by authorized individuals requirement shows up when you use attributes to drive access decisions: classification labels, data sensitivity tags, mission/business roles, clearance levels, tenancy identifiers, export-control flags, or privacy markers. If attributes can be created or modified by anyone with broad admin rights, attribute-based access control (ABAC) collapses into “whoever can edit the tag can get the access.” AC-16(4) closes that gap by demanding a specific capability: the organization must support attribute association, and only authorized individuals (or processes acting on their behalf) can do it. 1
For a CCO, CISO, or GRC lead, this control is less about writing an “ABAC policy” and more about proving operational governance: named control owners, explicit authorization rules for attribute setters, change control, and evidence that the mechanism exists and is used consistently. The fastest path is to (1) identify your attribute authorities, (2) implement role-based restrictions and workflows in the systems that store/enforce attributes, and (3) collect evidence that survives audits: logs, access reviews, and attribute change tickets.
Regulatory text
Text (control enhancement): “Provide the capability to associate [assignment of attributes] with [subjects and objects] by authorized individuals (or processes acting on behalf of individuals).” 1
Operator meaning: You must implement a mechanism (technical and procedural) that allows attributes to be attached to the correct thing (a user, device, service, file, record, API object, dataset, or workload) and ensure only explicitly authorized people or approved automation can do that association. The “capability” is assessed in practice: if attribute assignment happens ad hoc in spreadsheets, with no access restrictions, weak logging, or unclear ownership, you will struggle to demonstrate compliance. 2
Plain-English interpretation (what the requirement is really asking)
AC-16(4) expects three outcomes:
- A defined attribute set and binding points. You know which attributes matter (examples: “Confidential,” “CUI,” “PHI,” “Production,” “Tenant-ID=123”) and where they get attached (IdP directory objects, cloud resource tags, database columns/rows, DLP labels, document metadata).
- Authorization to assign or change attributes. Only specific roles can create, assign, update, or remove attributes, and those privileges are narrowly scoped.
- Accountability. You can show who (or what service account) associated an attribute, under what authority, and when.
This enhancement is commonly implemented alongside AC-16 (Security and Privacy Attributes), ABAC/labeling patterns, and change management controls. Your assessor will look for tight control of attribute setters because attributes frequently become the “keys” to restricted data and privileged actions.
Who it applies to
Entity scope: Federal information systems and contractor systems handling federal data. 1
Operational scope (where AC-16(4) bites hardest):
- Identity and access administration: identity provider (IdP), directory services, HRIS-to-IdP provisioning, privileged access management (PAM).
- Data classification and labeling: document repositories, collaboration suites, DLP tooling, email classification banners, records management.
- Cloud governance: AWS/GCP/Azure tags/labels used in IAM conditions, SCPs/Policies, network segmentation, cost allocation plus security controls.
- Application authorization: systems implementing ABAC (policy engines, microservices, API gateways) where attributes determine entitlements.
- Third party access: partner portals, contractor accounts, support tools where mis-tagging can expand access.
If your environment does not currently use attributes to drive decisions, AC-16(4) still applies once you introduce labeling, tagging, ABAC, or attribute-driven segmentation. Treat it as foundational plumbing.
What you actually need to do (step-by-step)
Step 1: Inventory attribute use cases and enforcement points
Create an “Attribute Register” (one page per attribute family) that answers:
- What is the attribute name, allowed values, and definition?
- What object types can it attach to (user, group, device, file, record, cloud resource)?
- Which system is the system of record for that attribute?
- Which systems consume/enforce it (IAM conditions, DLP rules, app policy engine)?
- What happens if it is wrong (access expands, data mishandled, segmentation bypass)?
Keep this tight. Auditors prefer a small set of well-governed attributes over a sprawl of inconsistent tags.
Step 2: Define “attribute authorities” and authorization rules
Decide who is allowed to associate attributes, at what scope, and under what approvals:
- Data classification attributes: often owned by Data Governance/InfoSec with defined classifier roles.
- Identity attributes (department, role, clearance-like internal tiers): often owned by HR/Identity Governance, with provisioning rules.
- Cloud tags used in IAM conditions: often owned by Cloud Platform/Security Engineering with IaC controls.
Document:
- Roles authorized to set each attribute (job titles or IAM roles).
- Whether self-service is allowed (usually “no” for security-sensitive attributes).
- Whether automated processes can set attributes, and who approves those processes.
Step 3: Implement technical controls to restrict attribute association
Match the control to the platform:
Identity attributes
- Restrict write permissions on directory attributes to specific admin roles or IGA workflows.
- Require approvals for high-impact attribute changes (examples: “Privileged-Operator=true”, “Prod-Access=Yes”).
- Ensure service accounts that write attributes are scoped to required objects/attributes only.
Data labels
- Use your labeling tool’s permission model so only authorized labelers can apply or downgrade labels.
- Disable end-user ability to change labels if labels drive access decisions, or require justification/approval.
Cloud tags
- Enforce tag mutations through infrastructure-as-code pipelines.
- Restrict console/API tag permissions to a small group.
- Use policy guardrails to prevent creating “privileged” tags outside the pipeline.
Step 4: Add workflow and change control where it matters
For attributes that directly gate access to restricted data or privileged functions, implement:
- A ticketed request path (ITSM) or IGA workflow.
- Approval by the attribute owner (and optionally data owner).
- Validation checks (allowed values, required companion tags, no conflicting tags).
You do not need bureaucracy for every tag. You do need rigor for tags that can grant access.
Step 5: Log, monitor, and review attribute changes
You need a reliable audit trail:
- Enable audit logs for attribute changes in the system of record.
- Correlate attribute changes to tickets/approvals (change ID in the ticket, reference in change notes).
- Review attribute changes periodically for anomalies (bulk changes, changes by unusual admins, changes outside workflow).
Step 6: Map ownership, procedure, and recurring evidence
Assign a control owner and document an operating procedure: what “good” looks like, how exceptions are handled, and what evidence you generate. A lightweight way is to track this in your GRC system with linked artifacts; teams often use Daydream to keep control ownership, procedures, and recurring evidence consistently tied to AC-16(4) across systems and audits.
Required evidence and artifacts to retain
Auditors typically accept screenshots, exports, and system logs if they are clear and attributable. Keep:
Governance
- Attribute Register (definitions, allowed values, system of record, enforcement points).
- RACI or role definitions for attribute authorities.
- Procedure/runbook for requesting and applying attributes.
Access control configuration
- Role/permission settings showing who can write attributes (IdP admin role config, IGA workflow roles, cloud IAM policies for tagging).
- Service account inventory for attribute-writing automation, with approvals.
Operational records
- Samples of approved tickets/workflows for attribute assignment/changes.
- Audit logs showing attribute change events (who/what, what changed, when).
- Evidence of periodic review of attribute changes and permissions (meeting notes, sign-offs, exported review results).
Common exam/audit questions and hangups
| Audit question | What they’re testing | How to answer with evidence |
|---|---|---|
| “Who can assign or change security attributes?” | Authorization is explicit and limited | Provide role list + permission screenshots/exports |
| “Show how an attribute change is approved.” | Workflow exists for high-impact changes | Provide a completed ticket/workflow record |
| “Prove the attribute change trail.” | Accountability and logging | Provide logs showing attribute modifications |
| “Where are attributes enforced?” | Attributes are not cosmetic | Provide mappings to IAM/DLP/app policy enforcement points |
| “Do automated processes set attributes?” | Service accounts are controlled | Provide service account scoping and approvals |
Hangup to expect: teams can describe tagging but cannot show permission boundaries around who may tag. AC-16(4) is a permissioning and traceability control as much as it is an “attribute” control.
Frequent implementation mistakes (and how to avoid them)
-
Everyone with admin can edit attributes.
Fix: separate “platform admin” from “attribute authority” roles; remove write permissions broadly. -
Attributes exist in too many places with no source of truth.
Fix: designate a system of record per attribute; document sync rules; stop manual copying. -
Automation writes attributes with over-privileged service accounts.
Fix: scope service accounts to specific attributes and object sets; review credentials like any privileged account. -
No link between ticket approval and the actual change.
Fix: require a change record reference; store samples that show request → approval → change event. -
Attributes are free-text.
Fix: use controlled vocabularies and validation, or you will get drift (“Conf”, “confidential”, “C0NF”).
Enforcement context and risk implications
No public enforcement cases were provided in the source catalog for this requirement. Practically, AC-16(4) reduces the risk of privilege expansion and data mishandling caused by unauthorized or incorrect labeling. Where attributes gate access, a single mis-assigned tag can function like a silent access grant; that is why assessors focus on authorization, workflow, and logs rather than tag taxonomy alone.
Practical 30/60/90-day execution plan
First 30 days (triage and design)
- Identify which attributes drive access decisions today (IdP attributes, data labels, cloud tags).
- Name attribute owners and authorized setter roles.
- Draft the Attribute Register and decide system(s) of record.
- Confirm logging is enabled for attribute changes in key platforms.
Days 31–60 (implement controls where risk is highest)
- Tighten write permissions for the top high-impact attributes (remove broad admin write access).
- Implement ticket/workflow approvals for those attributes.
- Establish service account controls for attribute-writing automation.
- Produce your first evidence package: configuration exports + sample tickets + log extracts.
Days 61–90 (operate and prove)
- Run an access review focused on “who can set attributes” and remediate exceptions.
- Start periodic sampling of attribute changes and reconcile to approvals.
- Document exceptions and compensating controls for systems that cannot support fine-grained attribute permissions yet.
- Centralize artifacts in your GRC system (Daydream or equivalent) so audits pull from a stable evidence set.
Frequently Asked Questions
What counts as an “attribute” for AC-16(4)?
Any label, tag, or metadata element that affects access control, handling requirements, routing, or policy enforcement. If changing it can expand access or reduce safeguards, treat it as in-scope for AC-16(4). 2
Do we need a human to set every attribute, or can automation do it?
Automation is allowed if it acts on behalf of authorized individuals. You still need to authorize the process, scope its permissions, and retain logs that show what it changed and when. 1
How strict should approvals be?
Make approvals proportional to impact. Require approvals and ticketing for attributes that gate privileged access, restricted datasets, or label downgrades; allow streamlined workflows for low-impact operational tags.
We use cloud tags for cost allocation. Is that in scope?
If the tags are only for billing and do not affect security controls, they are lower risk. If tags feed IAM conditions, network segmentation, or data access rules, treat them as security attributes and apply AC-16(4) controls.
What evidence is the fastest to produce for an audit?
A short Attribute Register, a permissions export showing who can edit key attributes, one approved change ticket, and the matching audit log entry for the attribute change. That package usually answers the first wave of assessor questions.
How do we handle systems that can’t restrict attribute edits granularly?
Document the limitation, restrict access at the nearest control point (admin role minimization, compensating workflow, monitored change logs), and track a remediation plan. Assessors generally accept compensating controls if they are explicit and operating.
Footnotes
Frequently Asked Questions
What counts as an “attribute” for AC-16(4)?
Any label, tag, or metadata element that affects access control, handling requirements, routing, or policy enforcement. If changing it can expand access or reduce safeguards, treat it as in-scope for AC-16(4). (Source: NIST SP 800-53 Rev. 5)
Do we need a human to set every attribute, or can automation do it?
Automation is allowed if it acts on behalf of authorized individuals. You still need to authorize the process, scope its permissions, and retain logs that show what it changed and when. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)
How strict should approvals be?
Make approvals proportional to impact. Require approvals and ticketing for attributes that gate privileged access, restricted datasets, or label downgrades; allow streamlined workflows for low-impact operational tags.
We use cloud tags for cost allocation. Is that in scope?
If the tags are only for billing and do not affect security controls, they are lower risk. If tags feed IAM conditions, network segmentation, or data access rules, treat them as security attributes and apply AC-16(4) controls.
What evidence is the fastest to produce for an audit?
A short Attribute Register, a permissions export showing who can edit key attributes, one approved change ticket, and the matching audit log entry for the attribute change. That package usually answers the first wave of assessor questions.
How do we handle systems that can’t restrict attribute edits granularly?
Document the limitation, restrict access at the nearest control point (admin role minimization, compensating workflow, monitored change logs), and track a remediation plan. Assessors generally accept compensating controls if they are explicit and operating.
Operationalize this requirement
Map requirement text to controls, owners, evidence, and review workflows inside Daydream.
See Daydream