1
- import { Code , ListItem , Table , Tbody , Td , Th , Thead , Tr } from "fidesui" ;
1
+ import { ListItem } from "fidesui" ;
2
2
3
3
import {
4
+ InfoCodeBlock ,
4
5
InfoHeading ,
5
6
InfoLink ,
6
7
InfoOrderedList ,
8
+ InfoPermissionsTable ,
7
9
InfoText ,
8
10
InfoUnorderedList ,
9
11
} from "~/features/common/copy/components" ;
10
12
import ShowMoreContent from "~/features/common/copy/ShowMoreContent" ;
11
- import Tag from "~/features/common/Tag" ;
12
13
import { ConnectionCategory } from "~/features/integrations/ConnectionCategory" ;
13
14
import { AccessLevel , ConnectionType } from "~/types/api" ;
14
15
@@ -102,6 +103,52 @@ export const BigQueryOverview = () => (
102
103
</ >
103
104
) ;
104
105
106
+ const FIDES_PERMISSIONS = [
107
+ {
108
+ permission : "bigquery.jobs.create" ,
109
+ description :
110
+ "Run jobs (e.g. queries) within the project. This is only needed for the Fides Project where the Fides service account is located." ,
111
+ } ,
112
+ {
113
+ permission : "bigquery.jobs.list" ,
114
+ description :
115
+ "Manage the queries that the service account performs. This is only needed for the Fides Project where the Fides service account is located." ,
116
+ } ,
117
+ {
118
+ permission : "bigquery.routines.get" ,
119
+ description :
120
+ "Allow the service account to retrieve custom routines (e.g. queries) on associated datasets and tables." ,
121
+ } ,
122
+ {
123
+ permission : "bigquery.routines.list" ,
124
+ description :
125
+ "Allow the service account to manage the custom routines (e.g. queries) that run on associated datasets and tables." ,
126
+ } ,
127
+ ] ;
128
+
129
+ const MONITORED_PROJECT_PERMISSIONS = [
130
+ {
131
+ permission : "bigquery.datasets.get" ,
132
+ description : "Retrieve metadata and list tables for the specified project." ,
133
+ } ,
134
+ {
135
+ permission : "bigquery.tables.get" ,
136
+ description : "Retrieve metadata for the specified table." ,
137
+ } ,
138
+ {
139
+ permission : "bigquery.tables.getData" ,
140
+ description : "Read data in the specified table." ,
141
+ } ,
142
+ {
143
+ permission : "bigquery.tables.list" ,
144
+ description : "List all tables in the specified dataset." ,
145
+ } ,
146
+ {
147
+ permission : "bigquery.projects.get" ,
148
+ description : "Retrieve metadata for the specified project." ,
149
+ } ,
150
+ ] ;
151
+
105
152
export const BigQueryInstructions = ( ) => (
106
153
< >
107
154
< InfoHeading text = "Configuring a Fides -> BigQuery Integration" />
@@ -130,100 +177,13 @@ export const BigQueryInstructions = () => (
130
177
Assign the following permissions to the Fides Project that will be used
131
178
by your Fides service account to run queries:
132
179
</ InfoText >
133
- < Table fontSize = "14px" >
134
- < Thead >
135
- < Tr >
136
- < Th > Permission</ Th >
137
- < Th > Description</ Th >
138
- </ Tr >
139
- </ Thead >
140
- < Tbody >
141
- < Tr >
142
- < Td >
143
- < Tag > bigquery.jobs.create</ Tag >
144
- </ Td >
145
- < Td >
146
- Run jobs (e.g. queries) within the project. This is only needed
147
- for the Fides Project where the Fides service account is located.
148
- </ Td >
149
- </ Tr >
150
- < Tr >
151
- < Td >
152
- < Tag > bigquery.jobs.list</ Tag >
153
- </ Td >
154
- < Td >
155
- Manage the queries that the service account performs. This is only
156
- needed for the Fides Project where the Fides service account is
157
- located.
158
- </ Td >
159
- </ Tr >
160
- < Tr >
161
- < Td >
162
- < Tag > bigquery.routines.get</ Tag >
163
- </ Td >
164
- < Td >
165
- Allow the service account to retrieve custom routines (e.g.
166
- queries) on associated datasets and tables.
167
- </ Td >
168
- </ Tr >
169
- < Tr >
170
- < Td >
171
- < Tag > bigquery.routines.list</ Tag >
172
- </ Td >
173
- < Td >
174
- Allow the service account to manage the custom routines (e.g.
175
- queries) that run on associated datasets and tables.
176
- </ Td >
177
- </ Tr >
178
- </ Tbody >
179
- </ Table >
180
+ < InfoPermissionsTable data = { FIDES_PERMISSIONS } />
180
181
< InfoHeading text = "Step 4: Assign permissions to any project you’d like Fides to monitor" />
181
182
< InfoText >
182
183
Grant the following permissions to the Fides service account in every
183
184
project where you would like Fides detection and discovery monitoring.
184
185
</ InfoText >
185
- < Table fontSize = "14px" >
186
- < Thead >
187
- < Tr >
188
- < Th > Permission</ Th >
189
- < Th > Description</ Th >
190
- </ Tr >
191
- </ Thead >
192
- < Tbody >
193
- < Tr >
194
- < Td >
195
- < Tag > bigquery.datasets.get</ Tag >
196
- </ Td >
197
- < Td >
198
- Retrieve metadata and list tables for the specified project.
199
- </ Td >
200
- </ Tr >
201
- < Tr >
202
- < Td >
203
- < Tag > bigquery.tables.get</ Tag >
204
- </ Td >
205
- < Td > Retrieve metadata for the specified table.</ Td >
206
- </ Tr >
207
- < Tr >
208
- < Td >
209
- < Tag > bigquery.tables.getData</ Tag >
210
- </ Td >
211
- < Td > Read data in the specified table.</ Td >
212
- </ Tr >
213
- < Tr >
214
- < Td >
215
- < Tag > bigquery.tables.list</ Tag >
216
- </ Td >
217
- < Td > List all tables in the specified dataset.</ Td >
218
- </ Tr >
219
- < Tr >
220
- < Td >
221
- < Tag > bigquery.projects.get</ Tag >
222
- </ Td >
223
- < Td > Retrieve metadata for the specified project.</ Td >
224
- </ Tr >
225
- </ Tbody >
226
- </ Table >
186
+ < InfoPermissionsTable data = { MONITORED_PROJECT_PERMISSIONS } />
227
187
< InfoHeading text = "Step 5: Create a Fides service account in the Fides Project" />
228
188
< InfoOrderedList >
229
189
< ListItem >
@@ -244,9 +204,7 @@ export const BigQueryInstructions = () => (
244
204
An example of this is below:
245
205
</ ListItem >
246
206
</ InfoOrderedList >
247
- < Code display = "block" whiteSpace = "pre" p = { 4 } mb = { 4 } overflowX = "scroll" >
248
- { SAMPLE_JSON }
249
- </ Code >
207
+ < InfoCodeBlock > { SAMPLE_JSON } </ InfoCodeBlock >
250
208
< InfoHeading text = "Step 6: Use the JSON key to authenticate your integration" />
251
209
< InfoText >
252
210
Provide the JSON key to your Fides instance to securely connect Fides.
0 commit comments