CAPolicies
Session Control

CA402-GuestUsers-IdentityProtection-AllApps-AnyPlatform-SigninFrequency

Sign-in frequency enforced

About this policy

The CA402-GuestUsers-IdentityProtection-AllApps-AnyPlatform-SigninFrequency policy makes external users reauthenticate every twelve hours across all cloud apps. You have far less visibility of what happens to a guest account in its home tenant, so keeping session lifetimes short in your environment limits how long a compromised guest identity can keep quietly working against you. All external user types are included, and twelve hours keeps the experience reasonable for partners collaborating with you through a normal working day.

Policy conditions

Users
Specific users
Apps
All cloud apps

JSON template

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#identity/conditionalAccess/policies/$entity",
  "@odata.type": "#microsoft.graph.conditionalAccessPolicy",
  "@odata.id": "identity/conditionalAccess/policies('ecf91590-76cb-479b-a19a-a09e1031397f')",
  "@odata.editLink": "identity/conditionalAccess/policies('ecf91590-76cb-479b-a19a-a09e1031397f')",
  "templateId": null,
  "displayName": "CA402-GuestUsers-IdentityProtection-AllApps-AnyPlatform-SigninFrequency",
  "createdDateTime@odata.type": "#DateTimeOffset",
  "modifiedDateTime@odata.type": "#DateTimeOffset",
  "state@odata.type": "#microsoft.graph.conditionalAccessPolicyState",
  "state": "enabled",
  "deletedDateTime": null,
  "grantControls": null,
  "partialEnablementStrategy": null,
  "conditions": {
    "@odata.type": "#microsoft.graph.conditionalAccessConditionSet",
    "userRiskLevels@odata.type": "#Collection(microsoft.graph.riskLevel)",
    "userRiskLevels": [],
    "signInRiskLevels@odata.type": "#Collection(microsoft.graph.riskLevel)",
    "signInRiskLevels": [],
    "clientAppTypes@odata.type": "#Collection(microsoft.graph.conditionalAccessClientApp)",
    "clientAppTypes": [
      "all"
    ],
    "platforms": null,
    "locations": null,
    "times": null,
    "deviceStates": null,
    "devices": null,
    "clientApplications": null,
    "agents": null,
    "applications": {
      "@odata.type": "#microsoft.graph.conditionalAccessApplications",
      "includeApplications@odata.type": "#Collection(String)",
      "includeApplications": [
        "All"
      ],
      "excludeApplications@odata.type": "#Collection(String)",
      "excludeApplications": [],
      "includeUserActions@odata.type": "#Collection(String)",
      "includeUserActions": [],
      "includeAuthenticationContextClassReferences@odata.type": "#Collection(String)",
      "includeAuthenticationContextClassReferences": [],
      "applicationFilter": null
    },
    "users": {
      "@odata.type": "#microsoft.graph.conditionalAccessUsers",
      "includeUsers@odata.type": "#Collection(String)",
      "includeUsers": [],
      "excludeUsers@odata.type": "#Collection(String)",
      "excludeUsers": [],
      "includeGroups@odata.type": "#Collection(String)",
      "includeGroups": [],
      "excludeGroups@odata.type": "#Collection(String)",
      "excludeGroups": [
        "2802b872-ccfb-4b29-a9a9-459808dfb11b",
        "0e4ab0ed-e589-46ad-80a2-f913b6b6b0ed"
      ],
      "includeRoles@odata.type": "#Collection(String)",
      "includeRoles": [],
      "excludeRoles@odata.type": "#Collection(String)",
      "excludeRoles": [],
      "excludeGuestsOrExternalUsers": null,
      "includeGuestsOrExternalUsers": {
        "@odata.type": "#microsoft.graph.conditionalAccessGuestsOrExternalUsers",
        "guestOrExternalUserTypes@odata.type": "#microsoft.graph.conditionalAccessGuestOrExternalUserTypes",
        "guestOrExternalUserTypes": "internalGuest,b2bCollaborationGuest,b2bCollaborationMember,b2bDirectConnectUser,otherExternalUser,serviceProvider",
        "externalTenants": {
          "@odata.type": "#microsoft.graph.conditionalAccessAllExternalTenants",
          "membershipKind@odata.type": "#microsoft.graph.conditionalAccessExternalTenantsMembershipKind",
          "membershipKind": "all"
        }
      }
    }
  },
  "sessionControls": {
    "@odata.type": "#microsoft.graph.conditionalAccessSessionControls",
    "disableResilienceDefaults": null,
    "applicationEnforcedRestrictions": null,
    "cloudAppSecurity": null,
    "persistentBrowser": null,
    "continuousAccessEvaluation": null,
    "secureSignInSession": null,
    "blockSensitiveActions": null,
    "signInFrequency": {
      "@odata.type": "#microsoft.graph.signInFrequencySessionControl",
      "value": 12,
      "type@odata.type": "#microsoft.graph.signinFrequencyType",
      "type": "hours",
      "authenticationType@odata.type": "#microsoft.graph.signInFrequencyAuthenticationType",
      "authenticationType": "primaryAndSecondaryAuthentication",
      "frequencyInterval@odata.type": "#microsoft.graph.signInFrequencyInterval",
      "frequencyInterval": "timeBased",
      "isEnabled": true
    }
  },
  "#microsoft.graph.restore": {
    "title": "microsoft.graph.restore",
    "target": "https://graph.microsoft.com/beta/identity/conditionalAccess/policies('ecf91590-76cb-479b-a19a-a09e1031397f')/microsoft.graph.restore"
  },
  "Tag": "jv-CAF-2026.2.1",
  "summary": "The CA402-GuestUsers-IdentityProtection-AllApps-AnyPlatform-SigninFrequency policy makes external users reauthenticate every twelve hours across all cloud apps. You have far less visibility of what happens to a guest account in its home tenant, so keeping session lifetimes short in your environment limits how long a compromised guest identity can keep quietly working against you. All external user types are included, and twelve hours keeps the experience reasonable for partners collaborating with you through a normal working day."
}