@aws-sdk/client-verifiedpermissions 3.590.0 → 3.593.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist-cjs/index.js +239 -32
  2. package/dist-es/models/models_0.js +191 -3
  3. package/dist-types/commands/BatchIsAuthorizedCommand.d.ts +2 -1
  4. package/dist-types/commands/BatchIsAuthorizedWithTokenCommand.d.ts +2 -1
  5. package/dist-types/commands/CreateIdentitySourceCommand.d.ts +49 -21
  6. package/dist-types/commands/CreatePolicyCommand.d.ts +2 -1
  7. package/dist-types/commands/CreatePolicyStoreCommand.d.ts +2 -1
  8. package/dist-types/commands/CreatePolicyTemplateCommand.d.ts +2 -1
  9. package/dist-types/commands/DeleteIdentitySourceCommand.d.ts +2 -1
  10. package/dist-types/commands/DeletePolicyCommand.d.ts +2 -1
  11. package/dist-types/commands/DeletePolicyStoreCommand.d.ts +2 -1
  12. package/dist-types/commands/DeletePolicyTemplateCommand.d.ts +2 -1
  13. package/dist-types/commands/GetIdentitySourceCommand.d.ts +22 -1
  14. package/dist-types/commands/GetPolicyCommand.d.ts +2 -1
  15. package/dist-types/commands/GetPolicyStoreCommand.d.ts +2 -1
  16. package/dist-types/commands/GetPolicyTemplateCommand.d.ts +2 -1
  17. package/dist-types/commands/GetSchemaCommand.d.ts +2 -1
  18. package/dist-types/commands/IsAuthorizedCommand.d.ts +2 -1
  19. package/dist-types/commands/IsAuthorizedWithTokenCommand.d.ts +4 -2
  20. package/dist-types/commands/ListIdentitySourcesCommand.d.ts +22 -1
  21. package/dist-types/commands/ListPoliciesCommand.d.ts +2 -1
  22. package/dist-types/commands/ListPolicyStoresCommand.d.ts +2 -1
  23. package/dist-types/commands/ListPolicyTemplatesCommand.d.ts +2 -1
  24. package/dist-types/commands/PutSchemaCommand.d.ts +2 -1
  25. package/dist-types/commands/UpdateIdentitySourceCommand.d.ts +25 -2
  26. package/dist-types/commands/UpdatePolicyCommand.d.ts +2 -1
  27. package/dist-types/commands/UpdatePolicyStoreCommand.d.ts +2 -1
  28. package/dist-types/commands/UpdatePolicyTemplateCommand.d.ts +2 -1
  29. package/dist-types/index.d.ts +2 -2
  30. package/dist-types/models/VerifiedPermissionsServiceException.d.ts +2 -1
  31. package/dist-types/models/models_0.d.ts +779 -25
  32. package/dist-types/ts3.4/commands/BatchIsAuthorizedCommand.d.ts +2 -1
  33. package/dist-types/ts3.4/commands/BatchIsAuthorizedWithTokenCommand.d.ts +2 -1
  34. package/dist-types/ts3.4/commands/CreateIdentitySourceCommand.d.ts +2 -1
  35. package/dist-types/ts3.4/commands/CreatePolicyCommand.d.ts +2 -1
  36. package/dist-types/ts3.4/commands/CreatePolicyStoreCommand.d.ts +2 -1
  37. package/dist-types/ts3.4/commands/CreatePolicyTemplateCommand.d.ts +2 -1
  38. package/dist-types/ts3.4/commands/DeleteIdentitySourceCommand.d.ts +2 -1
  39. package/dist-types/ts3.4/commands/DeletePolicyCommand.d.ts +2 -1
  40. package/dist-types/ts3.4/commands/DeletePolicyStoreCommand.d.ts +2 -1
  41. package/dist-types/ts3.4/commands/DeletePolicyTemplateCommand.d.ts +2 -1
  42. package/dist-types/ts3.4/commands/GetIdentitySourceCommand.d.ts +2 -1
  43. package/dist-types/ts3.4/commands/GetPolicyCommand.d.ts +2 -1
  44. package/dist-types/ts3.4/commands/GetPolicyStoreCommand.d.ts +2 -1
  45. package/dist-types/ts3.4/commands/GetPolicyTemplateCommand.d.ts +2 -1
  46. package/dist-types/ts3.4/commands/GetSchemaCommand.d.ts +2 -1
  47. package/dist-types/ts3.4/commands/IsAuthorizedCommand.d.ts +2 -1
  48. package/dist-types/ts3.4/commands/IsAuthorizedWithTokenCommand.d.ts +2 -1
  49. package/dist-types/ts3.4/commands/ListIdentitySourcesCommand.d.ts +2 -1
  50. package/dist-types/ts3.4/commands/ListPoliciesCommand.d.ts +2 -1
  51. package/dist-types/ts3.4/commands/ListPolicyStoresCommand.d.ts +2 -1
  52. package/dist-types/ts3.4/commands/ListPolicyTemplatesCommand.d.ts +2 -1
  53. package/dist-types/ts3.4/commands/PutSchemaCommand.d.ts +2 -1
  54. package/dist-types/ts3.4/commands/UpdateIdentitySourceCommand.d.ts +2 -1
  55. package/dist-types/ts3.4/commands/UpdatePolicyCommand.d.ts +2 -1
  56. package/dist-types/ts3.4/commands/UpdatePolicyStoreCommand.d.ts +2 -1
  57. package/dist-types/ts3.4/commands/UpdatePolicyTemplateCommand.d.ts +2 -1
  58. package/dist-types/ts3.4/models/VerifiedPermissionsServiceException.d.ts +2 -1
  59. package/dist-types/ts3.4/models/models_0.d.ts +294 -0
  60. package/package.json +6 -6
@@ -339,7 +339,7 @@ export interface CognitoGroupConfigurationItem {
339
339
  /**
340
340
  * <p>The configuration for an identity source that represents a connection to an Amazon Cognito user pool used
341
341
  * as an identity provider for Verified Permissions.</p>
342
- * <p>This data type is used as a field that is part of an <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_Configuration.html">Configuration</a> structure that is
342
+ * <p>This data type part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_Configuration.html">Configuration</a> structure that is
343
343
  * used as a parameter to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html">CreateIdentitySource</a>.</p>
344
344
  * <p>Example:<code>"CognitoUserPoolConfiguration":\{"UserPoolArn":"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5","ClientIds":
345
345
  * ["a1b2c3d4e5f6g7h8i9j0kalbmc"],"groupConfiguration": \{"groupEntityType": "MyCorp::Group"\}\}</code>
@@ -459,19 +459,168 @@ export interface CognitoUserPoolConfigurationItem {
459
459
  */
460
460
  groupConfiguration?: CognitoGroupConfigurationItem;
461
461
  }
