Class: AWSCDK::OpenSearchService::SAMLOptionsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
open_search_service/saml_options_property.rb

Overview

Container for information about the SAML configuration for OpenSearch Dashboards.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(idp_entity_id:, idp_metadata_content:, master_backend_role: nil, master_user_name: nil, roles_key: nil, session_timeout_minutes: nil, subject_key: nil) ⇒ SAMLOptionsProperty

Returns a new instance of SAMLOptionsProperty.

Parameters:

  • idp_entity_id (String)

    The unique entity ID of the application in the SAML identity provider.

  • idp_metadata_content (String)

    The metadata of the SAML application, in XML format.

  • master_backend_role (String, nil) (defaults to: nil)

    The backend role that the SAML master user is mapped to.

  • master_user_name (String, nil) (defaults to: nil)

    The SAML master username, which is stored in the domain's internal user database.

  • roles_key (String, nil) (defaults to: nil)

    Element of the SAML assertion to use for backend roles.

  • session_timeout_minutes (Numeric, nil) (defaults to: nil)

    The duration, in minutes, after which a user session becomes inactive.

  • subject_key (String, nil) (defaults to: nil)

    Element of the SAML assertion to use for the user name.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'open_search_service/saml_options_property.rb', line 14

def initialize(idp_entity_id:, idp_metadata_content:, master_backend_role: nil, master_user_name: nil, roles_key: nil, session_timeout_minutes: nil, subject_key: nil)
  @idp_entity_id = idp_entity_id
  Jsii::Type.check_type(@idp_entity_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "idpEntityId")
  @idp_metadata_content = 
  Jsii::Type.check_type(@idp_metadata_content, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "idpMetadataContent")
  @master_backend_role = master_backend_role
  Jsii::Type.check_type(@master_backend_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "masterBackendRole") unless @master_backend_role.nil?
  @master_user_name = master_user_name
  Jsii::Type.check_type(@master_user_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "masterUserName") unless @master_user_name.nil?
  @roles_key = roles_key
  Jsii::Type.check_type(@roles_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "rolesKey") unless @roles_key.nil?
  @session_timeout_minutes = session_timeout_minutes
  Jsii::Type.check_type(@session_timeout_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "sessionTimeoutMinutes") unless @session_timeout_minutes.nil?
  @subject_key = subject_key
  Jsii::Type.check_type(@subject_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subjectKey") unless @subject_key.nil?
end

Instance Attribute Details

#idp_entity_idString (readonly)

The unique entity ID of the application in the SAML identity provider.

Returns:

  • (String)


34
35
36
# File 'open_search_service/saml_options_property.rb', line 34

def idp_entity_id
  @idp_entity_id
end

#idp_metadata_contentString (readonly)

The metadata of the SAML application, in XML format.

Returns:

  • (String)


38
39
40
# File 'open_search_service/saml_options_property.rb', line 38

def 
  @idp_metadata_content
end

#master_backend_roleString? (readonly)

Note:

Default: - The master user is not mapped to a backend role

The backend role that the SAML master user is mapped to.

Any users with this backend role receives full permission in OpenSearch Dashboards/Kibana. To use a SAML master backend role, configure the roles_key property.

Returns:

  • (String, nil)


46
47
48
# File 'open_search_service/saml_options_property.rb', line 46

def master_backend_role
  @master_backend_role
end

#master_user_nameString? (readonly)

Note:

Default: - No master user name is configured

The SAML master username, which is stored in the domain's internal user database.

This SAML user receives full permission in OpenSearch Dashboards/Kibana. Creating a new master username does not delete any existing master usernames.

Returns:

  • (String, nil)


54
55
56
# File 'open_search_service/saml_options_property.rb', line 54

def master_user_name
  @master_user_name
end

#roles_keyString? (readonly)

Note:

Default: - roles

Element of the SAML assertion to use for backend roles.

Returns:

  • (String, nil)


59
60
61
# File 'open_search_service/saml_options_property.rb', line 59

def roles_key
  @roles_key
end

#session_timeout_minutesNumeric? (readonly)

Note:

Default: - 60

The duration, in minutes, after which a user session becomes inactive.

Returns:

  • (Numeric, nil)


64
65
66
# File 'open_search_service/saml_options_property.rb', line 64

def session_timeout_minutes
  @session_timeout_minutes
end

#subject_keyString? (readonly)

Note:

Default: - NameID element of the SAML assertion fot the user name

Element of the SAML assertion to use for the user name.

Returns:

  • (String, nil)


69
70
71
# File 'open_search_service/saml_options_property.rb', line 69

def subject_key
  @subject_key
end

Class Method Details

.jsii_propertiesObject



71
72
73
74
75
76
77
78
79
80
81
# File 'open_search_service/saml_options_property.rb', line 71

def self.jsii_properties
  {
    :idp_entity_id => "idpEntityId",
    :idp_metadata_content => "idpMetadataContent",
    :master_backend_role => "masterBackendRole",
    :master_user_name => "masterUserName",
    :roles_key => "rolesKey",
    :session_timeout_minutes => "sessionTimeoutMinutes",
    :subject_key => "subjectKey",
  }
end

Instance Method Details

#to_jsiiObject



83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'open_search_service/saml_options_property.rb', line 83

def to_jsii
  result = {}
  result.merge!({
    "idpEntityId" => @idp_entity_id,
    "idpMetadataContent" => @idp_metadata_content,
    "masterBackendRole" => @master_backend_role,
    "masterUserName" => @master_user_name,
    "rolesKey" => @roles_key,
    "sessionTimeoutMinutes" => @session_timeout_minutes,
    "subjectKey" => @subject_key,
  })
  result.compact
end