Skip to content

Commit 798bd23

Browse files
Google APIscopybara-github
authored andcommitted
feat: enable FeatureGroup Service Account and IAM methods
PiperOrigin-RevId: 704910450
1 parent d6a178a commit 798bd23

2 files changed

Lines changed: 39 additions & 0 deletions

File tree

google/cloud/aiplatform/v1beta1/aiplatform_v1beta1.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,7 @@ http:
397397
- delete: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/operations/*}'
398398
- delete: '/ui/{name=projects/*/locations/*/featureGroups/*/operations/*}'
399399
- delete: '/ui/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}'
400+
- delete: '/ui/{name=projects/*/locations/*/featureGroups/*/featureMonitors/*/operations/*}'
400401
- delete: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}'
401402
- delete: '/v1beta1/{name=projects/*/locations/*/operations/*}'
402403
- delete: '/v1beta1/{name=projects/*/locations/*/agents/*/operations/*}'
@@ -451,6 +452,7 @@ http:
451452
- delete: '/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/operations/*}'
452453
- delete: '/v1beta1/{name=projects/*/locations/*/featureGroups/*/operations/*}'
453454
- delete: '/v1beta1/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}'
455+
- delete: '/v1beta1/{name=projects/*/locations/*/featureGroups/*/featureMonitors/*/operations/*}'
454456
- delete: '/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}'
455457
- selector: google.longrunning.Operations.GetOperation
456458
get: '/ui/{name=projects/*/locations/*/operations/*}'
@@ -504,6 +506,7 @@ http:
504506
- get: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}'
505507
- get: '/ui/{name=projects/*/locations/*/featureGroups/*/operations/*}'
506508
- get: '/ui/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}'
509+
- get: '/ui/{name=projects/*/locations/*/featureGroups/*/featureMonitors/*/operations/*}'
507510
- get: '/v1beta1/{name=projects/*/locations/*/operations/*}'
508511
- get: '/v1beta1/{name=projects/*/locations/*/agents/*/operations/*}'
509512
- get: '/v1beta1/{name=projects/*/locations/*/apps/*/operations/*}'
@@ -558,6 +561,7 @@ http:
558561
- get: '/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}'
559562
- get: '/v1beta1/{name=projects/*/locations/*/featureGroups/*/operations/*}'
560563
- get: '/v1beta1/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}'
564+
- get: '/v1beta1/{name=projects/*/locations/*/featureGroups/*/featureMonitors/*/operations/*}'
561565
- selector: google.longrunning.Operations.ListOperations
562566
get: '/ui/{name=projects/*/locations/*}/operations'
563567
additional_bindings:
@@ -609,6 +613,7 @@ http:
609613
- get: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}:wait'
610614
- get: '/ui/{name=projects/*/locations/*/featureGroups/*/operations/*}:wait'
611615
- get: '/ui/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}:wait'
616+
- get: '/ui/{name=projects/*/locations/*/featureGroups/*/featureMonitors/*/operations/*}:wait'
612617
- get: '/v1beta1/{name=projects/*/locations/*}/operations'
613618
- get: '/v1beta1/{name=projects/*/locations/*/agents/*}/operations'
614619
- get: '/v1beta1/{name=projects/*/locations/*/apps/*}/operations'
@@ -663,6 +668,7 @@ http:
663668
- get: '/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}/operations'
664669
- get: '/v1beta1/{name=projects/*/locations/*/featureGroups/*}/operations'
665670
- get: '/v1beta1/{name=projects/*/locations/*/featureGroups/*/features/*}/operations'
671+
- get: '/v1beta1/{name=projects/*/locations/*/featureGroups/*/featureMonitors/*}/operations'
666672
- selector: google.longrunning.Operations.WaitOperation
667673
post: '/ui/{name=projects/*/locations/*/operations/*}:wait'
668674
additional_bindings:
@@ -714,6 +720,7 @@ http:
714720
- post: '/ui/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}:wait'
715721
- post: '/ui/{name=projects/*/locations/*/featureGroups/*/operations/*}:wait'
716722
- post: '/ui/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}:wait'
723+
- post: '/ui/{name=projects/*/locations/*/featureGroups/*/featureMonitors/*/operations/*}:wait'
717724
- post: '/v1beta1/{name=projects/*/locations/*/operations/*}:wait'
718725
- post: '/v1beta1/{name=projects/*/locations/*/agents/*/operations/*}:wait'
719726
- post: '/v1beta1/{name=projects/*/locations/*/apps/*/operations/*}:wait'
@@ -767,6 +774,7 @@ http:
767774
- post: '/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/operations/*}:wait'
768775
- post: '/v1beta1/{name=projects/*/locations/*/featureGroups/*/operations/*}:wait'
769776
- post: '/v1beta1/{name=projects/*/locations/*/featureGroups/*/features/*/operations/*}:wait'
777+
- post: '/v1beta1/{name=projects/*/locations/*/featureGroups/*/featureMonitors/*/operations/*}:wait'
770778

771779
authentication:
772780
rules:

google/cloud/aiplatform/v1beta1/feature_group.proto

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,22 @@ message FeatureGroup {
8484
bool dense = 5 [(google.api.field_behavior) = OPTIONAL];
8585
}
8686

87+
// Service agent type used during jobs under a FeatureGroup.
88+
enum ServiceAgentType {
89+
// By default, the project-level Vertex AI Service Agent is enabled.
90+
SERVICE_AGENT_TYPE_UNSPECIFIED = 0;
91+
92+
// Specifies the project-level Vertex AI Service Agent
93+
// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).
94+
SERVICE_AGENT_TYPE_PROJECT = 1;
95+
96+
// Enable a FeatureGroup service account to be created by Vertex AI and
97+
// output in the field `service_account_email`. This service account will
98+
// be used to read from the source BigQuery table during jobs under a
99+
// FeatureGroup.
100+
SERVICE_AGENT_TYPE_FEATURE_GROUP = 2;
101+
}
102+
87103
oneof source {
88104
// Indicates that features for this group come from BigQuery Table/View.
89105
// By default treats the source as a sparse time series source. The BigQuery
@@ -123,4 +139,19 @@ message FeatureGroup {
123139

124140
// Optional. Description of the FeatureGroup.
125141
string description = 6 [(google.api.field_behavior) = OPTIONAL];
142+
143+
// Optional. Service agent type used during jobs under a FeatureGroup. By
144+
// default, the Vertex AI Service Agent is used. When using an IAM Policy to
145+
// isolate this FeatureGroup within a project, a separate service account
146+
// should be provisioned by setting this field to
147+
// `SERVICE_AGENT_TYPE_FEATURE_GROUP`. This will generate a separate service
148+
// account to access the BigQuery source table.
149+
ServiceAgentType service_agent_type = 8
150+
[(google.api.field_behavior) = OPTIONAL];
151+
152+
// Output only. A Service Account unique to this FeatureGroup. The role
153+
// bigquery.dataViewer should be granted to this service account to allow
154+
// Vertex AI Feature Store to access source data while running jobs under this
155+
// FeatureGroup.
156+
string service_account_email = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
126157
}

0 commit comments

Comments
 (0)