@@ -147,6 +147,22 @@ message FeatureView {
147147 [(google.api.field_behavior ) = REQUIRED ];
148148 }
149149
150+ // Service agent type used during data sync.
151+ enum ServiceAgentType {
152+ // By default, the project-level Vertex AI Service Agent is enabled.
153+ SERVICE_AGENT_TYPE_UNSPECIFIED = 0 ;
154+
155+ // Indicates the project-level Vertex AI Service Agent
156+ // (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
157+ // will be used during sync jobs.
158+ SERVICE_AGENT_TYPE_PROJECT = 1 ;
159+
160+ // Enable a FeatureView service account to be created by Vertex AI and
161+ // output in the field `service_account_email`. This service account will
162+ // be used to read from the source BigQuery table during sync.
163+ SERVICE_AGENT_TYPE_FEATURE_VIEW = 2 ;
164+ }
165+
150166 oneof source {
151167 // Optional. Configures how data is supposed to be extracted from a BigQuery
152168 // source to be loaded onto the FeatureOnlineStore.
@@ -199,4 +215,19 @@ message FeatureView {
199215 // online serving.
200216 VectorSearchConfig vector_search_config = 8
201217 [(google.api.field_behavior ) = OPTIONAL ];
218+
219+ // Optional. Service agent type used during data sync. By default, the Vertex
220+ // AI Service Agent is used. When using an IAM Policy to isolate this
221+ // FeatureView within a project
222+ // (https://cloud.google.com/vertex-ai/docs/featurestore/latest/resource-policy)
223+ // a separate service account should be provisioned by
224+ // setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`. This will generate
225+ // a separate service account to access the BigQuery source table.
226+ ServiceAgentType service_agent_type = 14
227+ [(google.api.field_behavior ) = OPTIONAL ];
228+
229+ // Output only. A Service Account unique to this FeatureView. The role
230+ // bigquery.dataViewer should be granted to this service account to allow
231+ // Vertex AI Feature Store to sync data to the online store.
232+ string service_account_email = 13 [(google.api.field_behavior ) = OUTPUT_ONLY ];
202233}
0 commit comments