Skip to content

Commit 489bc21

Browse files
author
AWS
committed
QBusiness Update: Added support for App level authentication for QBusiness DataAccessor using AWS IAM Identity center Trusted Token issuer
1 parent 5ecd883 commit 489bc21

File tree

2 files changed

+143
-1
lines changed

2 files changed

+143
-1
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "QBusiness",
4+
"contributor": "",
5+
"description": "Added support for App level authentication for QBusiness DataAccessor using AWS IAM Identity center Trusted Token issuer"
6+
}

services/qbusiness/src/main/resources/codegen-resources/service-2.json

Lines changed: 137 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1966,6 +1966,10 @@
19661966
"shape":"QIamActions",
19671967
"documentation":"<p>The list of Amazon Q Business actions that the ISV is allowed to perform.</p>"
19681968
},
1969+
"conditions":{
1970+
"shape":"PermissionConditions",
1971+
"documentation":"<p>The conditions that restrict when the permission is effective. These conditions can be used to limit the permission based on specific attributes of the request.</p>"
1972+
},
19691973
"principal":{
19701974
"shape":"PrincipalRoleArn",
19711975
"documentation":"<p>The Amazon Resource Name of the IAM role for the ISV that is being granted permission.</p>"
@@ -3184,6 +3188,10 @@
31843188
"shape":"DataAccessorName",
31853189
"documentation":"<p>A friendly name for the data accessor.</p>"
31863190
},
3191+
"authenticationDetail":{
3192+
"shape":"DataAccessorAuthenticationDetail",
3193+
"documentation":"<p>The authentication configuration details for the data accessor. This specifies how the ISV will authenticate when accessing data through this data accessor.</p>"
3194+
},
31873195
"tags":{
31883196
"shape":"Tags",
31893197
"documentation":"<p>The tags to associate with the data accessor.</p>"
@@ -3702,6 +3710,10 @@
37023710
"shape":"PrincipalRoleArn",
37033711
"documentation":"<p>The Amazon Resource Name (ARN) of the IAM role for the ISV associated with this data accessor.</p>"
37043712
},
3713+
"authenticationDetail":{
3714+
"shape":"DataAccessorAuthenticationDetail",
3715+
"documentation":"<p>The authentication configuration details for the data accessor. This specifies how the ISV authenticates when accessing data through this data accessor.</p>"
3716+
},
37053717
"createdAt":{
37063718
"shape":"Timestamp",
37073719
"documentation":"<p>The timestamp when the data accessor was created.</p>"
@@ -3719,12 +3731,73 @@
37193731
"min":0,
37203732
"pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}"
37213733
},
3734+
"DataAccessorAuthenticationConfiguration":{
3735+
"type":"structure",
3736+
"members":{
3737+
"idcTrustedTokenIssuerConfiguration":{
3738+
"shape":"DataAccessorIdcTrustedTokenIssuerConfiguration",
3739+
"documentation":"<p>Configuration for IAM Identity Center Trusted Token Issuer (TTI) authentication used when the authentication type is <code>AWS_IAM_IDC_TTI</code>.</p>"
3740+
}
3741+
},
3742+
"documentation":"<p>A union type that contains the specific authentication configuration based on the authentication type selected.</p>",
3743+
"union":true
3744+
},
3745+
"DataAccessorAuthenticationDetail":{
3746+
"type":"structure",
3747+
"required":["authenticationType"],
3748+
"members":{
3749+
"authenticationType":{
3750+
"shape":"DataAccessorAuthenticationType",
3751+
"documentation":"<p>The type of authentication to use for the data accessor. This determines how the ISV authenticates when accessing data. You can use one of two authentication types:</p> <ul> <li> <p> <code>AWS_IAM_IDC_TTI</code> - Authentication using IAM Identity Center Trusted Token Issuer (TTI). This authentication type allows the ISV to use a trusted token issuer to generate tokens for accessing the data.</p> </li> <li> <p> <code>AWS_IAM_IDC_AUTH_CODE</code> - Authentication using IAM Identity Center authorization code flow. This authentication type uses the standard OAuth 2.0 authorization code flow for authentication.</p> </li> </ul>"
3752+
},
3753+
"authenticationConfiguration":{
3754+
"shape":"DataAccessorAuthenticationConfiguration",
3755+
"documentation":"<p>The specific authentication configuration based on the authentication type.</p>"
3756+
},
3757+
"externalIds":{
3758+
"shape":"DataAccessorExternalIds",
3759+
"documentation":"<p>A list of external identifiers associated with this authentication configuration. These are used to correlate the data accessor with external systems.</p>"
3760+
}
3761+
},
3762+
"documentation":"<p>Contains the authentication configuration details for a data accessor. This structure defines how the ISV authenticates when accessing data through the data accessor.</p>"
3763+
},
3764+
"DataAccessorAuthenticationType":{
3765+
"type":"string",
3766+
"documentation":"<p>The type of authentication mechanism used by the data accessor.</p>",
3767+
"enum":[
3768+
"AWS_IAM_IDC_TTI",
3769+
"AWS_IAM_IDC_AUTH_CODE"
3770+
]
3771+
},
3772+
"DataAccessorExternalId":{
3773+
"type":"string",
3774+
"max":1000,
3775+
"min":1,
3776+
"pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*"
3777+
},
3778+
"DataAccessorExternalIds":{
3779+
"type":"list",
3780+
"member":{"shape":"DataAccessorExternalId"},
3781+
"max":1,
3782+
"min":1
3783+
},
37223784
"DataAccessorId":{
37233785
"type":"string",
37243786
"max":36,
37253787
"min":36,
37263788
"pattern":"[a-zA-Z0-9][a-zA-Z0-9-]{35}"
37273789
},
3790+
"DataAccessorIdcTrustedTokenIssuerConfiguration":{
3791+
"type":"structure",
3792+
"required":["idcTrustedTokenIssuerArn"],
3793+
"members":{
3794+
"idcTrustedTokenIssuerArn":{
3795+
"shape":"IdcTrustedTokenIssuerArn",
3796+
"documentation":"<p>The Amazon Resource Name (ARN) of the IAM Identity Center Trusted Token Issuer that will be used for authentication.</p>"
3797+
}
3798+
},
3799+
"documentation":"<p>Configuration details for IAM Identity Center Trusted Token Issuer (TTI) authentication.</p>"
3800+
},
37283801
"DataAccessorName":{
37293802
"type":"string",
37303803
"max":100,
@@ -5053,6 +5126,10 @@
50535126
"shape":"ActionConfigurationList",
50545127
"documentation":"<p>The list of action configurations specifying the allowed actions and any associated filters.</p>"
50555128
},
5129+
"authenticationDetail":{
5130+
"shape":"DataAccessorAuthenticationDetail",
5131+
"documentation":"<p>The authentication configuration details for the data accessor. This specifies how the ISV authenticates when accessing data through this data accessor.</p>"
5132+
},
50565133
"createdAt":{
50575134
"shape":"Timestamp",
50585135
"documentation":"<p>The timestamp when the data accessor was created.</p>"
@@ -5718,7 +5795,7 @@
57185795
},
57195796
"lambdaArn":{
57205797
"shape":"LambdaArn",
5721-
"documentation":"<p>The Amazon Resource Name (ARN) of the Lambda function sduring ingestion. For more information, see <a href=\"https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/cde-lambda-operations.html\">Using Lambda functions for Amazon Q Business document enrichment</a>.</p>"
5798+
"documentation":"<p>The Amazon Resource Name (ARN) of the Lambda function during ingestion. For more information, see <a href=\"https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/cde-lambda-operations.html\">Using Lambda functions for Amazon Q Business document enrichment</a>.</p>"
57225799
},
57235800
"s3BucketName":{
57245801
"shape":"S3BucketName",
@@ -5761,6 +5838,12 @@
57615838
},
57625839
"documentation":"<p>Information about the IAM Identity Center Application used to configure authentication for a plugin.</p>"
57635840
},
5841+
"IdcTrustedTokenIssuerArn":{
5842+
"type":"string",
5843+
"max":1284,
5844+
"min":0,
5845+
"pattern":"arn:aws:sso::[0-9]{12}:trustedTokenIssuer/(sso)?ins-[a-zA-Z0-9-.]{16}/tti-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"
5846+
},
57645847
"IdentityProviderConfiguration":{
57655848
"type":"structure",
57665849
"members":{
@@ -7233,6 +7316,55 @@
72337316
"type":"string",
72347317
"sensitive":true
72357318
},
7319+
"PermissionCondition":{
7320+
"type":"structure",
7321+
"required":[
7322+
"conditionOperator",
7323+
"conditionKey",
7324+
"conditionValues"
7325+
],
7326+
"members":{
7327+
"conditionOperator":{
7328+
"shape":"PermissionConditionOperator",
7329+
"documentation":"<p>The operator to use for the condition evaluation. This determines how the condition values are compared.</p>"
7330+
},
7331+
"conditionKey":{
7332+
"shape":"PermissionConditionKey",
7333+
"documentation":"<p>The key for the condition. This identifies the attribute that the condition applies to.</p>"
7334+
},
7335+
"conditionValues":{
7336+
"shape":"PermissionConditionValues",
7337+
"documentation":"<p>The values to compare against using the specified condition operator.</p>"
7338+
}
7339+
},
7340+
"documentation":"<p>Defines a condition that restricts when a permission is effective. Conditions allow you to control access based on specific attributes of the request.</p>"
7341+
},
7342+
"PermissionConditionKey":{
7343+
"type":"string",
7344+
"pattern":"aws:PrincipalTag/qbusiness-dataaccessor:[a-zA-Z]+.*"
7345+
},
7346+
"PermissionConditionOperator":{
7347+
"type":"string",
7348+
"enum":["StringEquals"]
7349+
},
7350+
"PermissionConditionValue":{
7351+
"type":"string",
7352+
"max":1000,
7353+
"min":1,
7354+
"pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*"
7355+
},
7356+
"PermissionConditionValues":{
7357+
"type":"list",
7358+
"member":{"shape":"PermissionConditionValue"},
7359+
"max":1,
7360+
"min":1
7361+
},
7362+
"PermissionConditions":{
7363+
"type":"list",
7364+
"member":{"shape":"PermissionCondition"},
7365+
"max":10,
7366+
"min":1
7367+
},
72367368
"PersonalizationConfiguration":{
72377369
"type":"structure",
72387370
"required":["personalizationControlMode"],
@@ -8708,6 +8840,10 @@
87088840
"shape":"ActionConfigurationList",
87098841
"documentation":"<p>The updated list of action configurations specifying the allowed actions and any associated filters.</p>"
87108842
},
8843+
"authenticationDetail":{
8844+
"shape":"DataAccessorAuthenticationDetail",
8845+
"documentation":"<p>The updated authentication configuration details for the data accessor. This specifies how the ISV will authenticate when accessing data through this data accessor.</p>"
8846+
},
87118847
"displayName":{
87128848
"shape":"DataAccessorName",
87138849
"documentation":"<p>The updated friendly name for the data accessor.</p>"

0 commit comments

Comments
 (0)