Class: AWSCDK::IAM::OidcProviderNativeProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::IAM::OidcProviderNativeProps
- Defined in:
- iam/oidc_provider_native_props.rb
Overview
Initialization properties for OIDCProviderNative.
Instance Attribute Summary collapse
-
#client_ids ⇒ Array<String>?
readonly
A list of client IDs (also known as audiences).
-
#oidc_provider_name ⇒ String?
readonly
The name of the Native OIDC Provider.
-
#removal_policy ⇒ AWSCDK::RemovalPolicy?
readonly
The removal policy to apply to the OpenID Connect Provider.
-
#thumbprints ⇒ Array<String>?
readonly
A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificates.
-
#url ⇒ String
readonly
The URL of the identity provider.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(url:, client_ids: nil, oidc_provider_name: nil, removal_policy: nil, thumbprints: nil) ⇒ OidcProviderNativeProps
constructor
A new instance of OidcProviderNativeProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(url:, client_ids: nil, oidc_provider_name: nil, removal_policy: nil, thumbprints: nil) ⇒ OidcProviderNativeProps
Returns a new instance of OidcProviderNativeProps.
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'iam/oidc_provider_native_props.rb', line 12 def initialize(url:, client_ids: nil, oidc_provider_name: nil, removal_policy: nil, thumbprints: nil) @url = url Jsii::Type.check_type(@url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "url") @client_ids = client_ids Jsii::Type.check_type(@client_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "clientIds") unless @client_ids.nil? @oidc_provider_name = oidc_provider_name Jsii::Type.check_type(@oidc_provider_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "oidcProviderName") unless @oidc_provider_name.nil? @removal_policy = removal_policy Jsii::Type.check_type(@removal_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "removalPolicy") unless @removal_policy.nil? @thumbprints = thumbprints Jsii::Type.check_type(@thumbprints, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "thumbprints") unless @thumbprints.nil? end |
Instance Attribute Details
#client_ids ⇒ Array<String>? (readonly)
Default: - no clients are allowed
A list of client IDs (also known as audiences).
When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.)
You can register multiple client IDs with the same provider. For example, you might have multiple applications that use the same OIDC provider. You cannot register more than 100 client IDs with a single IAM OIDC provider.
Client IDs are up to 255 characters long.
56 57 58 |
# File 'iam/oidc_provider_native_props.rb', line 56 def client_ids @client_ids end |
#oidc_provider_name ⇒ String? (readonly)
Default: - A name is automatically generated.
The name of the Native OIDC Provider.
61 62 63 |
# File 'iam/oidc_provider_native_props.rb', line 61 def oidc_provider_name @oidc_provider_name end |
#removal_policy ⇒ AWSCDK::RemovalPolicy? (readonly)
Default: - RemovalPolicy.DESTROY
The removal policy to apply to the OpenID Connect Provider.
66 67 68 |
# File 'iam/oidc_provider_native_props.rb', line 66 def removal_policy @removal_policy end |
#thumbprints ⇒ Array<String>? (readonly)
Default: - no thumbprints are allowed. IAM will retrieve and use thumbprint of idenity provider server cerctificate
A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificates.
Typically this list includes only 1 entry or empty. However, IAM lets you have up to 5 thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates.
The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.
For example, assume that the OIDC provider is server.example.com and the provider stores its keys at https://keys.server.example.com/openid-connect. In that case, the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com.
This property is optional. If it is not included, IAM will retrieve and use the top intermediate certificate authority (CA) thumbprint of the OpenID Connect identity provider server certificate.
Obtain the thumbprint of the root certificate authority from the provider's server as described in https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html
91 92 93 |
# File 'iam/oidc_provider_native_props.rb', line 91 def thumbprints @thumbprints end |
#url ⇒ String (readonly)
The URL of the identity provider.
The URL must begin with https:// and should correspond to the iss claim in the provider's OpenID Connect ID tokens. Per the OIDC standard, path components are allowed but query parameters are not. Typically the URL consists of only a hostname, like https://server.example.org or https://example.com.
You cannot register the same provider multiple times in a single AWS account. If you try to submit a URL that has already been used for an OpenID Connect provider in the AWS account, you will get an error.
Warning: This URL cannot contain any port numbers
40 41 42 |
# File 'iam/oidc_provider_native_props.rb', line 40 def url @url end |
Class Method Details
.jsii_properties ⇒ Object
93 94 95 96 97 98 99 100 101 |
# File 'iam/oidc_provider_native_props.rb', line 93 def self.jsii_properties { :url => "url", :client_ids => "clientIds", :oidc_provider_name => "oidcProviderName", :removal_policy => "removalPolicy", :thumbprints => "thumbprints", } end |
Instance Method Details
#to_jsii ⇒ Object
103 104 105 106 107 108 109 110 111 112 113 |
# File 'iam/oidc_provider_native_props.rb', line 103 def to_jsii result = {} result.merge!({ "url" => @url, "clientIds" => @client_ids, "oidcProviderName" => @oidc_provider_name, "removalPolicy" => @removal_policy, "thumbprints" => @thumbprints, }) result.compact end |