Skip to content

Commit 145a976

Browse files
author
awstools
committed
feat(client-opensearch): This release enables customers to use JSON Web Tokens (JWT) for authentication on their Amazon OpenSearch Service domains.
1 parent 7b7b5ec commit 145a976

10 files changed

+230
-4
lines changed

clients/client-opensearch/src/commands/CreateDomainCommand.ts

+12
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,12 @@ export interface CreateDomainCommandOutput extends CreateDomainResponse, __Metad
125125
* RolesKey: "STRING_VALUE",
126126
* SessionTimeoutMinutes: Number("int"),
127127
* },
128+
* JWTOptions: { // JWTOptionsInput
129+
* Enabled: true || false,
130+
* SubjectKey: "STRING_VALUE",
131+
* RolesKey: "STRING_VALUE",
132+
* PublicKey: "STRING_VALUE",
133+
* },
128134
* AnonymousAuthEnabled: true || false,
129135
* },
130136
* TagList: [ // TagList
@@ -272,6 +278,12 @@ export interface CreateDomainCommandOutput extends CreateDomainResponse, __Metad
272278
* // RolesKey: "STRING_VALUE",
273279
* // SessionTimeoutMinutes: Number("int"),
274280
* // },
281+
* // JWTOptions: { // JWTOptionsOutput
282+
* // Enabled: true || false,
283+
* // SubjectKey: "STRING_VALUE",
284+
* // RolesKey: "STRING_VALUE",
285+
* // PublicKey: "STRING_VALUE",
286+
* // },
275287
* // AnonymousAuthDisableDate: new Date("TIMESTAMP"),
276288
* // AnonymousAuthEnabled: true || false,
277289
* // },

clients/client-opensearch/src/commands/DeleteDomainCommand.ts

+6
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,12 @@ export interface DeleteDomainCommandOutput extends DeleteDomainResponse, __Metad
151151
* // RolesKey: "STRING_VALUE",
152152
* // SessionTimeoutMinutes: Number("int"),
153153
* // },
154+
* // JWTOptions: { // JWTOptionsOutput
155+
* // Enabled: true || false,
156+
* // SubjectKey: "STRING_VALUE",
157+
* // RolesKey: "STRING_VALUE",
158+
* // PublicKey: "STRING_VALUE",
159+
* // },
154160
* // AnonymousAuthDisableDate: new Date("TIMESTAMP"),
155161
* // AnonymousAuthEnabled: true || false,
156162
* // },

clients/client-opensearch/src/commands/DescribeDomainCommand.ts

+6
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,12 @@ export interface DescribeDomainCommandOutput extends DescribeDomainResponse, __M
151151
* // RolesKey: "STRING_VALUE",
152152
* // SessionTimeoutMinutes: Number("int"),
153153
* // },
154+
* // JWTOptions: { // JWTOptionsOutput
155+
* // Enabled: true || false,
156+
* // SubjectKey: "STRING_VALUE",
157+
* // RolesKey: "STRING_VALUE",
158+
* // PublicKey: "STRING_VALUE",
159+
* // },
154160
* // AnonymousAuthDisableDate: new Date("TIMESTAMP"),
155161
* // AnonymousAuthEnabled: true || false,
156162
* // },

clients/client-opensearch/src/commands/DescribeDomainConfigCommand.ts

+6
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,12 @@ export interface DescribeDomainConfigCommandOutput extends DescribeDomainConfigR
197197
* // RolesKey: "STRING_VALUE",
198198
* // SessionTimeoutMinutes: Number("int"),
199199
* // },
200+
* // JWTOptions: { // JWTOptionsOutput
201+
* // Enabled: true || false,
202+
* // SubjectKey: "STRING_VALUE",
203+
* // RolesKey: "STRING_VALUE",
204+
* // PublicKey: "STRING_VALUE",
205+
* // },
200206
* // AnonymousAuthDisableDate: new Date("TIMESTAMP"),
201207
* // AnonymousAuthEnabled: true || false,
202208
* // },

clients/client-opensearch/src/commands/DescribeDomainsCommand.ts

+6
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,12 @@ export interface DescribeDomainsCommandOutput extends DescribeDomainsResponse, _
154154
* // RolesKey: "STRING_VALUE",
155155
* // SessionTimeoutMinutes: Number("int"),
156156
* // },
157+
* // JWTOptions: { // JWTOptionsOutput
158+
* // Enabled: true || false,
159+
* // SubjectKey: "STRING_VALUE",
160+
* // RolesKey: "STRING_VALUE",
161+
* // PublicKey: "STRING_VALUE",
162+
* // },
157163
* // AnonymousAuthDisableDate: new Date("TIMESTAMP"),
158164
* // AnonymousAuthEnabled: true || false,
159165
* // },

clients/client-opensearch/src/commands/DescribeDryRunProgressCommand.ts

+6
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,12 @@ export interface DescribeDryRunProgressCommandOutput extends DescribeDryRunProgr
165165
* // RolesKey: "STRING_VALUE",
166166
* // SessionTimeoutMinutes: Number("int"),
167167
* // },
168+
* // JWTOptions: { // JWTOptionsOutput
169+
* // Enabled: true || false,
170+
* // SubjectKey: "STRING_VALUE",
171+
* // RolesKey: "STRING_VALUE",
172+
* // PublicKey: "STRING_VALUE",
173+
* // },
168174
* // AnonymousAuthDisableDate: new Date("TIMESTAMP"),
169175
* // AnonymousAuthEnabled: true || false,
170176
* // },

clients/client-opensearch/src/commands/UpdateDomainConfigCommand.ts

+12
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,12 @@ export interface UpdateDomainConfigCommandOutput extends UpdateDomainConfigRespo
129129
* RolesKey: "STRING_VALUE",
130130
* SessionTimeoutMinutes: Number("int"),
131131
* },
132+
* JWTOptions: { // JWTOptionsInput
133+
* Enabled: true || false,
134+
* SubjectKey: "STRING_VALUE",
135+
* RolesKey: "STRING_VALUE",
136+
* PublicKey: "STRING_VALUE",
137+
* },
132138
* AnonymousAuthEnabled: true || false,
133139
* },
134140
* AutoTuneOptions: { // AutoTuneOptions
@@ -320,6 +326,12 @@ export interface UpdateDomainConfigCommandOutput extends UpdateDomainConfigRespo
320326
* // RolesKey: "STRING_VALUE",
321327
* // SessionTimeoutMinutes: Number("int"),
322328
* // },
329+
* // JWTOptions: { // JWTOptionsOutput
330+
* // Enabled: true || false,
331+
* // SubjectKey: "STRING_VALUE",
332+
* // RolesKey: "STRING_VALUE",
333+
* // PublicKey: "STRING_VALUE",
334+
* // },
323335
* // AnonymousAuthDisableDate: new Date("TIMESTAMP"),
324336
* // AnonymousAuthEnabled: true || false,
325337
* // },

clients/client-opensearch/src/models/models_0.ts

+74-2
Original file line numberDiff line numberDiff line change
@@ -689,6 +689,36 @@ export interface AdvancedOptionsStatus {
689689
Status: OptionStatus | undefined;
690690
}
691691

692+
/**
693+
* <p>Describes the JWT options configured for the domain.</p>
694+
* @public
695+
*/
696+
export interface JWTOptionsOutput {
697+
/**
698+
* <p>True if JWT use is enabled.</p>
699+
* @public
700+
*/
701+
Enabled?: boolean;
702+
703+
/**
704+
* <p>The key used for matching the JWT subject attribute.</p>
705+
* @public
706+
*/
707+
SubjectKey?: string;
708+
709+
/**
710+
* <p>The key used for matching the JWT roles attribute.</p>
711+
* @public
712+
*/
713+
RolesKey?: string;
714+
715+
/**
716+
* <p>The key used to verify the signature of incoming JWT requests.</p>
717+
* @public
718+
*/
719+
PublicKey?: string;
720+
}
721+
692722
/**
693723
* <p>The SAML identity povider information.</p>
694724
* @public
@@ -766,6 +796,12 @@ export interface AdvancedSecurityOptions {
766796
*/
767797
SAMLOptions?: SAMLOptionsOutput;
768798

799+
/**
800+
* <p>Container for information about the JWT configuration of the Amazon OpenSearch Service.</p>
801+
* @public
802+
*/
803+
JWTOptions?: JWTOptionsOutput;
804+
769805
/**
770806
* <p>Date and time when the migration period will be disabled. Only necessary when <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-enabling-existing">enabling
771807
* fine-grained access control on an existing domain</a>.</p>
@@ -782,6 +818,36 @@ export interface AdvancedSecurityOptions {
782818
AnonymousAuthEnabled?: boolean;
783819
}
784820

821+
/**
822+
* <p>The JWT authentication and authorization configuration for an Amazon OpenSearch Service domain.</p>
823+
* @public
824+
*/
825+
export interface JWTOptionsInput {
826+
/**
827+
* <p>True to enable JWT authentication and authorization for a domain.</p>
828+
* @public
829+
*/
830+
Enabled?: boolean;
831+
832+
/**
833+
* <p>Element of the JWT assertion to use for the user name.</p>
834+
* @public
835+
*/
836+
SubjectKey?: string;
837+
838+
/**
839+
* <p>Element of the JWT assertion to use for roles.</p>
840+
* @public
841+
*/
842+
RolesKey?: string;
843+
844+
/**
845+
* <p>Element of the JWT assertion used by the cluster to verify JWT signatures.</p>
846+
* @public
847+
*/
848+
PublicKey?: string;
849+
}
850+
785851
/**
786852
* <p>Credentials for the master user for a domain.</p>
787853
* @public
@@ -890,6 +956,12 @@ export interface AdvancedSecurityOptionsInput {
890956
*/
891957
SAMLOptions?: SAMLOptionsInput;
892958

959+
/**
960+
* <p>Container for information about the JWT configuration of the Amazon OpenSearch Service. </p>
961+
* @public
962+
*/
963+
JWTOptions?: JWTOptionsInput;
964+
893965
/**
894966
* <p>True to enable a 30-day migration period during which administrators can create role
895967
* mappings. Only necessary when <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-enabling-existing">enabling
@@ -5670,7 +5742,7 @@ export interface GetDataSourceResponse {
56705742
Description?: string;
56715743

56725744
/**
5673-
* <p>The status of the data source response.</p>
5745+
* <p>The status of the data source.</p>
56745746
* @public
56755747
*/
56765748
Status?: DataSourceStatus;
@@ -7061,7 +7133,7 @@ export interface UpdateDataSourceRequest {
70617133
Description?: string;
70627134

70637135
/**
7064-
* <p>The status of the data source update request.</p>
7136+
* <p>The status of the data source update.</p>
70657137
* @public
70667138
*/
70677139
Status?: DataSourceStatus;

clients/client-opensearch/src/protocols/Aws_restJson1.ts

+6
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ import {
248248
InvalidPaginationTokenException,
249249
InvalidTypeException,
250250
IPAddressTypeStatus,
251+
JWTOptionsInput,
251252
LimitExceededException,
252253
LogPublishingOption,
253254
LogPublishingOptionsStatus,
@@ -3375,6 +3376,8 @@ const se_AutoTuneOptionsInput = (input: AutoTuneOptionsInput, context: __SerdeCo
33753376

33763377
// se_FilterList omitted.
33773378

3379+
// se_JWTOptionsInput omitted.
3380+
33783381
// se_LogPublishingOption omitted.
33793382

33803383
// se_LogPublishingOptions omitted.
@@ -3450,6 +3453,7 @@ const de_AdvancedSecurityOptions = (output: any, context: __SerdeContext): Advan
34503453
AnonymousAuthEnabled: __expectBoolean,
34513454
Enabled: __expectBoolean,
34523455
InternalUserDatabaseEnabled: __expectBoolean,
3456+
JWTOptions: _json,
34533457
SAMLOptions: _json,
34543458
}) as any;
34553459
};
@@ -3894,6 +3898,8 @@ const de_IPAddressTypeStatus = (output: any, context: __SerdeContext): IPAddress
38943898

38953899
// de_Issues omitted.
38963900

3901+
// de_JWTOptionsOutput omitted.
3902+
38973903
// de_Limits omitted.
38983904

38993905
// de_LimitsByRole omitted.

0 commit comments

Comments
 (0)