462
+ /**
463
+ * <p>The claim in OIDC identity provider tokens that indicates a user's group membership, and
464
+ * the entity type that you want to map it to. For example, this object can map the contents
465
+ * of a <code>groups</code> claim to <code>MyCorp::UserGroup</code>.</p>
466
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectConfiguration.html">OpenIdConnectConfiguration</a> structure, which is a parameter of <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html">CreateIdentitySource</a>.</p>
467
+ * @public
468
+ */
469
+ export interface OpenIdConnectGroupConfiguration {
470
+ /**
471
+ * <p>The token claim that you want Verified Permissions to interpret as group membership. For example,
472
+ * <code>groups</code>.</p>
473
+ * @public
474
+ */
475
+ groupClaim: string | undefined;
476
+ /**
477
+ * <p>The policy store entity type that you want to map your users' group claim to. For example,
478
+ * <code>MyCorp::UserGroup</code>. A group entity type is an entity that can have a user
479
+ * entity type as a member.</p>
480
+ * @public
481
+ */
482
+ groupEntityType: string | undefined;
483
+ }
484
+ /**
485
+ * <p>The configuration of an OpenID Connect (OIDC) identity source for handling access token
486
+ * claims. Contains the claim that you want to identify as the principal in an authorization
487
+ * request, and the values of the <code>aud</code> claim, or audiences, that you want to
488
+ * accept.</p>
489
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectTokenSelection.html">OpenIdConnectTokenSelection</a> structure, which is a parameter of <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html">CreateIdentitySource</a>.</p>
490
+ * @public
491
+ */
492
+ export interface OpenIdConnectAccessTokenConfiguration {
493
+ /**
494
+ * <p>The claim that determines the principal in OIDC access tokens. For example,
495
+ * <code>sub</code>.</p>
496
+ * @public
497
+ */
498
+ principalIdClaim?: string;
499
+ /**
500
+ * <p>The access token <code>aud</code> claim values that you want to accept in your policy
501
+ * store. For example, <code>https://myapp.example.com, https://myapp2.example.com</code>.</p>
502
+ * @public
503
+ */
504
+ audiences?: string[];
505
+ }
506
+ /**
507
+ * <p>The configuration of an OpenID Connect (OIDC) identity source for handling identity (ID)
508
+ * token claims. Contains the claim that you want to identify as the principal in an
509
+ * authorization request, and the values of the <code>aud</code> claim, or audiences, that
510
+ * you want to accept.</p>
511
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectTokenSelection.html">OpenIdConnectTokenSelection</a> structure, which is a parameter of <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html">CreateIdentitySource</a>.</p>
512
+ * @public
513
+ */
514
+ export interface OpenIdConnectIdentityTokenConfiguration {
515
+ /**
516
+ * <p>The claim that determines the principal in OIDC access tokens. For example,
517
+ * <code>sub</code>.</p>
518
+ * @public
519
+ */
520
+ principalIdClaim?: string;
521
+ /**
522
+ * <p>The ID token audience, or client ID, claim values that you want to accept in your policy
523
+ * store from an OIDC identity provider. For example, <code>1example23456789,
524
+ * 2example10111213</code>.</p>
525
+ * @public
526
+ */
527
+ clientIds?: string[];
528
+ }
529
+ /**
530
+ * <p>The token type that you want to process from your OIDC identity provider. Your policy
531
+ * store can process either identity (ID) or access tokens from a given OIDC identity
532
+ * source.</p>
533
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectConfiguration.html">OpenIdConnectConfiguration</a> structure, which is a parameter of <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html">CreateIdentitySource</a>.</p>
534
+ * @public
535
+ */
536
+ export type OpenIdConnectTokenSelection = OpenIdConnectTokenSelection.AccessTokenOnlyMember | OpenIdConnectTokenSelection.IdentityTokenOnlyMember | OpenIdConnectTokenSelection.$UnknownMember;
537
+ /**
538
+ * @public
539
+ */
540
+ export declare namespace OpenIdConnectTokenSelection {
541
+ /**
542
+ * <p>The OIDC configuration for processing access tokens. Contains allowed audience claims,
543
+ * for example <code>https://auth.example.com</code>, and the claim that you want to map to the
544
+ * principal, for example <code>sub</code>.</p>
545
+ * @public
546
+ */
547
+ interface AccessTokenOnlyMember {
548
+ accessTokenOnly: OpenIdConnectAccessTokenConfiguration;
549
+ identityTokenOnly?: never;
550
+ $unknown?: never;
551
+ }
552
+ /**
553
+ * <p>The OIDC configuration for processing identity (ID) tokens. Contains allowed client ID
554
+ * claims, for example <code>1example23456789</code>, and the claim that you want to map to
555
+ * the principal, for example <code>sub</code>.</p>
556
+ * @public
557
+ */
558
+ interface IdentityTokenOnlyMember {
559
+ accessTokenOnly?: never;
560
+ identityTokenOnly: OpenIdConnectIdentityTokenConfiguration;
561
+ $unknown?: never;
562
+ }
563
+ /**
564
+ * @public
565
+ */
566
+ interface $UnknownMember {
567
+ accessTokenOnly?: never;
568
+ identityTokenOnly?: never;
569
+ $unknown: [string, any];
570
+ }
571
+ interface Visitor<T> {
572
+ accessTokenOnly: (value: OpenIdConnectAccessTokenConfiguration) => T;
573
+ identityTokenOnly: (value: OpenIdConnectIdentityTokenConfiguration) => T;
574
+ _: (name: string, value: any) => T;
575
+ }
576
+ const visit: <T>(value: OpenIdConnectTokenSelection, visitor: Visitor<T>) => T;
577
+ }
578
+ /**
579
+ * <p>Contains configuration details of an OpenID Connect (OIDC) identity provider, or
580
+ * identity source, that Verified Permissions can use to generate entities from authenticated identities. It
581
+ * specifies the issuer URL, token type that you want to use, and policy store entity
582
+ * details.</p>
583
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_Configuration.html">Configuration</a> structure, which is a
584
+ * parameter to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html">CreateIdentitySource</a>.</p>
585
+ * @public
586
+ */
587
+ export interface OpenIdConnectConfiguration {
588
+ /**
589
+ * <p>The issuer URL of an OIDC identity provider. This URL must have an OIDC discovery
590
+ * endpoint at the path <code>.well-known/openid-configuration</code>.</p>
591
+ * @public
592
+ */
593
+ issuer: string | undefined;
594
+ /**
595
+ * <p>A descriptive string that you want to prefix to user entities from your OIDC identity
596
+ * provider. For example, if you set an <code>entityIdPrefix</code> of
597
+ * <code>MyOIDCProvider</code>, you can reference principals in your policies in the format
598
+ * <code>MyCorp::User::MyOIDCProvider|Carlos</code>.</p>
599
+ * @public
600
+ */
601
+ entityIdPrefix?: string;
602
+ /**
603
+ * <p>The claim in OIDC identity provider tokens that indicates a user's group membership, and
604
+ * the entity type that you want to map it to. For example, this object can map the contents
605
+ * of a <code>groups</code> claim to <code>MyCorp::UserGroup</code>.</p>
606
+ * @public
607
+ */
608
+ groupConfiguration?: OpenIdConnectGroupConfiguration;
609
+ /**
610
+ * <p>The token type that you want to process from your OIDC identity provider. Your policy
611
+ * store can process either identity (ID) or access tokens from a given OIDC identity
612
+ * source.</p>
613
+ * @public
614
+ */
615
+ tokenSelection: OpenIdConnectTokenSelection | undefined;
616
+ }
462
617
  /**
463
618
  * <p>Contains configuration information used when creating a new identity source.</p>
464
- * <note>
465
- * <p>At this time, the only valid member of this structure is a Amazon Cognito user pool
466
- * configuration.</p>
467
- * <p>Specifies a <code>userPoolArn</code>, a <code>groupConfiguration</code>, and a
468
- * <code>ClientId</code>.</p>
469
- * </note>
470
619
  * <p>This data type is used as a request parameter for the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html">CreateIdentitySource</a>
471
620
  * operation.</p>
472
621
  * @public
473
622
  */
