@@ -375,12 +375,23 @@ def update!(**args)
375
375
class AuthzPolicyAuthzRuleFromRequestSource
376
376
include Google ::Apis ::Core ::Hashable
377
377
378
- # Optional. A list of IPs or CIDRs to match against the source IP of a request.
379
- # Limited to 5 ip_blocks.
378
+ # Optional. A list of IP addresses or IP address ranges to match against the
379
+ # source IP address of the request. Limited to 5 ip_blocks.
380
380
# Corresponds to the JSON property `ipBlocks`
381
381
# @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleIpBlock>]
382
382
attr_accessor :ip_blocks
383
383
384
+ # Optional. A list of identities derived from the client's certificate. This
385
+ # field will not match on a request unless frontend mutual TLS is enabled for
386
+ # the forwarding rule or Gateway and the client certificate has been
387
+ # successfully validated by mTLS. Each identity is a string whose value is
388
+ # matched against a list of URI SANs, DNS Name SANs, or the common name in the
389
+ # client's certificate. A match happens when any principal matches with the rule.
390
+ # Limited to 5 principals.
391
+ # Corresponds to the JSON property `principals`
392
+ # @return [Array<Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRulePrincipal>]
393
+ attr_accessor :principals
394
+
384
395
# Optional. A list of resources to match against the resource of the source VM
385
396
# of a request. Limited to 5 resources.
386
397
# Corresponds to the JSON property `resources`
@@ -394,6 +405,7 @@ def initialize(**args)
394
405
# Update properties of this object
395
406
def update! ( **args )
396
407
@ip_blocks = args [ :ip_blocks ] if args . key? ( :ip_blocks )
408
+ @principals = args [ :principals ] if args . key? ( :principals )
397
409
@resources = args [ :resources ] if args . key? ( :resources )
398
410
end
399
411
end
@@ -448,6 +460,32 @@ def update!(**args)
448
460
end
449
461
end
450
462
463
+ # Describes the properties of a principal to be matched against.
464
+ class AuthzPolicyAuthzRulePrincipal
465
+ include Google ::Apis ::Core ::Hashable
466
+
467
+ # Determines how a string value should be matched.
468
+ # Corresponds to the JSON property `principal`
469
+ # @return [Google::Apis::NetworksecurityV1beta1::AuthzPolicyAuthzRuleStringMatch]
470
+ attr_accessor :principal
471
+
472
+ # Optional. An enum to decide what principal value the principal rule will match
473
+ # against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN.
474
+ # Corresponds to the JSON property `principalSelector`
475
+ # @return [String]
476
+ attr_accessor :principal_selector
477
+
478
+ def initialize ( **args )
479
+ update! ( **args )
480
+ end
481
+
482
+ # Update properties of this object
483
+ def update! ( **args )
484
+ @principal = args [ :principal ] if args . key? ( :principal )
485
+ @principal_selector = args [ :principal_selector ] if args . key? ( :principal_selector )
486
+ end
487
+ end
488
+
451
489
# Describes the properties of a client VM resource accessing the internal
452
490
# application load balancers.
453
491
class AuthzPolicyAuthzRuleRequestResource
@@ -757,7 +795,7 @@ def update!(**args)
757
795
# certificates trusted by the TrustConfig. * `clientCertificate` is a client
758
796
# certificate that the load balancer uses to express its identity to the backend,
759
797
# if the connection to the backend uses mTLS. You can attach the
760
- # BackendAuthenticationConfig to the load balancer’ s BackendService directly
798
+ # BackendAuthenticationConfig to the load balancer' s BackendService directly
761
799
# determining how that BackendService negotiates TLS.
762
800
class BackendAuthenticationConfig
763
801
include Google ::Apis ::Core ::Hashable
@@ -901,7 +939,7 @@ class ClientTlsPolicy
901
939
attr_accessor :labels
902
940
903
941
# Required. Name of the ClientTlsPolicy resource. It matches the pattern `
904
- # projects/* /locations/`location`/clientTlsPolicies/`client_tls_policy``
942
+ # projects/`project` /locations/`location`/clientTlsPolicies/`client_tls_policy``
905
943
# Corresponds to the JSON property `name`
906
944
# @return [String]
907
945
attr_accessor :name
0 commit comments