Bird
Raised Fist0
Azurecloud~5 mins

Network Security Groups (NSG) in Azure - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Network Security Groups (NSG)
O(n + m)
Understanding Time Complexity

When managing Network Security Groups (NSGs), it is important to understand how the time to apply rules grows as you add more rules or associate NSGs with more resources.

We want to know how the number of operations changes when the NSG configuration grows.

Scenario Under Consideration

Analyze the time complexity of applying multiple NSG rules to multiple network interfaces.


# Create NSG
az network nsg create --resource-group MyResourceGroup --name MyNSG

# Add multiple rules
for i in $(seq 1 $n); do
  az network nsg rule create --resource-group MyResourceGroup --nsg-name MyNSG --name Rule$i --priority $((100 + i)) --access Allow --direction Inbound --protocol Tcp --source-address-prefixes '*' --source-port-ranges '*' --destination-address-prefixes '*' --destination-port-ranges 80
done

# Associate NSG to multiple NICs
for j in $(seq 1 $m); do
  az network nic update --resource-group MyResourceGroup --name Nic$j --network-security-group MyNSG
done

This sequence creates one NSG, adds n rules to it, and associates it with m network interfaces.

Identify Repeating Operations

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

  • Primary operation: Creating NSG rules and associating NSG to NICs.
  • How many times: Rule creation happens n times; NIC update happens m times.
How Execution Grows With Input

As you add more rules (n) or associate with more NICs (m), the number of API calls grows linearly with both.

Input Size (n rules, m NICs)Approx. Api Calls/Operations
10 rules, 10 NICs~20 calls (10 rule creates + 10 NIC updates)
100 rules, 100 NICs~200 calls
1000 rules, 1000 NICs~2000 calls

Pattern observation: Doubling rules or NICs roughly doubles the total operations.

Final Time Complexity

Time Complexity: O(n + m)

This means the time to complete all operations grows directly with the number of rules plus the number of NICs.

Common Mistake

[X] Wrong: "Adding more rules does not affect the time because the NSG is a single resource."

[OK] Correct: Each rule requires a separate API call to create, so more rules mean more operations and more time.

Interview Connect

Understanding how NSG operations scale helps you design efficient network security setups and shows you can reason about cloud resource management in real projects.

Self-Check

What if we grouped multiple rules into fewer NSGs and associated each NSG with fewer NICs? How would the time complexity change?

Practice

(1/5)
1. What is the primary purpose of an Azure Network Security Group (NSG)?
easy
A. To monitor application performance
B. To store data securely in Azure Blob Storage
C. To control inbound and outbound traffic to Azure resources
D. To manage user identities and access

Solution

  1. Step 1: Understand NSG function

    NSGs are designed to filter network traffic to and from Azure resources.
  2. Step 2: Identify correct purpose

    They do not store data, manage identities, or monitor performance.
  3. Final Answer:

    To control inbound and outbound traffic to Azure resources -> Option C
  4. Quick Check:

    NSG controls traffic [OK]
Hint: NSG controls network traffic, not data or users [OK]
Common Mistakes:
  • Confusing NSG with storage or identity services
  • Thinking NSG monitors performance
  • Assuming NSG stores data
2. Which of the following is the correct way to specify a rule priority in an NSG rule?
easy
A. Priority is a string describing the rule
B. Priority is an IP address range
C. Priority is a boolean value true or false
D. Priority must be a unique integer between 100 and 4096

Solution

  1. Step 1: Understand NSG rule priority format

    NSG rule priority is a unique integer between 100 and 4096 that determines rule evaluation order.
  2. Step 2: Eliminate incorrect types

    Priority is not a string, boolean, or IP range.
  3. Final Answer:

    Priority must be a unique integer between 100 and 4096 -> Option D
  4. Quick Check:

    Priority = integer 100-4096 [OK]
Hint: Priority is a number from 100 to 4096 [OK]
Common Mistakes:
  • Using strings or booleans for priority
  • Confusing priority with IP ranges
  • Not using unique priority numbers
