Bird
Raised Fist0
Azurecloud~5 mins

Policy assignments and compliance in Azure - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Policy assignments and compliance
O(n)
Understanding Time Complexity

We want to understand how the time to check policy compliance changes as we assign policies to more resources.

How does the number of policy assignments affect the work Azure does to check compliance?

Scenario Under Consideration

Analyze the time complexity of the following operation sequence.

// Assign a policy to multiple resources
for (let resource of resources) {
  await client.policyAssignments.create({
    scope: resource.id,
    policyDefinitionId: policyId
  });
}

// Check compliance state for each assignment
for (let assignment of policyAssignments) {
  await client.policyStates.listQueryResultsForResource(assignment.scope);
}

This sequence assigns a policy to many resources and then checks compliance for each assignment.

Identify Repeating Operations

Identify the API calls, resource provisioning, data transfers that repeat.

  • Primary operation: Creating policy assignments and querying compliance states.
  • How many times: Once per resource for assignment and once per assignment for compliance check.
How Execution Grows With Input

As the number of resources grows, the number of API calls grows roughly the same way.

Input Size (n)Approx. Api Calls/Operations
10About 20 calls (10 assignments + 10 compliance checks)
100About 200 calls (100 assignments + 100 compliance checks)
1000About 2000 calls (1000 assignments + 1000 compliance checks)

Pattern observation: The total work grows linearly with the number of resources.

Final Time Complexity

Time Complexity: O(n)

This means the time to assign policies and check compliance grows directly in proportion to the number of resources.

Common Mistake

[X] Wrong: "Assigning one policy to many resources is a single operation and takes the same time regardless of resource count."

[OK] Correct: Each resource requires a separate assignment and compliance check, so time grows with the number of resources.

Interview Connect

Understanding how policy assignments scale helps you design efficient governance in cloud environments and shows you can think about system behavior as it grows.

Self-Check

"What if we batch policy assignments instead of assigning one by one? How would the time complexity change?"

Practice

(1/5)
1. What is the main purpose of a policy assignment in Azure?
easy
A. To monitor network traffic in real-time
B. To create virtual machines automatically
C. To apply rules to cloud resources to control their behavior
D. To backup data to external storage

Solution

  1. Step 1: Understand policy assignment role and compare options

    Policy assignments are used to enforce rules or standards on Azure resources. Only To apply rules to cloud resources to control their behavior describes applying rules to control resource behavior, which matches policy assignments.
  2. Final Answer:

    To apply rules to cloud resources to control their behavior -> Option C
  3. Quick Check:

    Policy assignment = apply rules [OK]
Hint: Policies control resources by applying rules [OK]
Common Mistakes:
  • Confusing policy assignments with resource creation
  • Thinking policies monitor traffic or backup data
  • Mixing policy assignments with alerts or logs
2. Which of the following is the correct way to assign a policy to a resource group using Azure CLI?
easy
A. az policy assignment create --name MyPolicy --scope /subscriptions/{subId}/resourceGroups/{rgName} --policy {policyDefinitionId}
B. az policy create --name MyPolicy --resource-group {rgName} --policy {policyDefinitionId}
C. az group policy assign --name MyPolicy --resource-group {rgName} --definition {policyDefinitionId}
D. az policy assign --name MyPolicy --scope {rgName} --definition {policyDefinitionId}

Solution

  1. Step 1: Recall Azure CLI syntax for policy assignment and validate options

    The correct command uses 'az policy assignment create' with --name, --scope, and --policy parameters. az policy assignment create --name MyPolicy --scope /subscriptions/{subId}/resourceGroups/{rgName} --policy {policyDefinitionId} matches the correct syntax. Others use incorrect commands or parameters.
  2. Final Answer:

    az policy assignment create --name MyPolicy --scope /subscriptions/{subId}/resourceGroups/{rgName} --policy {policyDefinitionId} -> Option A
  3. Quick Check:

    Correct CLI syntax = az policy assignment create --name MyPolicy --scope /subscriptions/{subId}/resourceGroups/{rgName} --policy {policyDefinitionId} [OK]
Hint: Use 'az policy assignment create' with --scope for resource group [OK]
Common Mistakes:
  • Using 'az policy create' instead of 'az policy assignment create'
  • Confusing resource group with scope format
  • Using wrong parameter names like --definition
3. Given this Azure Policy assignment compliance result:
{"complianceState": "NonCompliant", "resourceId": "/subscriptions/123/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1"}
What does this indicate?
medium
A. The compliance state is unknown for vm1
B. The virtual machine vm1 follows the assigned policy rules
C. The policy assignment failed to apply to vm1
D. The virtual machine vm1 does not follow the assigned policy rules

Solution

  1. Step 1: Interpret complianceState value and match to meaning

    The value 'NonCompliant' means the resource does not meet the policy requirements. Since vm1 is NonCompliant, it does not follow the assigned policy rules.
  2. Final Answer:

    The virtual machine vm1 does not follow the assigned policy rules -> Option D
  3. Quick Check:

    NonCompliant means policy not followed [OK]
Hint: NonCompliant means resource breaks policy rules [OK]
Common Mistakes:
  • Assuming NonCompliant means policy applied successfully
  • Confusing NonCompliant with Unknown or Compliant
  • Thinking complianceState shows assignment failure
4. You assigned a policy to a subscription but the compliance report shows no data. What is the most likely cause?
medium
A. The resources are not evaluated yet or policy evaluation is delayed
B. The policy definition is missing required parameters
C. The policy assignment scope is incorrect or too broad
D. The policy assignment was created with the wrong Azure CLI command

Solution

  1. Step 1: Understand policy evaluation timing and eliminate other causes

    Policy compliance data can take time to appear after assignment due to evaluation delays. Incorrect scope or missing parameters usually cause errors, not empty compliance. Wrong CLI command would fail assignment.
  2. Final Answer:

    The resources are not evaluated yet or policy evaluation is delayed -> Option A
  3. Quick Check:

    Compliance delay causes no data [OK]
Hint: Wait for policy evaluation to update compliance data [OK]
Common Mistakes:
  • Assuming wrong CLI command always causes no data
  • Thinking missing parameters prevent compliance data
  • Ignoring evaluation delay after assignment
5. You want to enforce a policy that requires all storage accounts to have secure transfer enabled. You assign this policy at the subscription level with a parameter to exclude a specific resource group. What will happen to storage accounts in that excluded resource group?
hard
A. They will be evaluated but allowed to be non-compliant
B. They will not be evaluated or enforced by the policy
C. They will be forced to enable secure transfer regardless of exclusion
D. The policy assignment will fail due to conflicting parameters

Solution

  1. Step 1: Understand policy exclusion parameter effect and confirm behavior on excluded resources

    Excluding a resource group means resources there are not evaluated or enforced by the policy. Excluded storage accounts are ignored by the policy, so no enforcement or compliance checks occur.
  2. Final Answer:

    They will not be evaluated or enforced by the policy -> Option B
  3. Quick Check:

    Exclusion skips evaluation and enforcement [OK]
Hint: Exclusions skip policy evaluation and enforcement [OK]
Common Mistakes:
  • Thinking excluded resources are still checked but allowed
  • Assuming policy forces compliance despite exclusions
  • Believing exclusions cause assignment failure
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard