You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/deployment/infrastructure.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,7 @@ The following things in Azure are managed outside of Terraform:
12
12
- Active Directory (users, groups, service principals, etc.)
13
13
- Service connections
14
14
- Configuration files, stored as blobs
15
+
- Role assignments
15
16
16
17
## Environments
17
18
@@ -136,3 +137,24 @@ In general, the steps that must be done manually before the pipeline can be run
136
137
- Create Terraform workspace for each environment
137
138
- Trigger a pipeline run to verify `plan` and `apply`
138
139
- Known chicken-and-egg problem: Terraform both creates the Key Vault and expects a secret within it, so will always fail on the first deploy. Add the Benefits slack email secret and re-run the pipeline.
140
+
141
+
Once the pipeline has run, there are a few more steps to be done manually in the Azure portal. These are related to configuring the service principal used for ETL:
142
+
143
+
-[Create the service principal](https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal#app-registration-app-objects-and-service-principals)
144
+
- Give the ETL service principal access to the `prod` storage account created by the pipeline:
145
+
- Navigate to the storage account container
146
+
- Select **Access Control (IAM)**
147
+
- Select **Add**, then select **Add role assignment**
148
+
- In the **Role** tab, select `Storage Blob Data Contributor`
149
+
- In the **Members** tab, select `Select Members` and search for the ETL service principal. Add it to the role.
150
+
- Also in the **Members** tab, add a description of `This role assignment gives write access only for the path of the hashed data file.`
151
+
- In the **Conditions** tab, select **Add condition** and change the editor type to `Code`
152
+
- Add the following condition into the editor, filling in `<filename>` with the appropriate value:
Copy file name to clipboardExpand all lines: terraform/variables.tf
-10Lines changed: 0 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -8,16 +8,6 @@ variable "AGENCY_CARD" {
8
8
type=string
9
9
}
10
10
11
-
variable"AGENCY_CARD_DATA_ETL_APP_OBJECT_ID" {
12
-
description="Object ID from the registered application for the Agency Card server ETL uploading: https://cloudsight.zendesk.com/hc/en-us/articles/360016785598-Azure-finding-your-service-principal-object-ID"
13
-
type=string
14
-
}
15
-
16
-
variable"AGENCY_CARD_DATA_ETL_FILE" {
17
-
description="The name of the hashed data file that's uploaded to the storage account"
18
-
type=string
19
-
}
20
-
21
11
variable"AGENCY_RESOURCE_GROUP_PREFIX" {
22
12
description="The prefix to the name of the resource group for each environment"
0 commit comments