Skip to content

Commit 06f9c41

Browse files
committed
Update documentation
1 parent cb133db commit 06f9c41

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

README.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,46 @@ This repository provides a scalable baseline for Azure Functions written in Pyth
55
1. A compliant infrastructure baseline written in Terraform,
66
2. A Python code baseline that follows best practices and
77
3. A safe rollout mechanism of code artifacts.
8+
9+
## Infrastructure
10+
11+
The infrastructure as code (IaC) is written in Terraform and uses all the latest and greatest Azure Function features to ensure high security standards and the lowest attack surface possible. The code can be found in the [`/code/infra` folder](/code/infra/) and creates the following resources:
12+
13+
* App Service Plan,
14+
* Azure Function,
15+
* Azure Storage Account,
16+
* Azure Key Vault,
17+
* Azure Application Insights and
18+
* Azure Log Analytics Workspace.
19+
20+
The Azure Function is configured in a way to fulfill highest compliance standards. In addition, the end-to-end setup takes care of wiring up all services to ensure a productive experience on day one. For instance, the Azure Function is automatically being connected to Azure Application Insights and the Application Insights service is being connected to the Azure Log Analytics Workspace.
21+
22+
### Network configuration
23+
24+
The deployed services ensure a compliant network setup using the following features:
25+
26+
* Public network access is denied for all services.
27+
* All deployed services rely on Azure Private Endpoints for all network flows including deployments and usage of the services.
28+
29+
### Authentication & Authorization
30+
31+
The deployed services ensure a compliant authentication & authorization setup using the following features:
32+
33+
* No key-based or local/basic authentication flows.
34+
* Azure AD-only authentication.
35+
* All authorization is controlled by Azure RBAC.
36+
* This includes the interaction of the Azure Function with the Azure Storage Account and the Azure Key Vault.
37+
38+
### Encryption
39+
40+
The deployed services ensure a compliant encryption setup using the following features:
41+
42+
* Encryption at rest using 256-bit AES (FIPS 140-2).
43+
* HTTPS traffic only.
44+
* All traffic is encrypted using TLS 1.2.
45+
* Note: Customer-manaed keys are not used at this point in time but can be added easily.
46+
* Note: Cypher suites are set to default and can further be limited.
47+
48+
## Azure Function Code
49+
50+
TODO

code/infra/vars.dev.tfvars

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ location = "northeurope"
22
environment = "dev"
33
prefix = "myfunc"
44
tags = {}
5+
python_version = "3.10"
56
vnet_id = "/subscriptions/8f171ff9-2b5b-4f0f-aed5-7fa360a1d094/resourceGroups/mycrp-prd-function-network-rg/providers/Microsoft.Network/virtualNetworks/mycrp-prd-function-vnet001"
67
nsg_id = "/subscriptions/8f171ff9-2b5b-4f0f-aed5-7fa360a1d094/resourceGroups/mycrp-prd-function-network-rg/providers/Microsoft.Network/networkSecurityGroups/mycrp-prd-function-nsg001"
78
route_table_id = "/subscriptions/8f171ff9-2b5b-4f0f-aed5-7fa360a1d094/resourceGroups/mycrp-prd-function-network-rg/providers/Microsoft.Network/routeTables/mycrp-prd-function-rt001"

0 commit comments

Comments
 (0)