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: articles/operator-service-manager/configuration-guide.md
+68-35Lines changed: 68 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,12 +94,14 @@ This example shows the rendered CGV resource created after the CGV deployment co
94
94
## CGS with secrets
95
95
Other than separating secrets into a unique CGS, no special requirements exist for CGS secret support.
96
96
97
-
## CGV with secrets
98
-
Consider the following Azure Resource Manager (ARM) template requirements when creating a CGV to properly obscure secret values throughout the entire CGV resource lifecycle.
97
+
## CGV with secrets without AKV
98
+
Where AKV is not being useed, consider the following CGV Azure Resource Manager (ARM) template requirements to properly obscure secret values throughout CGV resource lifecycle.
99
+
100
+
* Define a object paramerter `secretCgvContent` with `"type": "secureObject"` to contain all secrets.
101
+
* Before a CGV is deployed, this configuration obscures the display of secrets as template parameters.
102
+
103
+
This example shows how to define a object paremter `secretCgvContent` to contain all secrets.
99
104
100
-
* Use `"type": "secureObject"` in the template for type of the `secretCgvContent` parameter
101
-
* This configuration obscures the CGV play of the secrets as template parameters.
102
-
103
105
```json
104
106
"parameters": {
105
107
"secretCgvContent": {
@@ -109,10 +111,12 @@ Consider the following Azure Resource Manager (ARM) template requirements when c
109
111
```
110
112
111
113
> [!NOTE]
112
-
> * Do not hydrate `secretCgvContent` using the loadJsonContent() function in bicep as this will expose the data using insecure variables.
114
+
> * Do not hydrate `secretCgvContent` using the bicep loadJsonContent() function as it forces the use of insecure variables.
113
115
114
-
* Use `configurationType: 'Secret'` and `"secretDeploymentValues": "[string(parameters('secretCgvContent'))]"` in the template under CGV resource properties.
115
-
* Once a CGV is deployed, this configuration prevents displaying the secret data via most Azure methods.
116
+
* Under CGV resource properties use `configurationType: 'Secret'` and `"secretConfigurationValue": "[string(parameters('secretCgvContent'))]"`.
117
+
* Once a CGV is deployed, this configuration prevents displaying the secret data via most Azure user interfaces.
118
+
119
+
This example shows how to pass all secrets in the object `secretCgvContent` to the new CGV.
116
120
117
121
```json
118
122
{
@@ -124,23 +128,64 @@ Consider the following Azure Resource Manager (ARM) template requirements when c
124
128
}
125
129
```
126
130
131
+
## CGV with secrets with AKV
132
+
Where AKV is being useed, consider the following CGV Azure Resource Manager (ARM) template requirements to properly obscure secret values throughout CGV resource lifecycle.
133
+
134
+
* Define a string `parameter` for each secret and one object `variable` to collect all secret values.
135
+
* The object variable contains only a reference to the parameter string and exposes no secrets.
136
+
137
+
This example shows how to define a paremter `secretPassword` contained within the object variable `secretVal.configurationValue`.
138
+
139
+
```json
140
+
"parameters": {
141
+
"secretPassword": {
142
+
"type": "string"
143
+
}
144
+
}
145
+
"variables": {
146
+
"configurationValue": {
147
+
"secretValues": {
148
+
"elastic_passwd": "secretPassword"
149
+
}
150
+
}
151
+
}
152
+
```
153
+
127
154
* Use a template reference to Azure Key Vault (AKV) in place of the plain-text secret.
128
-
*This configuration obscures the display of the secrets as template variables.
155
+
*Before the CGV is deployed, this configuration obscures the display of the secrets as template variables.
129
156
130
-
This example shows how to include an AKV reference to a secret named `secretName` in an ARM template.
157
+
This example shows how to hydrate the secret `secretPassword` using Azure Key Vault secret and key.
Consider the following Azure Resource Manager (ARM) template requirements when creating a NF to properly obscure secret values throughout the entire NF resource lifecycle.
188
+
Consider the following Azure Resource Manager (ARM) template requirements when creating a network function to properly obscure secret values throughout network function resource lifecycle.
144
189
145
190
* Use `"type": "secureObject"` in the template for type of the `secretValues` and `config` parameter
146
191
* This configuration obscures the display of the secrets as template parameters.
@@ -149,7 +194,7 @@ Consider the following Azure Resource Manager (ARM) template requirements when c
149
194
"parameters": {
150
195
"siteSpecificValues": {
151
196
"type": "object"
152
-
},
197
+
},
153
198
"secretValues": {
154
199
"type": "secureObject"
155
200
},
@@ -163,35 +208,23 @@ Consider the following Azure Resource Manager (ARM) template requirements when c
163
208
}
164
209
```
165
210
166
-
* Use `configurationType: 'Secret'` and `"secretDeploymentValues": "[string(parameters('secretCgvContent'))]"` in the template under CGV resource properties.
167
-
* Once a CGV is deployed, this configuration prevents displaying the secret data via most Azure methods.
> * Do not hydrate `secretCgvContent` using the loadJsonContent() function in bicep as this will expose the data using insecure variables.
212
+
> * Do not hydrate `secretCgvContent` using the bicep loadJsonContent() function as it forces the use of insecure variables.
178
213
179
-
* Use `configurationType: 'Secret'` and `"secretDeploymentValues": "[string(parameters('secretCgvContent'))]"` in the template under CGV resource properties.
180
-
* Once a CGV is deployed, this configuration prevents displaying the secret data via most Azure methods.
214
+
* Under networkFunctions resource properties use `configurationType: 'Secret'` and `"secretDeploymentValues": "[string(parameters('config'))]"`.
215
+
* Once a network function is deployed, this configuration prevents displayed the secret data via most Azure user interfaces.
> * ARM templates only support Azure Key Vault for secret reference substitution.
195
228
> * Consider restricting access to the role based access control (RBAC) scope `Microsoft.Resources/deployments/exportTemplate/action` to only admin roles.
0 commit comments