474
- export type Configuration = Configuration.CognitoUserPoolConfigurationMember | Configuration.$UnknownMember;
623
+ export type Configuration = Configuration.CognitoUserPoolConfigurationMember | Configuration.OpenIdConnectConfigurationMember | Configuration.$UnknownMember;
475
624
  /**
476
625
  * @public
477
626
  */
@@ -488,6 +637,21 @@ export declare namespace Configuration {
488
637
  */
489
638
  interface CognitoUserPoolConfigurationMember {
490
639
  cognitoUserPoolConfiguration: CognitoUserPoolConfiguration;
640
+ openIdConnectConfiguration?: never;
641
+ $unknown?: never;
642
+ }
643
+ /**
644
+ * <p>Contains configuration details of an OpenID Connect (OIDC) identity provider, or
645
+ * identity source, that Verified Permissions can use to generate entities from authenticated identities. It
646
+ * specifies the issuer URL, token type that you want to use, and policy store entity
647
+ * details.</p>
648
+ * <p>Example:<code>"configuration":\{"openIdConnectConfiguration":\{"issuer":"https://auth.example.com","tokenSelection":\{"accessTokenOnly":\{"audiences":["https://myapp.example.com","https://myapp2.example.com"],"principalIdClaim":"sub"\}\},"entityIdPrefix":"MyOIDCProvider","groupConfiguration":\{"groupClaim":"groups","groupEntityType":"MyCorp::UserGroup"\}\}\}</code>
649
+ * </p>
650
+ * @public
651
+ */
652
+ interface OpenIdConnectConfigurationMember {
653
+ cognitoUserPoolConfiguration?: never;
654
+ openIdConnectConfiguration: OpenIdConnectConfiguration;
491
655
  $unknown?: never;
492
656
  }
493
657
  /**
@@ -495,21 +659,178 @@ export declare namespace Configuration {
495
659
  */
496
660
  interface $UnknownMember {
497
661
  cognitoUserPoolConfiguration?: never;
662
+ openIdConnectConfiguration?: never;
498
663
  $unknown: [string, any];
499
664
  }
500
665
  interface Visitor<T> {
501
666
  cognitoUserPoolConfiguration: (value: CognitoUserPoolConfiguration) => T;
667
+ openIdConnectConfiguration: (value: OpenIdConnectConfiguration) => T;
502
668
  _: (name: string, value: any) => T;
503
669
  }
504
670
  const visit: <T>(value: Configuration, visitor: Visitor<T>) => T;
505
671
  }
672
+ /**
673
+ * <p>The claim in OIDC identity provider tokens that indicates a user's group membership, and
674
+ * the entity type that you want to map it to. For example, this object can map the contents
675
+ * of a <code>groups</code> claim to <code>MyCorp::UserGroup</code>.</p>
676
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectConfigurationDetail.html">OpenIdConnectConfigurationDetail</a> structure, which is a parameter of <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_GetIdentitySource.html">GetIdentitySource</a>.</p>
677
+ * @public
678
+ */
679
+ export interface OpenIdConnectGroupConfigurationDetail {
680
+ /**
681
+ * <p>The token claim that you want Verified Permissions to interpret as group membership. For example,
682
+ * <code>groups</code>.</p>
683
+ * @public
684
+ */
685
+ groupClaim: string | undefined;
686
+ /**
687
+ * <p>The policy store entity type that you want to map your users' group claim to. For example,
688
+ * <code>MyCorp::UserGroup</code>. A group entity type is an entity that can have a user
689
+ * entity type as a member.</p>
690
+ * @public
691
+ */
692
+ groupEntityType: string | undefined;
693
+ }
694
+ /**
695
+ * <p>The configuration of an OpenID Connect (OIDC) identity source for handling access token
696
+ * claims. Contains the claim that you want to identify as the principal in an authorization
697
+ * request, and the values of the <code>aud</code> claim, or audiences, that you want to
698
+ * accept.</p>
699
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectTokenSelectionDetail.html">OpenIdConnectTokenSelectionDetail</a> structure, which is a parameter of <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_GetIdentitySource.html">GetIdentitySource</a>.</p>
700
+ * @public
701
+ */
702
+ export interface OpenIdConnectAccessTokenConfigurationDetail {
703
+ /**
704
+ * <p>The claim that determines the principal in OIDC access tokens. For example,
705
+ * <code>sub</code>.</p>
706
+ * @public
707
+ */
708
+ principalIdClaim?: string;
709
+ /**
710
+ * <p>The access token <code>aud</code> claim values that you want to accept in your policy
711
+ * store. For example, <code>https://myapp.example.com, https://myapp2.example.com</code>.</p>
712
+ * @public
713
+ */
714
+ audiences?: string[];
715
+ }
716
+ /**
717
+ * <p>The configuration of an OpenID Connect (OIDC) identity source for handling identity (ID)
718
+ * token claims. Contains the claim that you want to identify as the principal in an
719
+ * authorization request, and the values of the <code>aud</code> claim, or audiences, that
720
+ * you want to accept.</p>
721
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectTokenSelectionDetail.html">OpenIdConnectTokenSelectionDetail</a> structure, which is a parameter of <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_GetIdentitySource.html">GetIdentitySource</a>.</p>
722
+ * @public
723
+ */
724
+ export interface OpenIdConnectIdentityTokenConfigurationDetail {
725
+ /**
726
+ * <p>The claim that determines the principal in OIDC access tokens. For example,
727
+ * <code>sub</code>.</p>
728
+ * @public
729
+ */
730
+ principalIdClaim?: string;
731
+ /**
732
+ * <p>The ID token audience, or client ID, claim values that you want to accept in your policy
733
+ * store from an OIDC identity provider. For example, <code>1example23456789,
734
+ * 2example10111213</code>.</p>
735
+ * @public
736
+ */
737
+ clientIds?: string[];
738
+ }
739
+ /**
740
+ * <p>The token type that you want to process from your OIDC identity provider. Your policy
741
+ * store can process either identity (ID) or access tokens from a given OIDC identity
742
+ * source.</p>
743
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectConfigurationDetail.html">OpenIdConnectConfigurationDetail</a> structure, which is a parameter of <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_GetIdentitySource.html">GetIdentitySource</a>.</p>
744
+ * @public
745
+ */
746
+ export type OpenIdConnectTokenSelectionDetail = OpenIdConnectTokenSelectionDetail.AccessTokenOnlyMember | OpenIdConnectTokenSelectionDetail.IdentityTokenOnlyMember | OpenIdConnectTokenSelectionDetail.$UnknownMember;
747
+ /**
748
+ * @public
749
+ */
750
+ export declare namespace OpenIdConnectTokenSelectionDetail {
751
+ /**
752
+ * <p>The OIDC configuration for processing access tokens. Contains allowed audience claims,
753
+ * for example <code>https://auth.example.com</code>, and the claim that you want to map to the
754
+ * principal, for example <code>sub</code>.</p>
755
+ * @public
756
+ */
757
+ interface AccessTokenOnlyMember {
758
+ accessTokenOnly: OpenIdConnectAccessTokenConfigurationDetail;
759
+ identityTokenOnly?: never;
760
+ $unknown?: never;
761
+ }
762
+ /**
763
+ * <p>The OIDC configuration for processing identity (ID) tokens. Contains allowed client ID
764
+ * claims, for example <code>1example23456789</code>, and the claim that you want to map to
765
+ * the principal, for example <code>sub</code>.</p>
766
+ * @public
767
+ */
768
+ interface IdentityTokenOnlyMember {
769
+ accessTokenOnly?: never;
770
+ identityTokenOnly: OpenIdConnectIdentityTokenConfigurationDetail;
771
+ $unknown?: never;
772
+ }
773
+ /**
774
+ * @public
775
+ */
776
+ interface $UnknownMember {
777
+ accessTokenOnly?: never;
778
+ identityTokenOnly?: never;
779
+ $unknown: [string, any];
780
+ }
781
+ interface Visitor<T> {
782
+ accessTokenOnly: (value: OpenIdConnectAccessTokenConfigurationDetail) => T;
783
+ identityTokenOnly: (value: OpenIdConnectIdentityTokenConfigurationDetail) => T;
784
+ _: (name: string, value: any) => T;
785
+ }
786
+ const visit: <T>(value: OpenIdConnectTokenSelectionDetail, visitor: Visitor<T>) => T;
787
+ }
788
+ /**
789
+ * <p>Contains configuration details of an OpenID Connect (OIDC) identity provider, or
790
+ * identity source, that Verified Permissions can use to generate entities from authenticated identities. It
791
+ * specifies the issuer URL, token type that you want to use, and policy store entity
792
+ * details.</p>
793
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ConfigurationDetail.html">ConfigurationDetail</a> structure,
794
+ * which is a parameter to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_GetIdentitySource.html">GetIdentitySource</a>.</p>
795
+ * @public
796
+ */
797
+ export interface OpenIdConnectConfigurationDetail {
798
+ /**
799
+ * <p>The issuer URL of an OIDC identity provider. This URL must have an OIDC discovery
800
+ * endpoint at the path <code>.well-known/openid-configuration</code>.</p>
801
+ * @public
802
+ */
803
+ issuer: string | undefined;
804
+ /**
805
+ * <p>A descriptive string that you want to prefix to user entities from your OIDC identity
806
+ * provider. For example, if you set an <code>entityIdPrefix</code> of
807
+ * <code>MyOIDCProvider</code>, you can reference principals in your policies in the format
808
+ * <code>MyCorp::User::MyOIDCProvider|Carlos</code>.</p>
809
+ * @public
810
+ */
811
+ entityIdPrefix?: string;
812
+ /**
813
+ * <p>The claim in OIDC identity provider tokens that indicates a user's group membership, and
814
+ * the entity type that you want to map it to. For example, this object can map the contents
815
+ * of a <code>groups</code> claim to <code>MyCorp::UserGroup</code>.</p>
816
+ * @public
817
+ */
818
+ groupConfiguration?: OpenIdConnectGroupConfigurationDetail;
819
+ /**
820
+ * <p>The token type that you want to process from your OIDC identity provider. Your policy
821
+ * store can process either identity (ID) or access tokens from a given OIDC identity
822
+ * source.</p>
823
+ * @public
824
+ */
825
+ tokenSelection: OpenIdConnectTokenSelectionDetail | undefined;
826
+ }
506
827
  /**
507
828
  * <p>Contains configuration information about an identity source.</p>
508
829
  * <p>This data type is a response parameter to the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_GetIdentitySource.html">GetIdentitySource</a>
509
830
  * operation.</p>
510
831
  * @public
511
832
  */
512
- export type ConfigurationDetail = ConfigurationDetail.CognitoUserPoolConfigurationMember | ConfigurationDetail.$UnknownMember;
833
+ export type ConfigurationDetail = ConfigurationDetail.CognitoUserPoolConfigurationMember | ConfigurationDetail.OpenIdConnectConfigurationMember | ConfigurationDetail.$UnknownMember;
513
834
  /**
514
835
  * @public
515
836
  */
@@ -527,6 +848,21 @@ export declare namespace ConfigurationDetail {
527
848
  */
528
849
  interface CognitoUserPoolConfigurationMember {
529
850
  cognitoUserPoolConfiguration: CognitoUserPoolConfigurationDetail;
851
+ openIdConnectConfiguration?: never;
852
+ $unknown?: never;
853
+ }
854
+ /**
855
+ * <p>Contains configuration details of an OpenID Connect (OIDC) identity provider, or
856
+ * identity source, that Verified Permissions can use to generate entities from authenticated identities. It
857
+ * specifies the issuer URL, token type that you want to use, and policy store entity
858
+ * details.</p>
859
+ * <p>Example:<code>"configuration":\{"openIdConnectConfiguration":\{"issuer":"https://auth.example.com","tokenSelection":\{"accessTokenOnly":\{"audiences":["https://myapp.example.com","https://myapp2.example.com"],"principalIdClaim":"sub"\}\},"entityIdPrefix":"MyOIDCProvider","groupConfiguration":\{"groupClaim":"groups","groupEntityType":"MyCorp::UserGroup"\}\}\}</code>
860
+ * </p>
861
+ * @public
862
+ */
863
+ interface OpenIdConnectConfigurationMember {
864
+ cognitoUserPoolConfiguration?: never;
865
+ openIdConnectConfiguration: OpenIdConnectConfigurationDetail;
530
866
  $unknown?: never;
531
867
  }
532
868
  /**
@@ -534,21 +870,178 @@ export declare namespace ConfigurationDetail {
534
870
  */
535
871
  interface $UnknownMember {
536
872
  cognitoUserPoolConfiguration?: never;
873
+ openIdConnectConfiguration?: never;
537
874
  $unknown: [string, any];
538
875
  }
539
876
  interface Visitor<T> {
540
877
  cognitoUserPoolConfiguration: (value: CognitoUserPoolConfigurationDetail) => T;
878
+ openIdConnectConfiguration: (value: OpenIdConnectConfigurationDetail) => T;
541
879
  _: (name: string, value: any) => T;
542
880
  }
543
881
  const visit: <T>(value: ConfigurationDetail, visitor: Visitor<T>) => T;
544
882
  }
883
+ /**
884
+ * <p>The claim in OIDC identity provider tokens that indicates a user's group membership, and
885
+ * the entity type that you want to map it to. For example, this object can map the contents
886
+ * of a <code>groups</code> claim to <code>MyCorp::UserGroup</code>.</p>
887
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectConfigurationItem.html">OpenIdConnectConfigurationItem</a> structure, which is a parameter of <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListIdentitySources.html">ListIdentitySourcea</a>.</p>
888
+ * @public
889
+ */
890
+ export interface OpenIdConnectGroupConfigurationItem {
891
+ /**
892
+ * <p>The token claim that you want Verified Permissions to interpret as group membership. For example,
893
+ * <code>groups</code>.</p>
894
+ * @public
895
+ */
896
+ groupClaim: string | undefined;
897
+ /**
898
+ * <p>The policy store entity type that you want to map your users' group claim to. For example,
899
+ * <code>MyCorp::UserGroup</code>. A group entity type is an entity that can have a user
900
+ * entity type as a member.</p>
901
+ * @public
902
+ */
903
+ groupEntityType: string | undefined;
904
+ }
905
+ /**
906
+ * <p>The configuration of an OpenID Connect (OIDC) identity source for handling access token
907
+ * claims. Contains the claim that you want to identify as the principal in an authorization
908
+ * request, and the values of the <code>aud</code> claim, or audiences, that you want to
909
+ * accept.</p>
910
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectTokenSelectionItem.html">OpenIdConnectTokenSelectionItem</a> structure, which is a parameter of <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListIdentitySources.html">ListIdentitySources</a>.</p>
911
+ * @public
912
+ */
913
+ export interface OpenIdConnectAccessTokenConfigurationItem {
914
+ /**
915
+ * <p>The claim that determines the principal in OIDC access tokens. For example,
916
+ * <code>sub</code>.</p>
917
+ * @public
918
+ */
919
+ principalIdClaim?: string;
920
+ /**
921
+ * <p>The access token <code>aud</code> claim values that you want to accept in your policy
922
+ * store. For example, <code>https://myapp.example.com, https://myapp2.example.com</code>.</p>
923
+ * @public
924
+ */
925
+ audiences?: string[];
926
+ }
927
+ /**
928
+ * <p>The configuration of an OpenID Connect (OIDC) identity source for handling identity (ID)
929
+ * token claims. Contains the claim that you want to identify as the principal in an
930
+ * authorization request, and the values of the <code>aud</code> claim, or audiences, that
931
+ * you want to accept.</p>
932
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectTokenSelectionItem.html">OpenIdConnectTokenSelectionItem</a> structure, which is a parameter of <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListIdentitySources.html">ListIdentitySources</a>.</p>
933
+ * @public
934
+ */
935
+ export interface OpenIdConnectIdentityTokenConfigurationItem {
936
+ /**
937
+ * <p>The claim that determines the principal in OIDC access tokens. For example,
938
+ * <code>sub</code>.</p>
939
+ * @public
940
+ */
941
+ principalIdClaim?: string;
942
+ /**
943
+ * <p>The ID token audience, or client ID, claim values that you want to accept in your policy
944
+ * store from an OIDC identity provider. For example, <code>1example23456789,
945
+ * 2example10111213</code>.</p>
946
+ * @public
947
+ */
948
+ clientIds?: string[];
949
+ }
950
+ /**
951
+ * <p>The token type that you want to process from your OIDC identity provider. Your policy
952
+ * store can process either identity (ID) or access tokens from a given OIDC identity
953
+ * source.</p>
954
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectConfigurationItem.html">OpenIdConnectConfigurationItem</a> structure, which is a parameter of <a href="http://amazonaws.com/verifiedpermissions/latest/apireference/API_ListIdentitySources.html">ListIdentitySources</a>.</p>
955
+ * @public
956
+ */
957
+ export type OpenIdConnectTokenSelectionItem = OpenIdConnectTokenSelectionItem.AccessTokenOnlyMember | OpenIdConnectTokenSelectionItem.IdentityTokenOnlyMember | OpenIdConnectTokenSelectionItem.$UnknownMember;
958
+ /**
959
+ * @public
960
+ */
961
+ export declare namespace OpenIdConnectTokenSelectionItem {
962
+ /**
963
+ * <p>The OIDC configuration for processing access tokens. Contains allowed audience claims,
964
+ * for example <code>https://auth.example.com</code>, and the claim that you want to map to the
965
+ * principal, for example <code>sub</code>.</p>
966
+ * @public
967
+ */
968
+ interface AccessTokenOnlyMember {
969
+ accessTokenOnly: OpenIdConnectAccessTokenConfigurationItem;
970
+ identityTokenOnly?: never;
971
+ $unknown?: never;
972
+ }
973
+ /**
974
+ * <p>The OIDC configuration for processing identity (ID) tokens. Contains allowed client ID
975
+ * claims, for example <code>1example23456789</code>, and the claim that you want to map to
976
+ * the principal, for example <code>sub</code>.</p>
977
+ * @public
978
+ */
979
+ interface IdentityTokenOnlyMember {
980
+ accessTokenOnly?: never;
981
+ identityTokenOnly: OpenIdConnectIdentityTokenConfigurationItem;
982
+ $unknown?: never;
983
+ }
984
+ /**
985
+ * @public
986
+ */
987
+ interface $UnknownMember {
988
+ accessTokenOnly?: never;
989
+ identityTokenOnly?: never;
990
+ $unknown: [string, any];
991
+ }
992
+ interface Visitor<T> {
993
+ accessTokenOnly: (value: OpenIdConnectAccessTokenConfigurationItem) => T;
994
+ identityTokenOnly: (value: OpenIdConnectIdentityTokenConfigurationItem) => T;
995
+ _: (name: string, value: any) => T;
996
+ }
997
+ const visit: <T>(value: OpenIdConnectTokenSelectionItem, visitor: Visitor<T>) => T;
998
+ }
999
+ /**
1000
+ * <p>Contains configuration details of an OpenID Connect (OIDC) identity provider, or
1001
+ * identity source, that Verified Permissions can use to generate entities from authenticated identities. It
1002
+ * specifies the issuer URL, token type that you want to use, and policy store entity
1003
+ * details.</p>
1004
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ConfigurationDetail.html">ConfigurationItem</a> structure,
1005
+ * which is a parameter to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListIdentitySources.html">ListIdentitySources</a>.</p>
1006
+ * @public
1007
+ */
1008
+ export interface OpenIdConnectConfigurationItem {
1009
+ /**
1010
+ * <p>The issuer URL of an OIDC identity provider. This URL must have an OIDC discovery
1011
+ * endpoint at the path <code>.well-known/openid-configuration</code>.</p>
1012
+ * @public
1013
+ */
1014
+ issuer: string | undefined;
1015
+ /**
1016
+ * <p>A descriptive string that you want to prefix to user entities from your OIDC identity
1017
+ * provider. For example, if you set an <code>entityIdPrefix</code> of
1018
+ * <code>MyOIDCProvider</code>, you can reference principals in your policies in the format
1019
+ * <code>MyCorp::User::MyOIDCProvider|Carlos</code>.</p>
1020
+ * @public
1021
+ */
1022
+ entityIdPrefix?: string;
1023
+ /**
1024
+ * <p>The claim in OIDC identity provider tokens that indicates a user's group membership, and
1025
+ * the entity type that you want to map it to. For example, this object can map the contents
1026
+ * of a <code>groups</code> claim to <code>MyCorp::UserGroup</code>.</p>
1027
+ * @public
1028
+ */
1029
+ groupConfiguration?: OpenIdConnectGroupConfigurationItem;
1030
+ /**
1031
+ * <p>The token type that you want to process from your OIDC identity provider. Your policy
1032
+ * store can process either identity (ID) or access tokens from a given OIDC identity
1033
+ * source.</p>
1034
+ * @public
1035
+ */
1036
+ tokenSelection: OpenIdConnectTokenSelectionItem | undefined;
1037
+ }
545
1038
  /**
546
1039
  * <p>Contains configuration information about an identity source.</p>
547
1040
  * <p>This data type is a response parameter to the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListIdentitySources.html">ListIdentitySources</a>
548
1041
  * operation.</p>
549
1042
  * @public
550
1043
  */
