Content-Length: 476802 | pFad | https://github.com/googleapis/googleapis/commit/bbeb0530ac9d8a61d8156f0d4e111909fc2827aa

5F feat: support Azure federated identity · googleapis/googleapis@bbeb053 · GitHub
Skip to content

Commit bbeb053

Browse files
Google APIscopybara-github
Google APIs
authored andcommitted
feat: support Azure federated identity
feat: support BYOSA docs: A comment for message `ObjectConditions` is changed docs: A comment for field `list_url` in message `.google.storagetransfer.v1.HttpData` is changed docs: A comment for field `overwrite_objects_already_existing_in_sink` in message `.google.storagetransfer.v1.TransferOptions` is changed docs: A comment for field `end_time_of_day` in message `.google.storagetransfer.v1.Schedule` is changed docs: A comment for enum value `COPY` in enum `LoggableAction` is changed PiperOrigin-RevId: 762602696
1 parent d5cdff2 commit bbeb053

File tree

1 file changed

+64
-5
lines changed

1 file changed

+64
-5
lines changed

google/storagetransfer/v1/transfer_types.proto

Lines changed: 64 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,13 @@ message AzureCredentials {
7777
// the `updated` property of Cloud Storage objects, the `LastModified` field
7878
// of S3 objects, and the `Last-Modified` header of Azure blobs.
7979
//
80+
// For S3 objects, the `LastModified` value is the time the object begins
81+
// uploading. If the object meets your "last modification time" criteria,
82+
// but has not finished uploading, the object is not transferred. See
83+
// [Transfer from Amazon S3 to Cloud
84+
// Storage](https://cloud.google.com/storage-transfer/docs/create-transfers/agentless/s3#transfer_options)
85+
// for more information.
86+
//
8087
// Transfers with a [PosixFilesystem][google.storagetransfer.v1.PosixFilesystem]
8188
// source or destination don't support `ObjectConditions`.
8289
message ObjectConditions {
@@ -306,6 +313,26 @@ message AwsS3Data {
306313
// Storage blob's key
307314
// name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names).
308315
message AzureBlobStorageData {
316+
// The identity of an Azure application through which Storage Transfer Service
317+
// can authenticate requests using Azure workload identity federation.
318+
//
319+
// Storage Transfer Service can issue requests to Azure Storage through
320+
// registered Azure applications, eliminating the need to pass credentials to
321+
// Storage Transfer Service directly.
322+
//
323+
// To configure federated identity, see
324+
// [Configure access to Microsoft Azure
325+
// Storage](https://cloud.google.com/storage-transfer/docs/source-microsoft-azure#option_3_authenticate_using_federated_identity).
326+
message FederatedIdentityConfig {
327+
// Required. The client (application) ID of the application with federated
328+
// credentials.
329+
string client_id = 1 [(google.api.field_behavior) = REQUIRED];
330+
331+
// Required. The tenant (directory) ID of the application with federated
332+
// credentials.
333+
string tenant_id = 2 [(google.api.field_behavior) = REQUIRED];
334+
}
335+
309336
// Required. The name of the Azure Storage account.
310337
string storage_account = 1 [(google.api.field_behavior) = REQUIRED];
311338

@@ -349,6 +376,15 @@ message AzureBlobStorageData {
349376
//
350377
// Format: `projects/{project_number}/secrets/{secret_name}`
351378
string credentials_secret = 7 [(google.api.field_behavior) = OPTIONAL];
379+
380+
// Optional. Federated identity config of a user registered Azure application.
381+
//
382+
// If `federated_identity_config` is specified, do not specify
383+
// [azure_credentials][google.storagetransfer.v1.AzureBlobStorageData.azure_credentials]
384+
// or
385+
// [credentials_secret][google.storagetransfer.v1.AzureBlobStorageData.credentials_secret].
386+
FederatedIdentityConfig federated_identity_config = 8
387+
[(google.api.field_behavior) = OPTIONAL];
352388
}
353389

354390
// An HttpData resource specifies a list of objects on the web to be
@@ -393,8 +429,9 @@ message AzureBlobStorageData {
393429
// effect when filtering objects to transfer.
394430
message HttpData {
395431
// Required. The URL that points to the file that stores the object list
396-
// entries. This file must allow public access. Currently, only URLs with
397-
// HTTP and HTTPS schemes are supported.
432+
// entries. This file must allow public access. The URL is either an
433+
// HTTP/HTTPS address (e.g. `https://example.com/urllist.tsv`) or a Cloud
434+
// Storage path (e.g. `gs://my-bucket/urllist.tsv`).
398435
string list_url = 1 [(google.api.field_behavior) = REQUIRED];
399436
}
400437

@@ -585,7 +622,7 @@ message TransferOptions {
585622
}
586623

587624
// When to overwrite objects that already exist in the sink. The default is
588-
// that only objects that are different from the source are ovewritten. If
625+
// that only objects that are different from the source are overwritten. If
589626
// true, all objects in the sink whose name matches an object in the source
590627
// are overwritten with the source object.
591628
bool overwrite_objects_already_existing_in_sink = 1;
@@ -963,7 +1000,7 @@ message Schedule {
9631000
// [schedule_end_date][google.storagetransfer.v1.Schedule.schedule_end_date],
9641001
// `end_time_of_day` specifies the end date and time for starting new transfer
9651002
// operations. This field must be greater than or equal to the timestamp
966-
// corresponding to the combintation of
1003+
// corresponding to the combination of
9671004
// [schedule_start_date][google.storagetransfer.v1.Schedule.schedule_start_date]
9681005
// and
9691006
// [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day],
@@ -1058,6 +1095,23 @@ message TransferJob {
10581095
// The ID of the Google Cloud project that owns the job.
10591096
string project_id = 3;
10601097

1098+
// Optional. The user-managed service account to which to delegate service
1099+
// agent permissions. You can grant Cloud Storage bucket permissions to this
1100+
// service account instead of to the Transfer Service service agent.
1101+
//
1102+
// Format is
1103+
// `projects/-/serviceAccounts/ACCOUNT_EMAIL_OR_UNIQUEID`
1104+
//
1105+
// Either the service account email
1106+
// (`SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com`) or the unique
1107+
// ID (`123456789012345678901`) are accepted in the string. The `-`
1108+
// wildcard character is required; replacing it with a project ID is invalid.
1109+
//
1110+
// See
1111+
// https://cloud.google.com//storage-transfer/docs/delegate-service-agent-permissions
1112+
// for required permissions.
1113+
string service_account = 18 [(google.api.field_behavior) = OPTIONAL];
1114+
10611115
// Transfer specification.
10621116
TransferSpec transfer_spec = 4;
10631117

@@ -1312,7 +1366,7 @@ message LoggingConfig {
13121366
// Deleting objects at the source or the destination.
13131367
DELETE = 2;
13141368

1315-
// Copying objects to Google Cloud Storage.
1369+
// Copying objects to the destination.
13161370
COPY = 3;
13171371
}
13181372

@@ -1328,6 +1382,11 @@ message LoggingConfig {
13281382
// `LoggableAction` terminated in an error state. `FAILED` actions are
13291383
// logged as [ERROR][google.logging.type.LogSeverity.ERROR].
13301384
FAILED = 2;
1385+
1386+
// The `COPY` action was skipped for this file. Only supported for
1387+
// agent-based transfers. `SKIPPED` actions are
1388+
// logged as [INFO][google.logging.type.LogSeverity.INFO].
1389+
SKIPPED = 3;
13311390
}
13321391

13331392
// Specifies the actions to be logged. If empty, no logs are generated.

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/googleapis/googleapis/commit/bbeb0530ac9d8a61d8156f0d4e111909fc2827aa

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy