Skip to content

Latest commit

 

History

History
11 lines (9 loc) · 2.8 KB

File metadata and controls

11 lines (9 loc) · 2.8 KB

IMPORTANT: DevOps Kit (AzSK) is being sunset by end of FY21. More details here


CosmosDB

Description & RationaleControlSeverityAutomatedFix Script
Cosmos DB firewall should be enabled
Using the firewall feature ensures that access to the data or the service is restricted to a specific set/group of clients. While this may not be feasible in all scenarios, when it can be used, it provides an extra layer of access control protection for critical assets.
HighYesNo
Configure only the required IP addresses on Cosmos DB firewall
Using the firewall feature ensures that access to the data or the service is restricted to a specific set/group of clients. For effective usage, whitelist only the required IPs. Whitelisting larger ranges like 0.0.0.0/0, 0.0.0.0/1, 128.0.0.0/1, etc. will defeat the purpose.
HighYesNo
Do not use 'Eventual' consistency
Using Eventual consistency might cause undesired effects due to its ordering guarantees. This consistency is the weakest of all and the values returned in reads are always not guaranteed to be latest write.
HighYesNo
Use global replication
Replication ensures continuity and rapid recovery during disasters.
MediumYesNo
Use automatic failover
Automatic failover ensures continuity and auto recovery during disasters.
MediumYesNo
Use parameterized SQL queries
Parameterized SQL queries nullify the possibility of SQL injection by pre-compiling the query. This will treat user input values purely as data.
HighNoNo
CosmosDb Account keys must be rotated periodically
Periodic key/password rotation is a good security hygiene practice as, over time, it minimizes the likelihood of data loss/compromise which can arise from key theft/brute forcing/recovery attacks.
MediumNoNo
Generate resource tokens with just enough privileges and expiry needed by clients
Using appropriate ACLs ensures that data is protected and accessible only to the entities with the appropriate level of access.
HighNoNo
Do not send resource token with read write (RW) permission to untrusted clients
An untrusted client might use the read-write resource tokens that it received to make undesirable updates to the resource.
HighNoNo