551
- export type ConfigurationItem = ConfigurationItem.CognitoUserPoolConfigurationMember | ConfigurationItem.$UnknownMember;
1044
+ export type ConfigurationItem = ConfigurationItem.CognitoUserPoolConfigurationMember | ConfigurationItem.OpenIdConnectConfigurationMember | ConfigurationItem.$UnknownMember;
552
1045
  /**
553
1046
  * @public
554
1047
  */
@@ -566,6 +1059,21 @@ export declare namespace ConfigurationItem {
566
1059
  */
567
1060
  interface CognitoUserPoolConfigurationMember {
568
1061
  cognitoUserPoolConfiguration: CognitoUserPoolConfigurationItem;
1062
+ openIdConnectConfiguration?: never;
1063
+ $unknown?: never;
1064
+ }
1065
+ /**
1066
+ * <p>Contains configuration details of an OpenID Connect (OIDC) identity provider, or
1067
+ * identity source, that Verified Permissions can use to generate entities from authenticated identities. It
1068
+ * specifies the issuer URL, token type that you want to use, and policy store entity
1069
+ * details.</p>
1070
+ * <p>Example:<code>"configuration":\{"openIdConnectConfiguration":\{"issuer":"https://auth.example.com","tokenSelection":\{"accessTokenOnly":\{"audiences":["https://myapp.example.com","https://myapp2.example.com"],"principalIdClaim":"sub"\}\},"entityIdPrefix":"MyOIDCProvider","groupConfiguration":\{"groupClaim":"groups","groupEntityType":"MyCorp::UserGroup"\}\}\}</code>
1071
+ * </p>
1072
+ * @public
1073
+ */
1074
+ interface OpenIdConnectConfigurationMember {
1075
+ cognitoUserPoolConfiguration?: never;
1076
+ openIdConnectConfiguration: OpenIdConnectConfigurationItem;
569
1077
  $unknown?: never;
570
1078
  }
571
1079
  /**
@@ -573,10 +1081,12 @@ export declare namespace ConfigurationItem {
573
1081
  */
574
1082
  interface $UnknownMember {
575
1083
  cognitoUserPoolConfiguration?: never;
1084
+ openIdConnectConfiguration?: never;
576
1085
  $unknown: [string, any];
577
1086
  }
578
1087
  interface Visitor<T> {
579
1088
  cognitoUserPoolConfiguration: (value: CognitoUserPoolConfigurationItem) => T;
1089
+ openIdConnectConfiguration: (value: OpenIdConnectConfigurationItem) => T;
580
1090
  _: (name: string, value: any) => T;
581
1091
  }
582
1092
  const visit: <T>(value: ConfigurationItem, visitor: Visitor<T>) => T;
@@ -647,12 +1157,6 @@ export interface CreateIdentitySourceInput {
647
1157
  /**
648
1158
  * <p>Specifies the details required to communicate with the identity provider (IdP)
649
1159
  * associated with this identity source.</p>
650
- * <note>
651
- * <p>At this time, the only valid member of this structure is a Amazon Cognito user pool
652
- * configuration.</p>
653
- * <p>You must specify a <code>UserPoolArn</code>, and optionally, a
654
- * <code>ClientId</code>.</p>
655
- * </note>
656
1160
  * @public
657
1161
  */
658
1162
  configuration: Configuration | undefined;
@@ -1848,17 +2352,166 @@ export interface UpdateCognitoUserPoolConfiguration {
1848
2352
  groupConfiguration?: UpdateCognitoGroupConfiguration;
1849
2353
  }
1850
2354
  /**
1851
- * <p>Contains an updated configuration to replace the configuration in an existing
2355
+ * <p>The claim in OIDC identity provider tokens that indicates a user's group membership, and
2356
+ * the entity type that you want to map it to. For example, this object can map the contents
2357
+ * of a <code>groups</code> claim to <code>MyCorp::UserGroup</code>.</p>
2358
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdateOpenIdConnectConfiguration.html">UpdateOpenIdConnectConfiguration</a> structure, which is a parameter to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdateIdentitySource.html">UpdateIdentitySource</a>.</p>
2359
+ * @public
2360
+ */
2361
+ export interface UpdateOpenIdConnectGroupConfiguration {
2362
+ /**
2363
+ * <p>The token claim that you want Verified Permissions to interpret as group membership. For example,
2364
+ * <code>groups</code>.</p>
2365
+ * @public
2366
+ */
2367
+ groupClaim: string | undefined;
2368
+ /**
2369
+ * <p>The policy store entity type that you want to map your users' group claim to. For example,
2370
+ * <code>MyCorp::UserGroup</code>. A group entity type is an entity that can have a user
2371
+ * entity type as a member.</p>
2372
+ * @public
2373
+ */
2374
+ groupEntityType: string | undefined;
2375
+ }
2376
+ /**
2377
+ * <p>The configuration of an OpenID Connect (OIDC) identity source for handling access token
2378
+ * claims. Contains the claim that you want to identify as the principal in an authorization
2379
+ * request, and the values of the <code>aud</code> claim, or audiences, that you want to
2380
+ * accept.</p>
2381
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdateOpenIdConnectTokenSelection.html">UpdateOpenIdConnectTokenSelection</a> structure, which is a parameter to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdateIdentitySource.html">UpdateIdentitySource</a>.</p>
2382
+ * @public
2383
+ */
2384
+ export interface UpdateOpenIdConnectAccessTokenConfiguration {
2385
+ /**
2386
+ * <p>The claim that determines the principal in OIDC access tokens. For example,
2387
+ * <code>sub</code>.</p>
2388
+ * @public
2389
+ */
2390
+ principalIdClaim?: string;
2391
+ /**
2392
+ * <p>The access token <code>aud</code> claim values that you want to accept in your policy
2393
+ * store. For example, <code>https://myapp.example.com, https://myapp2.example.com</code>.</p>
2394
+ * @public
2395
+ */
2396
+ audiences?: string[];
2397
+ }
2398
+ /**
2399
+ * <p>The configuration of an OpenID Connect (OIDC) identity source for handling identity (ID)
2400
+ * token claims. Contains the claim that you want to identify as the principal in an
2401
+ * authorization request, and the values of the <code>aud</code> claim, or audiences, that
2402
+ * you want to accept.</p>
2403
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdateOpenIdConnectTokenSelection.html">UpdateOpenIdConnectTokenSelection</a> structure, which is a parameter to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdateIdentitySource.html">UpdateIdentitySource</a>.</p>
2404
+ * @public
2405
+ */
2406
+ export interface UpdateOpenIdConnectIdentityTokenConfiguration {
2407
+ /**
2408
+ * <p>The claim that determines the principal in OIDC access tokens. For example,
2409
+ * <code>sub</code>.</p>
2410
+ * @public
2411
+ */
2412
+ principalIdClaim?: string;
2413
+ /**
2414
+ * <p>The ID token audience, or client ID, claim values that you want to accept in your policy
2415
+ * store from an OIDC identity provider. For example, <code>1example23456789,
2416
+ * 2example10111213</code>.</p>
2417
+ * @public
2418
+ */
2419
+ clientIds?: string[];
2420
+ }
2421
+ /**
2422
+ * <p>The token type that you want to process from your OIDC identity provider. Your policy
2423
+ * store can process either identity (ID) or access tokens from a given OIDC identity
2424
+ * source.</p>
2425
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdateOpenIdConnectConfiguration.html">UpdateOpenIdConnectConfiguration</a> structure, which is a parameter to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdateIdentitySource.html">UpdateIdentitySource</a>.</p>
2426
+ * @public
2427
+ */
2428
+ export type UpdateOpenIdConnectTokenSelection = UpdateOpenIdConnectTokenSelection.AccessTokenOnlyMember | UpdateOpenIdConnectTokenSelection.IdentityTokenOnlyMember | UpdateOpenIdConnectTokenSelection.$UnknownMember;
2429
+ /**
2430
+ * @public
2431
+ */
2432
+ export declare namespace UpdateOpenIdConnectTokenSelection {
2433
+ /**
2434
+ * <p>The OIDC configuration for processing access tokens. Contains allowed audience claims,
2435
+ * for example <code>https://auth.example.com</code>, and the claim that you want to map to the
2436
+ * principal, for example <code>sub</code>.</p>
2437
+ * @public
2438
+ */
2439
+ interface AccessTokenOnlyMember {
2440
+ accessTokenOnly: UpdateOpenIdConnectAccessTokenConfiguration;
2441
+ identityTokenOnly?: never;
2442
+ $unknown?: never;
2443
+ }
2444
+ /**
2445
+ * <p>The OIDC configuration for processing identity (ID) tokens. Contains allowed client ID
2446
+ * claims, for example <code>1example23456789</code>, and the claim that you want to map to
2447
+ * the principal, for example <code>sub</code>.</p>
2448
+ * @public
2449
+ */
2450
+ interface IdentityTokenOnlyMember {
2451
+ accessTokenOnly?: never;
2452
+ identityTokenOnly: UpdateOpenIdConnectIdentityTokenConfiguration;
2453
+ $unknown?: never;
2454
+ }
2455
+ /**
2456
+ * @public
2457
+ */
2458
+ interface $UnknownMember {
2459
+ accessTokenOnly?: never;
2460
+ identityTokenOnly?: never;
2461
+ $unknown: [string, any];
2462
+ }
2463
+ interface Visitor<T> {
2464
+ accessTokenOnly: (value: UpdateOpenIdConnectAccessTokenConfiguration) => T;
2465
+ identityTokenOnly: (value: UpdateOpenIdConnectIdentityTokenConfiguration) => T;
2466
+ _: (name: string, value: any) => T;
2467
+ }
2468
+ const visit: <T>(value: UpdateOpenIdConnectTokenSelection, visitor: Visitor<T>) => T;
2469
+ }
2470
+ /**
2471
+ * <p>Contains configuration details of an OpenID Connect (OIDC) identity provider, or
2472
+ * identity source, that Verified Permissions can use to generate entities from authenticated identities. It
2473
+ * specifies the issuer URL, token type that you want to use, and policy store entity
2474
+ * details.</p>
2475
+ * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdateConfiguration.html">UpdateConfiguration</a> structure,
2476
+ * which is a parameter to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdateIdentitySource.html">UpdateIdentitySource</a>.</p>
2477
+ * @public
2478
+ */
2479
+ export interface UpdateOpenIdConnectConfiguration {
2480
+ /**
2481
+ * <p>The issuer URL of an OIDC identity provider. This URL must have an OIDC discovery
2482
+ * endpoint at the path <code>.well-known/openid-configuration</code>.</p>
2483
+ * @public
2484
+ */
2485
+ issuer: string | undefined;
2486
+ /**
2487
+ * <p>A descriptive string that you want to prefix to user entities from your OIDC identity
2488
+ * provider. For example, if you set an <code>entityIdPrefix</code> of
2489
+ * <code>MyOIDCProvider</code>, you can reference principals in your policies in the format
2490
+ * <code>MyCorp::User::MyOIDCProvider|Carlos</code>.</p>
2491
+ * @public
2492
+ */
2493
+ entityIdPrefix?: string;
2494
+ /**
2495
+ * <p>The claim in OIDC identity provider tokens that indicates a user's group membership, and
2496
+ * the entity type that you want to map it to. For example, this object can map the contents
2497
+ * of a <code>groups</code> claim to <code>MyCorp::UserGroup</code>.</p>
2498
+ * @public
2499
+ */
2500
+ groupConfiguration?: UpdateOpenIdConnectGroupConfiguration;
2501
+ /**
2502
+ * <p>The token type that you want to process from your OIDC identity provider. Your policy
2503
+ * store can process either identity (ID) or access tokens from a given OIDC identity
2504
+ * source.</p>
2505
+ * @public
2506
+ */
2507
+ tokenSelection: UpdateOpenIdConnectTokenSelection | undefined;
2508
+ }
2509
+ /**
2510
+ * <p>Contains an update to replace the configuration in an existing
1852
2511
  * identity source.</p>
1853
- * <note>
1854
- * <p>At this time, the only valid member of this structure is a Amazon Cognito user pool
1855
- * configuration.</p>
1856
- * <p>You must specify a <code>userPoolArn</code>, and optionally, a
1857
- * <code>ClientId</code>.</p>
1858
- * </note>
1859
2512
  * @public
1860
2513
  */
1861
- export type UpdateConfiguration = UpdateConfiguration.CognitoUserPoolConfigurationMember | UpdateConfiguration.$UnknownMember;
2514
+ export type UpdateConfiguration = UpdateConfiguration.CognitoUserPoolConfigurationMember | UpdateConfiguration.OpenIdConnectConfigurationMember | UpdateConfiguration.$UnknownMember;
1862
2515
  /**
1863
2516
  * @public
1864
2517
  */
@@ -1869,6 +2522,19 @@ export declare namespace UpdateConfiguration {
1869
2522
  */
1870
2523
  interface CognitoUserPoolConfigurationMember {
1871
2524
  cognitoUserPoolConfiguration: UpdateCognitoUserPoolConfiguration;
2525
+ openIdConnectConfiguration?: never;
2526
+ $unknown?: never;
2527
+ }
2528
+ /**
2529
+ * <p>Contains configuration details of an OpenID Connect (OIDC) identity provider, or
2530
+ * identity source, that Verified Permissions can use to generate entities from authenticated identities. It
2531
+ * specifies the issuer URL, token type that you want to use, and policy store entity
2532
+ * details.</p>
2533
+ * @public
2534
+ */
2535
+ interface OpenIdConnectConfigurationMember {
2536
+ cognitoUserPoolConfiguration?: never;
2537
+ openIdConnectConfiguration: UpdateOpenIdConnectConfiguration;
1872
2538
  $unknown?: never;
1873
2539
  }
1874
2540
  /**
@@ -1876,10 +2542,12 @@ export declare namespace UpdateConfiguration {
1876
2542
  */
1877
2543
  interface $UnknownMember {
1878
2544
  cognitoUserPoolConfiguration?: never;
2545
+ openIdConnectConfiguration?: never;
1879
2546
  $unknown: [string, any];
1880
2547
  }
1881
2548
  interface Visitor<T> {
1882
2549
  cognitoUserPoolConfiguration: (value: UpdateCognitoUserPoolConfiguration) => T;
2550
+ openIdConnectConfiguration: (value: UpdateOpenIdConnectConfiguration) => T;
1883
2551
  _: (name: string, value: any) => T;
1884
2552
  }
1885
2553
  const visit: <T>(value: UpdateConfiguration, visitor: Visitor<T>) => T;
@@ -2985,7 +3653,13 @@ export interface EntityItem {
2985
3653
  */
2986
3654
  attributes?: Record<string, AttributeValue>;
2987
3655
  /**
2988
- * <p>The parents in the hierarchy that contains the entity.</p>
3656
+ * <p>The parent entities in the hierarchy that contains the entity. A principal or resource
3657
+ * entity can be defined with at most 99 <i>transitive parents</i> per
3658
+ * authorization request. </p>
3659
+ * <p>A transitive parent is an entity in the hierarchy of entities including all direct
3660
+ * parents, and parents of parents. For example, a user can be a member of 91 groups if one
3661
+ * of those groups is a member of eight groups, for a total of 100: one entity, 91 entity
3662
+ * parents, and eight parents of parents. </p>
2989
3663
  * @public
2990
3664
  */
2991
3665
  parents?: EntityIdentifier[];
@@ -3415,14 +4089,74 @@ export declare const CognitoUserPoolConfigurationDetailFilterSensitiveLog: (obj:
3415
4089
  * @internal
3416
4090
  */
3417
4091
  export declare const CognitoUserPoolConfigurationItemFilterSensitiveLog: (obj: CognitoUserPoolConfigurationItem) => any;
4092
+ /**
4093
+ * @internal
4094
+ */
4095
+ export declare const OpenIdConnectGroupConfigurationFilterSensitiveLog: (obj: OpenIdConnectGroupConfiguration) => any;
4096
+ /**
4097
+ * @internal
4098
+ */
4099
+ export declare const OpenIdConnectAccessTokenConfigurationFilterSensitiveLog: (obj: OpenIdConnectAccessTokenConfiguration) => any;
4100
+ /**
4101
+ * @internal
4102
+ */
4103
+ export declare const OpenIdConnectIdentityTokenConfigurationFilterSensitiveLog: (obj: OpenIdConnectIdentityTokenConfiguration) => any;
4104
+ /**
4105
+ * @internal
4106
+ */
4107
+ export declare const OpenIdConnectTokenSelectionFilterSensitiveLog: (obj: OpenIdConnectTokenSelection) => any;
4108
+ /**
4109
+ * @internal
4110
+ */
4111
+ export declare const OpenIdConnectConfigurationFilterSensitiveLog: (obj: OpenIdConnectConfiguration) => any;
3418
4112
  /**
3419
4113
  * @internal
3420
4114
  */
3421
4115
  export declare const ConfigurationFilterSensitiveLog: (obj: Configuration) => any;
4116
+ /**
4117
+ * @internal
4118
+ */
4119
+ export declare const OpenIdConnectGroupConfigurationDetailFilterSensitiveLog: (obj: OpenIdConnectGroupConfigurationDetail) => any;
4120
+ /**
4121
+ * @internal
4122
+ */
4123
+ export declare const OpenIdConnectAccessTokenConfigurationDetailFilterSensitiveLog: (obj: OpenIdConnectAccessTokenConfigurationDetail) => any;
4124
+ /**
4125
+ * @internal
4126
+ */
4127
+ export declare const OpenIdConnectIdentityTokenConfigurationDetailFilterSensitiveLog: (obj: OpenIdConnectIdentityTokenConfigurationDetail) => any;
4128
+ /**
4129
+ * @internal
4130
+ */
4131
+ export declare const OpenIdConnectTokenSelectionDetailFilterSensitiveLog: (obj: OpenIdConnectTokenSelectionDetail) => any;
4132
+ /**
4133
+ * @internal
4134
+ */
4135
+ export declare const OpenIdConnectConfigurationDetailFilterSensitiveLog: (obj: OpenIdConnectConfigurationDetail) => any;
3422
4136
  /**
3423
4137
  * @internal
3424
4138
  */
3425
4139
  export declare const ConfigurationDetailFilterSensitiveLog: (obj: ConfigurationDetail) => any;
4140
+ /**
4141
+ * @internal
4142
+ */
4143
+ export declare const OpenIdConnectGroupConfigurationItemFilterSensitiveLog: (obj: OpenIdConnectGroupConfigurationItem) => any;
4144
+ /**
4145
+ * @internal
4146
+ */
4147
+ export declare const OpenIdConnectAccessTokenConfigurationItemFilterSensitiveLog: (obj: OpenIdConnectAccessTokenConfigurationItem) => any;
4148
+ /**
4149
+ * @internal
4150
+ */
4151
+ export declare const OpenIdConnectIdentityTokenConfigurationItemFilterSensitiveLog: (obj: OpenIdConnectIdentityTokenConfigurationItem) => any;
4152
+ /**
4153
+ * @internal
4154
+ */
4155
+ export declare const OpenIdConnectTokenSelectionItemFilterSensitiveLog: (obj: OpenIdConnectTokenSelectionItem) => any;
4156
+ /**
4157
+ * @internal
4158
+ */
4159
+ export declare const OpenIdConnectConfigurationItemFilterSensitiveLog: (obj: OpenIdConnectConfigurationItem) => any;
3426
4160
  /**
3427
4161
  * @internal
3428
4162
  */
@@ -3527,6 +4261,26 @@ export declare const UpdateCognitoGroupConfigurationFilterSensitiveLog: (obj: Up
3527
4261
  * @internal
3528
4262
  */
3529
4263
  export declare const UpdateCognitoUserPoolConfigurationFilterSensitiveLog: (obj: UpdateCognitoUserPoolConfiguration) => any;
4264
+ /**
4265
+ * @internal
4266
+ */
4267
+ export declare const UpdateOpenIdConnectGroupConfigurationFilterSensitiveLog: (obj: UpdateOpenIdConnectGroupConfiguration) => any;
4268
+ /**
4269
+ * @internal
4270
+ */
4271
+ export declare const UpdateOpenIdConnectAccessTokenConfigurationFilterSensitiveLog: (obj: UpdateOpenIdConnectAccessTokenConfiguration) => any;
4272
+ /**
4273
+ * @internal
4274
+ */
4275
+ export declare const UpdateOpenIdConnectIdentityTokenConfigurationFilterSensitiveLog: (obj: UpdateOpenIdConnectIdentityTokenConfiguration) => any;
4276
+ /**
4277
+ * @internal
4278
+ */
4279
+ export declare const UpdateOpenIdConnectTokenSelectionFilterSensitiveLog: (obj: UpdateOpenIdConnectTokenSelection) => any;
4280
+ /**
4281
+ * @internal
4282
+ */
4283
+ export declare const UpdateOpenIdConnectConfigurationFilterSensitiveLog: (obj: UpdateOpenIdConnectConfiguration) => any;
3530
4284
  /**
3531
4285
  * @internal
3532
4286
  */