3. Given this NSG rule:
Priority: 200, Direction: Inbound, Access: Deny, Source: Any, Destination: 10.0.0.4, Protocol: TCP, Port: 22
What happens when a user tries to SSH (port 22) to 10.0.0.4?
medium
A. The connection is denied
B. The connection is allowed only if from a specific IP
C. The connection is allowed
D. The connection is logged but allowed

Solution

  1. Step 1: Analyze rule details

    The rule denies inbound TCP traffic on port 22 to destination 10.0.0.4 from any source.
  2. Step 2: Determine effect on SSH connection

    SSH uses TCP port 22, so the connection attempt matches the deny rule and is blocked.
  3. Final Answer:

    The connection is denied -> Option A
  4. Quick Check:

    Deny inbound TCP port 22 = connection denied [OK]
Hint: Deny inbound on port 22 blocks SSH connections [OK]
Common Mistakes:
  • Assuming 'Any' source means allow
  • Confusing deny with logging
  • Ignoring direction and port in rule
4. You created an NSG rule to allow inbound HTTP traffic on port 80, but the traffic is still blocked. What is the most likely cause?
medium
A. The NSG is not attached to the subnet or network interface
B. A higher priority deny rule blocks port 80 traffic
C. The source IP address is not specified
D. The protocol is set to UDP instead of TCP

Solution

  1. Step 1: Check rule priority and conflicts

    NSG rules are evaluated by priority; a deny rule with higher priority can block traffic despite allow rules.
  2. Step 2: Confirm rule attachment and protocol

    While attachment and protocol matter, the most common cause is a conflicting higher priority deny rule.
  3. Final Answer:

    A higher priority deny rule blocks port 80 traffic -> Option B
  4. Quick Check:

    Higher priority deny overrides allow [OK]
Hint: Check for higher priority deny rules first [OK]
Common Mistakes:
  • Ignoring rule priority order
  • Assuming NSG attachment is always correct
  • Confusing protocol types
5. You want to restrict access so only a specific IP address (203.0.113.5) can access a VM on port 3389 (RDP). Which NSG rule configuration achieves this securely?
hard
A. Priority: 300, Direction: Inbound, Access: Allow, Source: 203.0.113.5, Destination: Any, Protocol: TCP, Port: 3389
B. Priority: 100, Direction: Inbound, Access: Deny, Source: Any, Destination: Any, Protocol: TCP, Port: 3389
C. Priority: 200, Direction: Inbound, Access: Allow, Source: Any, Destination: Any, Protocol: TCP, Port: 3389
D. Priority: 400, Direction: Outbound, Access: Allow, Source: 203.0.113.5, Destination: Any, Protocol: TCP, Port: 3389

Solution

  1. Step 1: Allow only specific IP inbound on port 3389

    Priority: 300, Direction: Inbound, Access: Allow, Source: 203.0.113.5, Destination: Any, Protocol: TCP, Port: 3389 allows inbound TCP traffic on port 3389 only from IP 203.0.113.5, which matches the requirement.
  2. Step 2: Check other options for correctness

    Priority: 100, Direction: Inbound, Access: Deny, Source: Any, Destination: Any, Protocol: TCP, Port: 3389 denies all inbound TCP 3389 traffic, blocking access. Priority: 200, Direction: Inbound, Access: Allow, Source: Any, Destination: Any, Protocol: TCP, Port: 3389 allows all sources, which is insecure. Priority: 400, Direction: Outbound, Access: Allow, Source: 203.0.113.5, Destination: Any, Protocol: TCP, Port: 3389 is outbound, irrelevant for inbound access.
  3. Final Answer:

    Priority: 300, Direction: Inbound, Access: Allow, Source: 203.0.113.5, Destination: Any, Protocol: TCP, Port: 3389 -> Option A
  4. Quick Check:

    Allow inbound TCP 3389 from specific IP [OK]
Hint: Allow inbound from specific IP, deny others by priority [OK]
Common Mistakes:
  • Allowing all sources instead of specific IP
  • Using outbound direction instead of inbound
  • Denying all traffic without exception
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