{"id":74963,"date":"2026-09-12T09:30:49","date_gmt":"2026-09-12T12:30:49","guid":{"rendered":"https:\/\/a3aengenharia.com\/?post_type=articles&#038;p=74963"},"modified":"2026-09-14T19:42:32","modified_gmt":"2026-09-14T22:42:32","slug":"hr-active-directory-iam-physical-identity-integration","status":"publish","type":"articles","link":"https:\/\/a3aengenharia.com\/en-us\/content\/technical-articles\/hr-active-directory-iam-physical-identity-integration\/","title":{"rendered":"Integration Between Access Control, HR, Active Directory, and IAM: Architecture, Identity Lifecycle, and Design Criteria"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This article presents a governance architecture for synchronizing corporate information with physical permissions in a traceable way. The objective is to transform organizational events into verifiable states, with clearly defined responsibilities, rules, evidence, and acceptance criteria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The approach must distinguish the authority of each system, prevent duplicates, handle relationship changes, and keep operations predictable when any component is unavailable. It must also support audit and reconciliation between the expected state and the state actually applied in the field.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Architecture and responsibilities<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The first design decision is to separate person, relationship, logical account, and physical authorization. These objects are related but are not equivalent. The same person may have more than one relationship over time, more than one corporate account, and different physical credentials. If all of these elements are treated as a single record, organizational changes can create duplicates or preserve obsolete privileges.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">HR normally owns the employment relationship, business unit, manager, role, and relevant dates. The corporate directory owns logical accounts and groups. An identity-governance platform may coordinate roles, approvals, and joiner, mover, and leaver cycles. The electronic access control system remains responsible for physical credentials, zones, schedules, controllers, and passage events.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Source of truth by attribute<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The architecture must state which system is authoritative for each attribute and who may correct it. Relationship status may come from HR; a corporate identifier may be maintained by an identity service; physical groups and zones belong to the EACS. If two systems write the same field without a precedence rule, synchronization may alternate states or overwrite a valid decision.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Data<\/td><td>Preferred source<\/td><td>Use in the process<\/td><td>Risk if inconsistent<\/td><\/tr><tr><td>Person identifier<\/td><td>HR or IAM<\/td><td>Correlation across systems<\/td><td>Duplicate identity<\/td><\/tr><tr><td>Relationship status<\/td><td>HR<\/td><td>Activation and termination<\/td><td>Terminated person still active<\/td><\/tr><tr><td>Role or unit<\/td><td>HR<\/td><td>Role calculation<\/td><td>Inappropriate profile<\/td><\/tr><tr><td>Logical group<\/td><td>Directory\/IAM<\/td><td>Corporate identity<\/td><td>Incorrect interpretation<\/td><\/tr><tr><td>Zones and schedules<\/td><td>EACS<\/td><td>Physical authorization<\/td><td>Excessive access<\/td><\/tr><tr><td>Credential<\/td><td>EACS<\/td><td>Physical authentication<\/td><td>Loss of traceability<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Persistent identifier<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Name, email, login, and UPN may change. They should not be the only correlation key. The design should use a persistent and unambiguous identifier that survives a name change, transfer, domain change, or rehire. When platforms use their own identifiers, the integration layer must maintain the relationship among them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This also preserves history. A rehired person may return under a new relationship without becoming a new physical identity, while old privileges must not be automatically restored. The model should reuse the historical identity while recalculating authorization from the new relationship.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Bidirectional architecture does not mean bidirectional authority<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Systems often exchange information in both directions: one system sends attributes and the EACS returns status, local identifiers, or events. This does not mean both systems may decide the same data. Communication direction and data authority are separate decisions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The design must document inputs, outputs, frequency, triggers, validations, and divergence handling. This interface matrix is as important as the logical diagram because it allows operations and oversight teams to understand each platform&#8217;s responsibility.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Joiner, mover, and leaver lifecycle<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Joiner\u2013Mover\u2013Leaver model organizes the three events that most affect authorization. The <strong>Joiner<\/strong> creates the relationship and initiates provisioning; the <strong>Mover<\/strong> recalculates privileges when conditions change; the <strong>Leaver<\/strong> terminates what is no longer required. Automation should translate each event into an expected state rather than merely execute isolated add or delete operations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For a Joiner, the process must know the start date, manager, role, unit, relationship type, and any approvals. Pre-provisioning may be useful as long as the physical authorization only becomes valid at the intended milestone. This avoids first-day queues without granting the privilege too early.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mover must recalculate, not only add<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Mover event is one of the main sources of privilege accumulation. When someone changes role or unit, adding a new group without removing the previous one produces broader authorization than necessary. The correct rule is to compare the current state with the expected state after the change and produce coherent additions and removals.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Temporary transfers, projects, leaves, and substitutions also need to be modeled. An additional role for thirty days should have its own validity. If the condition becomes permanent, the change should pass through the appropriate flow instead of indefinitely renewing an exception.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Leaver must reach the physical point<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Disabling a source record does not prove that physical access has stopped working. Termination must propagate through the chain to the EACS and, in distributed architectures, to the controllers that maintain local copies. Revocation time must be measured end to end and aligned with the site&#8217;s criticality.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The credential lifecycle article expands on issuance, change, expiration, and revocation. In this integration, the key point is to ensure that a corporate event produces the correct transition in the physical environment.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Event<\/td><td>Input<\/td><td>Expected state<\/td><td>Evidence<\/td><\/tr><tr><td>Hire<\/td><td>Approved relationship<\/td><td>Basic profile at start milestone<\/td><td>Approval + activation<\/td><\/tr><tr><td>Role change<\/td><td>New role<\/td><td>Remove old and apply new<\/td><td>Before\/after comparison<\/td><\/tr><tr><td>Transfer<\/td><td>New unit<\/td><td>Recalculated zones<\/td><td>Authorization matrix<\/td><\/tr><tr><td>Leave<\/td><td>Temporary status<\/td><td>Suspension according to policy<\/td><td>Event and log<\/td><\/tr><tr><td>Termination<\/td><td>End of relationship<\/td><td>Effective revocation<\/td><td>End-to-end timestamps<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Sequencing logical and physical access<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A corporate account and a physical credential may have different milestones, especially in planned terminations, asset-return processes, or escorted procedures. This sequence must be deliberate and documented. The error is to let the order become an accidental consequence of each system&#8217;s processing time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For sensitive situations, the organization may require coordination across several systems within a common window. The procedure should identify owners, maximum time, exceptions, and how the final state will be proven.<\/p>\n\n\n\n<figure class=\"a3a-mermaid\"><svg id=\"a3a-diagram-1\" width=\"100%\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"flowchart\" style=\"max-width:min(1157.34375px, 100%);height:auto;display:block;margin:0 auto\" viewBox=\"0 0 1157.34375 252.875\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\" aria-labelledby=\"chart-title-a3a-diagram-1\"><title id=\"chart-title-a3a-diagram-1\">Joiner\u2013Mover\u2013Leaver flow between HR, identity governance, and physical access control<\/title><style>#a3a-diagram-1{font-family:Roboto,sans-serif;font-size:15px;fill:var(--a3a-diag-text, #0a0a0a);}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#a3a-diagram-1 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#a3a-diagram-1 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#a3a-diagram-1 .error-icon{fill:var(--a3a-diag-canvas, #ffffff);}#a3a-diagram-1 .error-text{fill:#000000;stroke:#000000;}#a3a-diagram-1 .edge-thickness-normal{stroke-width:1px;}#a3a-diagram-1 .edge-thickness-thick{stroke-width:3.5px;}#a3a-diagram-1 .edge-pattern-solid{stroke-dasharray:0;}#a3a-diagram-1 .edge-thickness-invisible{stroke-width:0;fill:none;}#a3a-diagram-1 .edge-pattern-dashed{stroke-dasharray:3;}#a3a-diagram-1 .edge-pattern-dotted{stroke-dasharray:2;}#a3a-diagram-1 .marker{fill:var(--a3a-diag-stroke, #2e42a2);stroke:var(--a3a-diag-stroke, #2e42a2);}#a3a-diagram-1 .marker.cross{stroke:var(--a3a-diag-stroke, #2e42a2);}#a3a-diagram-1 svg{font-family:Roboto,sans-serif;font-size:15px;}#a3a-diagram-1 p{margin:0;}#a3a-diagram-1 .label{font-family:Roboto,sans-serif;color:var(--a3a-diag-text, #0a0a0a);}#a3a-diagram-1 .cluster-label text{fill:var(--a3a-diag-title, #0124af);}#a3a-diagram-1 .cluster-label span{color:var(--a3a-diag-title, #0124af);}#a3a-diagram-1 .cluster-label span p{background-color:transparent;}#a3a-diagram-1 .label text,#a3a-diagram-1 span{fill:var(--a3a-diag-text, #0a0a0a);color:var(--a3a-diag-text, #0a0a0a);}#a3a-diagram-1 .node rect,#a3a-diagram-1 .node circle,#a3a-diagram-1 .node ellipse,#a3a-diagram-1 .node polygon,#a3a-diagram-1 .node path{fill:var(--a3a-diag-fill, #eef2fd);stroke:var(--a3a-diag-stroke, #2e42a2);stroke-width:1px;}#a3a-diagram-1 .rough-node .label text,#a3a-diagram-1 .node .label text,#a3a-diagram-1 .image-shape .label,#a3a-diagram-1 .icon-shape .label{text-anchor:middle;}#a3a-diagram-1 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#a3a-diagram-1 .rough-node .label,#a3a-diagram-1 .node .label,#a3a-diagram-1 .image-shape .label,#a3a-diagram-1 .icon-shape .label{text-align:center;}#a3a-diagram-1 .node.clickable{cursor:pointer;}#a3a-diagram-1 .root .anchor path{fill:var(--a3a-diag-stroke, #2e42a2)!important;stroke-width:0;stroke:var(--a3a-diag-stroke, #2e42a2);}#a3a-diagram-1 .arrowheadPath{fill:var(--a3a-diag-stroke, #0b0b0b);}#a3a-diagram-1 .edgePath .path{stroke:var(--a3a-diag-stroke, #2e42a2);stroke-width:2.0px;}#a3a-diagram-1 .flowchart-link{stroke:var(--a3a-diag-stroke, #2e42a2);fill:none;}#a3a-diagram-1 .edgeLabel{background-color:var(--a3a-diag-canvas, #ffffff);text-align:center;}#a3a-diagram-1 .edgeLabel p{background-color:var(--a3a-diag-canvas, #ffffff);}#a3a-diagram-1 .edgeLabel rect{opacity:0.5;background-color:var(--a3a-diag-canvas, #ffffff);fill:var(--a3a-diag-canvas, #ffffff);}#a3a-diagram-1 .labelBkg{background-color:rgba(255, 255, 255, 0.5);}#a3a-diagram-1 .cluster rect{fill:var(--a3a-diag-surface, #f8f8f8);stroke:var(--a3a-diag-border, #e2e8f0);stroke-width:1px;}#a3a-diagram-1 .cluster text{fill:var(--a3a-diag-title, #0124af);}#a3a-diagram-1 .cluster span{color:var(--a3a-diag-title, #0124af);}#a3a-diagram-1 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:Roboto,sans-serif;font-size:12px;background:var(--a3a-diag-canvas, #ffffff);border:1px solid hsl(0, 0%, 90%);border-radius:2px;pointer-events:none;z-index:100;}#a3a-diagram-1 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:var(--a3a-diag-text, #0a0a0a);}#a3a-diagram-1 rect.text{fill:none;stroke-width:0;}#a3a-diagram-1 .icon-shape,#a3a-diagram-1 .image-shape{background-color:var(--a3a-diag-canvas, #ffffff);text-align:center;}#a3a-diagram-1 .icon-shape p,#a3a-diagram-1 .image-shape p{background-color:var(--a3a-diag-canvas, #ffffff);padding:2px;}#a3a-diagram-1 .icon-shape rect,#a3a-diagram-1 .image-shape rect{opacity:0.5;background-color:var(--a3a-diag-canvas, #ffffff);fill:var(--a3a-diag-canvas, #ffffff);}#a3a-diagram-1 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#a3a-diagram-1 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#a3a-diagram-1 :root{--mermaid-font-family:Roboto,sans-serif;}<\/style><g><marker id=\"a3a-diagram-1_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"><\/path><\/marker><marker id=\"a3a-diagram-1_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"><\/path><\/marker><marker id=\"a3a-diagram-1_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"><\/circle><\/marker><marker id=\"a3a-diagram-1_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"><\/circle><\/marker><marker id=\"a3a-diagram-1_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"><\/path><\/marker><marker id=\"a3a-diagram-1_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"><\/path><\/marker><g class=\"root\"><g class=\"clusters\"><\/g><g class=\"edgePaths\"><path d=\"M133.234,136.75L137.401,136.75C141.568,136.75,149.901,136.75,157.568,136.75C165.234,136.75,172.234,136.75,175.734,136.75L179.234,136.75\" id=\"L_A_B_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_A_B_0\" data-points=\"W3sieCI6MTMzLjIzNDM3NSwieSI6MTM2Ljc1fSx7IngiOjE1OC4yMzQzNzUsInkiOjEzNi43NX0seyJ4IjoxODMuMjM0Mzc1LCJ5IjoxMzYuNzV9XQ==\" marker-end=\"url(#a3a-diagram-1_flowchart-v2-pointEnd)\"><\/path><path d=\"M312.126,110.5L327.316,97.792C342.506,85.083,372.886,59.667,392.637,46.958C412.388,34.25,421.51,34.25,426.072,34.25L430.633,34.25\" id=\"L_B_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_C_0\" data-points=\"W3sieCI6MzEyLjEyNTk1Mjc0MzkwMjQsInkiOjExMC41fSx7IngiOjQwMy4yNjU2MjUsInkiOjM0LjI1fSx7IngiOjQzNC42MzI4MTI1LCJ5IjozNC4yNX1d\" marker-end=\"url(#a3a-diagram-1_flowchart-v2-pointEnd)\"><\/path><path d=\"M378.266,136.75L382.432,136.75C386.599,136.75,394.932,136.75,402.599,136.75C410.266,136.75,417.266,136.75,420.766,136.75L424.266,136.75\" id=\"L_B_D_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_D_0\" data-points=\"W3sieCI6Mzc4LjI2NTYyNSwieSI6MTM2Ljc1fSx7IngiOjQwMy4yNjU2MjUsInkiOjEzNi43NX0seyJ4Ijo0MjguMjY1NjI1LCJ5IjoxMzYuNzV9XQ==\" marker-end=\"url(#a3a-diagram-1_flowchart-v2-pointEnd)\"><\/path><path d=\"M633.094,120.172L637.26,119.497C641.427,118.823,649.76,117.474,664.353,116.799C678.945,116.125,699.797,116.125,710.223,116.125L720.648,116.125\" id=\"L_D_E_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_E_0\" data-points=\"W3sieCI6NjMzLjA5Mzc1LCJ5IjoxMjAuMTcxODQ1MzAwMTQxMDN9LHsieCI6NjU4LjA5Mzc1LCJ5IjoxMTYuMTI1fSx7IngiOjcyNC42NDg0Mzc1LCJ5IjoxMTYuMTI1fV0=\" marker-end=\"url(#a3a-diagram-1_flowchart-v2-pointEnd)\"><\/path><path d=\"M859.289,116.125L870.382,116.125C881.474,116.125,903.659,116.125,918.251,116.125C932.844,116.125,939.844,116.125,943.344,116.125L946.844,116.125\" id=\"L_E_F_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_E_F_0\" data-points=\"W3sieCI6ODU5LjI4OTA2MjUsInkiOjExNi4xMjV9LHsieCI6OTI1Ljg0Mzc1LCJ5IjoxMTYuMTI1fSx7IngiOjk1MC44NDM3NSwieSI6MTE2LjEyNX1d\" marker-end=\"url(#a3a-diagram-1_flowchart-v2-pointEnd)\"><\/path><path d=\"M595.941,163L606.299,167.167C616.658,171.333,637.376,179.667,651.252,184.638C665.127,189.609,672.161,191.218,675.678,192.022L679.194,192.827\" id=\"L_D_G_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_G_0\" data-points=\"W3sieCI6NTk1Ljk0MDU0ODc4MDQ4NzgsInkiOjE2M30seyJ4Ijo2NTguMDkzNzUsInkiOjE4OH0seyJ4Ijo2ODMuMDkzNzUsInkiOjE5My43MTg5NTQyNDgzNjZ9XQ==\" marker-end=\"url(#a3a-diagram-1_flowchart-v2-pointEnd)\"><\/path><path d=\"M315.754,163L330.34,173.938C344.925,184.875,374.095,206.75,409.916,217.688C445.737,228.625,488.208,228.625,530.68,228.625C573.151,228.625,615.622,228.625,640.36,228.363C665.097,228.102,672.101,227.579,675.603,227.317L679.105,227.056\" id=\"L_B_G_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_G_0\" data-points=\"W3sieCI6MzE1Ljc1NDQ2NDI4NTcxNDMsInkiOjE2M30seyJ4Ijo0MDMuMjY1NjI1LCJ5IjoyMjguNjI1fSx7IngiOjUzMC42Nzk2ODc1LCJ5IjoyMjguNjI1fSx7IngiOjY1OC4wOTM3NSwieSI6MjI4LjYyNX0seyJ4Ijo2ODMuMDkzNzUsInkiOjIyNi43NTc1ODYzNjc4ODA1fV0=\" marker-end=\"url(#a3a-diagram-1_flowchart-v2-pointEnd)\"><\/path><\/g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_A_B_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_B_C_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_B_D_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_D_E_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_E_F_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_D_G_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_B_G_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><\/span><\/div><\/foreignObject><\/g><\/g><\/g><g class=\"nodes\"><g class=\"node default\" id=\"flowchart-A-0\" transform=\"translate(70.6171875, 136.75)\"><rect class=\"basic label-container\" style=\"\" x=\"-62.6171875\" y=\"-26.25\" width=\"125.234375\" height=\"52.5\"><\/rect><g class=\"label\" style=\"\" transform=\"translate(-32.6171875, -11.25)\"><rect><\/rect><foreignObject width=\"65.234375\" height=\"22.5\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>HR \/ HCM<\/p><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"node default\" id=\"flowchart-B-1\" transform=\"translate(280.75, 136.75)\"><rect class=\"basic label-container\" style=\"\" x=\"-97.515625\" y=\"-26.25\" width=\"195.03125\" height=\"52.5\"><\/rect><g class=\"label\" style=\"\" transform=\"translate(-67.515625, -11.25)\"><rect><\/rect><foreignObject width=\"135.03125\" height=\"22.5\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Identity governance<\/p><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"node default\" id=\"flowchart-C-3\" transform=\"translate(530.6796875, 34.25)\"><rect class=\"basic label-container\" style=\"\" x=\"-96.046875\" y=\"-26.25\" width=\"192.09375\" height=\"52.5\"><\/rect><g class=\"label\" style=\"\" transform=\"translate(-66.046875, -11.25)\"><rect><\/rect><foreignObject width=\"132.09375\" height=\"22.5\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Corporate directory<\/p><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"node default\" id=\"flowchart-D-5\" transform=\"translate(530.6796875, 136.75)\"><rect class=\"basic label-container\" style=\"\" x=\"-102.4140625\" y=\"-26.25\" width=\"204.828125\" height=\"52.5\"><\/rect><g class=\"label\" style=\"\" transform=\"translate(-72.4140625, -11.25)\"><rect><\/rect><foreignObject width=\"144.828125\" height=\"22.5\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Access-control server<\/p><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"node default\" id=\"flowchart-E-7\" transform=\"translate(791.96875, 116.125)\"><rect class=\"basic label-container\" style=\"\" x=\"-67.3203125\" y=\"-26.25\" width=\"134.640625\" height=\"52.5\"><\/rect><g class=\"label\" style=\"\" transform=\"translate(-37.3203125, -11.25)\"><rect><\/rect><foreignObject width=\"74.640625\" height=\"22.5\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Controllers<\/p><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"node default\" id=\"flowchart-F-9\" transform=\"translate(1050.09375, 116.125)\"><rect class=\"basic label-container\" style=\"\" x=\"-99.25\" y=\"-26.25\" width=\"198.5\" height=\"52.5\"><\/rect><g class=\"label\" style=\"\" transform=\"translate(-69.25, -11.25)\"><rect><\/rect><foreignObject width=\"138.5\" height=\"22.5\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Doors and turnstiles<\/p><\/span><\/div><\/foreignObject><\/g><\/g><g class=\"node default\" id=\"flowchart-G-11\" transform=\"translate(791.96875, 218.625)\"><rect class=\"basic label-container\" style=\"\" x=\"-108.875\" y=\"-26.25\" width=\"217.75\" height=\"52.5\"><\/rect><g class=\"label\" style=\"\" transform=\"translate(-78.875, -11.25)\"><rect><\/rect><foreignObject width=\"157.75\" height=\"22.5\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Logs and reconciliation<\/p><\/span><\/div><\/foreignObject><\/g><\/g><\/g><\/g><\/g><\/svg><figcaption>Joiner\u2013Mover\u2013Leaver flow between HR, identity governance, and physical access control<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Data, roles, and authorizations<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Active Directory, IAM, and EACS should not be treated as three names for the same problem. The corporate directory maintains objects, accounts, and logical groups; the identity-management layer organizes roles, approvals, and lifecycle; the EACS applies physical authorization through credentials, zones, schedules, and local rules.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A direct mapping such as \u201cdirectory group = door\u201d may seem efficient, but it is reliable only if that group was created and governed for that purpose. Technical or historical groups may contain members for reasons unrelated to physical security. The integration must make the transformation rule explicit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Roles and attributes can work together<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In a role-based model, organizational function determines a set of permissions. In an attribute-based model, unit, role, shift, relationship type, and other fields participate in the decision. A hybrid architecture is often practical: eligible attributes determine physical roles, while roles maintain zones and schedules that managers and operations can understand.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Automation reduces manual maintenance, but it can also amplify bad data. An incorrect unit code or a free-text attribute written in inconsistent ways can affect many people. Values that feed rules should therefore be normalized, versioned, and validated.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Data quality is an engineering requirement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The design should specify mandatory fields, allowed values, null handling, rules for inconsistent dates, and duplicate detection. Inconsistent records should not be silently adapted by the integration, because that transfers the source error into physical authorization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When a record does not meet the criteria, a safer approach is to keep it in a pending state and generate evidence for correction at the source. This preserves data authority and facilitates audit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Directories and provisioning standards<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">LDAP is used to access directory services. SCIM was standardized for cross-domain identity management. APIs and webhooks can transport events and data that are specific to the physical system. None of these technologies replaces governance; they only implement part of the communication.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For deeper treatment of integration mechanisms, the article on APIs, webhooks, and middleware in access control discusses architecture, queues, events, and responsibilities. Here, the focus remains on the corporate lifecycle and its effect on physical authorization.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Transformation matrix<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The rule that converts corporate attributes into authorization should exist as a design artifact. It may relate role, unit, relationship type, and shift to a physical role and record additional approvals for critical areas.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Corporate condition<\/td><td>Physical role<\/td><td>Zone<\/td><td>Schedule<\/td><td>Additional approval<\/td><\/tr><tr><td>Administrative \/ Headquarters<\/td><td>Basic corporate<\/td><td>Administrative areas<\/td><td>Business hours<\/td><td>No<\/td><\/tr><tr><td>Maintenance \/ Plant A<\/td><td>Local maintenance<\/td><td>Planned technical areas<\/td><td>Shift<\/td><td>According to criticality<\/td><\/tr><tr><td>Temporary project<\/td><td>Project-specific<\/td><td>Project zones<\/td><td>Defined window<\/td><td>Sponsoring manager<\/td><\/tr><tr><td>Critical area<\/td><td>Privileged<\/td><td>Restricted zone<\/td><td>Restricted<\/td><td>Area owner<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The matrix must be readable by people who do not develop the integration. If the business rule exists only in code, review, procurement, and acceptance become dependent on the supplier.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Integration architecture: source, transformation, transport, and destination<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">An integration is easier to understand when decomposed into four responsibilities: the source produces the event or data; transformation converts attributes and applies rules; transport delivers the information; and the destination materializes the new state. This separation helps locate failures and avoids placing all logic inside an opaque connector.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The source must provide data with known meaning and quality. Transformation should record which values were received and how they were converted. Transport must provide sufficient processing confirmation for operations. The destination must allow verification of the state actually applied.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Real-time, events, and batches<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Not every item needs to travel in real time. Planned hires can be provisioned in advance with a future date; sensitive terminations may require rapid propagation; recertification can run in batch. Each event should be classified by the maximum acceptable delay.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Event-driven processing reduces latency but requires monitoring of queues and reprocessing. Periodic batches are simpler but create known divergence windows. A hybrid architecture can use events for critical changes and periodic reconciliation to ensure consistency.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Idempotency and out-of-order events<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The same event may be delivered more than once. Processing must recognize the repetition and reach the same state without duplicating a person, relationship, or credential. This idempotency principle is especially important when delivery uses automatic retry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Events can also arrive out of order. A delayed role change must not reactivate privileges after a more recent termination. Record version, sequence, timestamp, and current state help prevent regression.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Invalid records and quarantine<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When an event arrives incomplete or contradictory, the integration needs a known intermediate state. Instead of silently discarding it or filling values for convenience, the record can be quarantined and linked to an operational issue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Operations should be able to see the reason, source system, time, reprocessing attempt, and person responsible for correction. This turns an integration error into a treatable and auditable item.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Capacity and change peaks<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sizing must consider more than the daily average. Mass hiring, reorganizations, unit transfers, and collective terminations can generate high volume in a few minutes. The chain must process the peak within the required time without leaving critical changes behind less important events.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Connector limits, pagination, queues, licensing, and processing capacity should be verified before deployment. A system that works with ten test users may behave differently with thousands of changes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Continuity and reconciliation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">An integration cannot assume permanent availability of HR, directory, IAM, middleware, or the central server. The physical-control layer must continue operating predictably during outages, using local rules compatible with the risk of the installation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The design should define how long each component may operate on previously synchronized data, which changes may wait, which events require a contingency procedure, and how operations will be reconciled when communication returns.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Local controllers and acceptable staleness<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Controllers frequently cache credentials and rules to maintain availability. This is desirable but creates multiple copies of the authorization state. A change at the central server becomes effective only after it reaches the points that actually decide passage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Area criticality should guide tolerance. An administrative door may accept a longer period with the last known state; a critical area may require an immediate alert, local procedure, or more restrictive policy when synchronization exceeds a defined time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Reconciliation compares expected and effective states<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Synchronizing events does not eliminate divergence. Temporary failures, manual changes, duplicate records, and out-of-flow modifications can produce different states between the source and the EACS. Periodic reconciliation should compare what should exist with what is actually configured.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Differences need classification. Some are errors that can be corrected automatically; others are authorized exceptions that should remain recorded; others require human decision. The important point is that divergence must not remain invisible.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Indicator<\/td><td>What it reveals<\/td><td>Expected action<\/td><\/tr><tr><td>Pending events<\/td><td>Processing delay<\/td><td>Investigate cause and age<\/td><\/tr><tr><td>User without source<\/td><td>Orphan identity<\/td><td>Validate relationship or terminate<\/td><\/tr><tr><td>Role mismatch<\/td><td>Divergent state<\/td><td>Recalculate or justify<\/td><\/tr><tr><td>Controller out of sync<\/td><td>Potentially incomplete revocation<\/td><td>Trigger contingency<\/td><\/tr><tr><td>Expired exception<\/td><td>Accumulated temporary privilege<\/td><td>Revoke and review process<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Backup and recovery also affect time<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Restoring an old database may reintroduce users or groups that had already changed. The recovery plan should therefore include reconciliation against current sources before the service is declared normalized.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recovery testing should prove more than software startup. It must verify that the final authorization state matches the expected state and that events after the backup were reapplied or reconciled.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Time synchronization and evidence<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When HR, IAM, integration, EACS, and controllers record different times, reconstructing a sequence becomes difficult. The architecture should maintain an appropriate time reference and consistent timestamps, including timezone where applicable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This consistency is essential for SLA measurement and incident investigation. The process must distinguish when the event originated, when it was processed, and when it became effective at the physical point.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Testing and acceptance<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Acceptance must prove process behavior, not merely show a synchronized screen. Tests should begin in a controlled environment, cover normal and abnormal events, and end with verification on the actual hardware.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">FAT: validate rules and interfaces<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">During FAT, verify joiner, mover, and leaver rules, mappings, duplicates, invalid-record handling, reprocessing, manual changes, and reconciliation. It is also useful to simulate volumes above normal routine to observe queues and processing times.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Test cases should originate from requirements. If the organization requires a termination to become effective within a defined time, the test must record timestamps along the chain and demonstrate the result.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SAT: prove the effect in the installation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">During SAT, the identity should pass through the intended process and produce the correct behavior at the actual door, turnstile, or barrier. A newly admitted user should open only authorized points; a role change should remove the old profile; a termination should result in denial.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Offline operation must also be tested. Isolate part of the communication, observe local behavior, restore connectivity, and verify reconciliation. The article on commissioning access-control systems in accordance with IEC 60839 expands the methodology for tests and evidence.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Traceability matrix<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Requirement<\/td><td>Component<\/td><td>Test<\/td><td>Evidence<\/td><\/tr><tr><td>Entry at planned milestone<\/td><td>HR\u2192IAM\u2192EACS<\/td><td>Joiner<\/td><td>Activation at the correct time<\/td><\/tr><tr><td>Remove old privilege<\/td><td>Role rule<\/td><td>Mover<\/td><td>Before\/after comparison<\/td><\/tr><tr><td>Revoke within required time<\/td><td>Complete chain<\/td><td>Leaver<\/td><td>End-to-end timestamps<\/td><\/tr><tr><td>Operate without directory<\/td><td>EACS\/controller<\/td><td>Outage<\/td><td>Proven local policy<\/td><\/tr><tr><td>Detect divergence<\/td><td>Reconciliation<\/td><td>Controlled change<\/td><td>Alert and correction<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Closure criterion<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">An approved test must have a result, evidence, and responsible party. Open issues should enter a controlled list with severity, deadline, and retest. The system should only be considered accepted once critical requirements are proven in production or in a previously agreed representative condition.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Contracting and operation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A suitable procurement scope must describe the process being delivered, not merely request \u201cActive Directory integration.\u201d The scope should state systems involved, sources of truth, organizational events, authorization rules, responsibilities, contingency operation, documentation, and acceptance criteria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Useful deliverables include a logical architecture, source-of-truth matrix, Joiner\u2013Mover\u2013Leaver model, data dictionary, attribute-to-role transformation matrix, interface specification, exception flows, reconciliation criteria, test plan, RACI matrix, and as-built documentation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Scope and responsibilities<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The contract should state who provides data, who configures rules, who approves roles, who handles rejected records, who monitors divergence, who maintains documentation, and who accepts each stage. Poorly defined interfaces create gaps because each supplier may assume a responsibility belongs to another party.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Development, configuration, infrastructure, testing, and assisted operation should also be separated. A technically complete integration may remain operationally immature if the internal team has not received runbooks, matrices, contacts, and diagnostic procedures.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Measurement and acceptance criteria<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Contract milestones may be tied to approved requirements, validated architecture, integration in homologation, completed FAT, completed SAT, delivered documentation, and completion of assisted operation. This reduces the risk of measuring only software installation without proving process behavior.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Acceptance criteria should define sample, mandatory cases, evidence, tolerances, and treatment of nonconformities. Relevant implementation changes must enter change management so documentation and tests remain consistent.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Assisted operation and handover<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In the first real cycles, insufficient data quality, misunderstood groups, recurring exceptions, or processing times that differ from the laboratory are common. Assisted operation should monitor indicators, tune alerts, and close issues before final handover.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Handover should include diagrams, data dictionary, role matrices, error catalog, reconciliation procedures, test cases, and responsible parties. Without these artifacts, the organization may remain dependent on the integrator to interpret a solution that should already be under the owner&#8217;s governance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Recertification and evolution<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Even with automation, permissions must be recertified. Critical areas, privileged roles, and external populations may require more frequent review. Recertification helps identify old exceptions and changes that occurred outside the expected flow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The process must also follow changes in corporate systems. New fields, reorganizations, interface versions, and policy changes should undergo impact analysis and regression testing. Governance continues after go-live.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Operational indicators<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Provisioning time, revocation time, percentage of automated events, pending records, identities without a source, role divergences, manual exceptions, and mean reconciliation time help show where the process is no longer keeping pace with the organization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The objective is not to create a bureaucratic dashboard. Indicators should reveal risk and guide action: for example, a small number of pending terminations may be more critical than thousands of successfully processed additions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Specification, implementation, and acceptance checklist<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before procurement or production release, it is useful to confirm that critical decisions are actually documented. The checklist does not replace the design, but it helps identify gaps that often emerge only during commissioning or operation.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Sources of truth defined for identity, relationship, and attributes.<\/li><li>Persistent identifier defined across systems.<\/li><li>Joiner, Mover, and Leaver events documented.<\/li><li>Transformation rules among attributes, roles, zones, and schedules.<\/li><li>Additional approvals defined for critical areas.<\/li><li>Handling defined for third parties and exceptions.<\/li><li>Maximum propagation time defined by event type.<\/li><li>Behavior during outages documented.<\/li><li>Reconciliation process and divergence handling defined.<\/li><li>Administrative and operational logs sufficient for audit.<\/li><li>FAT and SAT case matrix prepared.<\/li><li>Objective acceptance and retest criteria defined.<\/li><li>As-built documentation and handover procedures planned.<\/li><li>Operational indicators and recertification defined.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The checklist also supports oversight. Each item should point to an artifact, requirement, or test, avoiding generic answers such as \u201cthe system supports it.\u201d Acceptance must demonstrate the configuration actually delivered.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">When specialized support becomes necessary<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Complexity increases with multiple sites, different populations, critical areas, high turnover, legacy integrations, accumulated manual rules, or platform migration. In these scenarios, the integration is no longer an isolated configuration and requires requirements engineering, architecture, interface review, and commissioning.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Specialized support is also useful when data authority is unclear, termination propagation is delayed, exceptions are growing, or the organization cannot prove why a given person has a particular authorization. These signs point to a governance problem, not merely a software problem.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What to require from the final deliverable<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">At the end, the organization should receive a set of artifacts that allows it to operate and evolve the integration: updated diagrams, source matrix, data dictionary, transformation rules, profiles and zones, exception flows, reconciliation procedures, FAT\/SAT results, closed-issue list, relevant parameters, and responsibilities.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This set reduces dependence on tacit knowledge and creates a foundation for audit, maintenance, expansion, and future migrations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final considerations<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A mature corporate integration must produce predictable, traceable, and testable authorization states. Its value lies in process governance, not merely in data exchange among platforms.<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Refer\u00eancias t\u00e9cnicas<\/summary>\n<p class=\"wp-block-paragraph\">[1] INTERNATIONAL ELECTROTECHNICAL COMMISSION. IEC 60839-11-1:2013 \u2014 Alarm and electronic security systems \u2014 Electronic access control systems. Dispon\u00edvel em: <a href=\"https:\/\/webstore.iec.ch\/en\/publication\/3662\">https:\/\/webstore.iec.ch\/en\/publication\/3662<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2] IETF. RFC 4511 \u2014 Lightweight Directory Access Protocol (LDAP): The Protocol. Dispon\u00edvel em: <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc4511\">https:\/\/www.rfc-editor.org\/rfc\/rfc4511<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[3] IETF. RFC 7644 \u2014 System for Cross-domain Identity Management: Protocol. Dispon\u00edvel em: <a href=\"https:\/\/www.rfc-editor.org\/info\/rfc7644\/\">https:\/\/www.rfc-editor.org\/info\/rfc7644\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[4] NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY. SP 800-53 Rev. 5 \u2014 Security and Privacy Controls for Information Systems and Organizations. Dispon\u00edvel em: <a href=\"https:\/\/csrc.nist.gov\/pubs\/sp\/800\/53\/r5\/upd1\/final\">https:\/\/csrc.nist.gov\/pubs\/sp\/800\/53\/r5\/upd1\/final<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[5] MICROSOFT. Lifecycle Workflows \u2014 Joiner, Mover, Leaver. Dispon\u00edvel em: <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/id-governance\/understanding-lifecycle-workflows\">https:\/\/learn.microsoft.com\/en-us\/entra\/id-governance\/understanding-lifecycle-workflows<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[6] BRASIL. Lei n\u00ba 13.709\/2018 \u2014 Lei Geral de Prote\u00e7\u00e3o de Dados Pessoais. Dispon\u00edvel em: <a href=\"https:\/\/www.planalto.gov.br\/ccivil_03\/_ato2015-2018\/2018\/lei\/l13709.htm\">https:\/\/www.planalto.gov.br\/ccivil_03\/_ato2015-2018\/2018\/lei\/l13709.htm<\/a><\/p>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Perguntas frequentes<\/summary>\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-should-active-directory-be-the-source-of-truth-f-1e5f7f2a\"><strong class=\"schema-faq-question\">Should Active Directory be the source of truth for physical access?<\/strong> <p class=\"schema-faq-answer\">Not necessarily. The directory maintains identities and logical groups; organizational relationship and attributes may come from HR, while the EACS applies physical authorization.<\/p><\/div><div class=\"schema-faq-section\" id=\"faq-question-does-scim-replace-ldap-fd0a28fd\"><strong class=\"schema-faq-question\">Does SCIM replace LDAP?<\/strong> <p class=\"schema-faq-answer\">No. LDAP is a protocol for access to directory services; SCIM was standardized for cross-domain identity management. They perform different functions and may coexist.<\/p><\/div><div class=\"schema-faq-section\" id=\"faq-question-should-an-hr-termination-block-the-physical-poin-269ef146\"><strong class=\"schema-faq-question\">Should an HR termination block the physical point immediately?<\/strong> <p class=\"schema-faq-answer\">The required time should be defined according to risk. What matters is measuring the time between the termination event and effective revocation at the relevant physical points.<\/p><\/div><div class=\"schema-faq-section\" id=\"faq-question-how-should-third-parties-without-an-active-direc-9ea4bc68\"><strong class=\"schema-faq-question\">How should third parties without an Active Directory account be handled?<\/strong> <p class=\"schema-faq-answer\">The architecture should maintain a dedicated source for external identities, with sponsor, company, relationship, validity, and permission rules, integrating it with the EACS directly or through a governance layer.<\/p><\/div><div class=\"schema-faq-section\" id=\"faq-question-how-should-integration-between-corporate-identit-5824cc52\"><strong class=\"schema-faq-question\">How should integration between corporate identity and physical access be tested?<\/strong> <p class=\"schema-faq-answer\">With joiner, mover, and leaver scenarios, invalid records, outages, restoration of communication, reconciliation, and verification of the result on actual hardware.<\/p><\/div><\/div>\n<\/details>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Materiais t\u00e9cnicos complementares<\/summary>\n<h4 class=\"wp-block-heading\">Servi\u00e7os relacionados<\/h4>\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/a3aengenharia.com.br\/servicos\/planejamento\/programa-necessidades-requisitos-engenharia\/\">Engineering Needs and Requirements Program<\/a><\/li><li><a href=\"https:\/\/a3aengenharia.com.br\/servicos\/planejamento\/projeto-de-controle-de-acesso\/\">Access Control Design<\/a><\/li><li><a href=\"https:\/\/a3aengenharia.com.br\/servicos\/planejamento\/revisao-validacao-tecnica-projetos-design-review\/\">Engineering Design Review<\/a><\/li><li><a href=\"https:\/\/a3aengenharia.com.br\/servicos\/planejamento\/projeto-de-rede-logica-e-redes-corporativas\/\">Logical Network and Corporate Network Design<\/a><\/li><li><a href=\"https:\/\/a3aengenharia.com.br\/servicos\/servicos-transversais\/comissionamento-de-equipamentos\/\">Equipment Commissioning<\/a><\/li><\/ul>\n\n<h4 class=\"wp-block-heading\">Conte\u00fados principais sobre o tema<\/h4>\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/a3aengenharia.com.br\/conteudo\/guias-tecnicos\/guia-completo-sobre-controle-de-acesso\/\">Access Control System: Types, Technologies, Standards, and Design<\/a><\/li><li><a href=\"https:\/\/a3aengenharia.com.br\/conteudo\/artigos-tecnicos\/ciclo-vida-credenciais-controle-acesso-emissao-revogacao-expiracao\/\">Credential Lifecycle in Access Control<\/a><\/li><li><a href=\"https:\/\/a3aengenharia.com.br\/conteudo\/artigos-tecnicos\/api-webhooks-middleware-controle-de-acesso\/\">APIs, Webhooks, and Middleware in Access Control<\/a><\/li><li><a href=\"https:\/\/a3aengenharia.com.br\/conteudo\/artigos-tecnicos\/autenticacao-multifator-controle-de-acesso-fisico\/\">Multifactor Authentication in Physical Access Control<\/a><\/li><li><a href=\"https:\/\/a3aengenharia.com.br\/conteudo\/artigos-tecnicos\/gestao-visitantes-controle-de-acesso\/\">Visitor Management Integrated with Access Control<\/a><\/li><\/ul>\n\n<h4 class=\"wp-block-heading\">Conte\u00fados t\u00e9cnicos correlatos<\/h4>\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/a3aengenharia.com.br\/conteudo\/artigos-tecnicos\/cadastro-biometrico-controle-de-acesso-enrollment\/\">Biometric Enrollment in Access Control<\/a><\/li><li><a href=\"https:\/\/a3aengenharia.com.br\/conteudo\/artigos-tecnicos\/matriz-funcional-controle-de-acesso-como-especificar-cada-ponto\/\">Functional Matrix for Access Control<\/a><\/li><li><a href=\"https:\/\/a3aengenharia.com.br\/conteudo\/artigos-tecnicos\/comissionamento-controle-de-acesso-iec-60839\/\">Commissioning Access Control in Accordance with IEC 60839<\/a><\/li><li><a href=\"https:\/\/a3aengenharia.com.br\/conteudo\/artigos-tecnicos\/abnt-nbr-iec-60839-controle-de-acesso-requisitos\/\">ABNT NBR IEC 60839: Requirements for Access Control Systems<\/a><\/li><\/ul>\n<\/details>\n","protected":false},"excerpt":{"rendered":"<p>Integration between physical access control, HR, Active Directory, and IAM: sources of truth, Joiner-Mover-Leaver, APIs, security, testing, and acceptance.<\/p>\n","protected":false},"author":1,"featured_media":79001,"parent":0,"template":"","meta":{"_a3a_global_related_solutions":[],"_a3a_global_related_services":[],"_a3a_global_related_materials":[],"_a3a_post_lang":"en-us","_a3a_translation_group_id":"0cf76c6e-4257-42b4-8bab-31aeeef5c3ca","_a3a_i18n_canonical_slug":"hr-active-directory-iam-physical-identity-integration","_a3a_prod_post_id":"","_a3a_lang_url_en-us":"","_a3a_lang_url_es-es":""},"categories":[],"segments":[],"mercados":[],"etapas":[],"class_list":["post-74963","articles","type-articles","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/articles\/74963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/articles"}],"about":[{"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/types\/articles"}],"author":[{"embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":1,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/articles\/74963\/revisions"}],"predecessor-version":[{"id":74964,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/articles\/74963\/revisions\/74964"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/media\/79001"}],"wp:attachment":[{"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/media?parent=74963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/categories?post=74963"},{"taxonomy":"segments","embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/segments?post=74963"},{"taxonomy":"mercados","embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/mercados?post=74963"},{"taxonomy":"etapas","embeddable":true,"href":"https:\/\/a3aengenharia.com\/en-us\/wp-json\/wp\/v2\/etapas?post=74963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}