raindancers-cloudfront 0.0.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 (103) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +176 -0
  3. package/lib/bicep/deploy/deploy.d.ts +46 -0
  4. package/lib/bicep/deploy/deploy.js +123 -0
  5. package/lib/bicep/deploy/index.d.ts +3 -0
  6. package/lib/bicep/deploy/index.js +20 -0
  7. package/lib/bicep/deploy/template.d.ts +75 -0
  8. package/lib/bicep/deploy/template.js +364 -0
  9. package/lib/bicep/deploy/templateBuilder.d.ts +16 -0
  10. package/lib/bicep/deploy/templateBuilder.js +35 -0
  11. package/lib/bicep/index.d.ts +3 -0
  12. package/lib/bicep/index.js +40 -0
  13. package/lib/bicep/patterns/azureAdApplicationFederated.d.ts +58 -0
  14. package/lib/bicep/patterns/azureAdApplicationFederated.js +317 -0
  15. package/lib/bicep/patterns/index.d.ts +1 -0
  16. package/lib/bicep/patterns/index.js +18 -0
  17. package/lib/bicep/resources/azure/appServicePlan.d.ts +11 -0
  18. package/lib/bicep/resources/azure/appServicePlan.js +24 -0
  19. package/lib/bicep/resources/azure/applicationInsights.d.ts +13 -0
  20. package/lib/bicep/resources/azure/applicationInsights.js +27 -0
  21. package/lib/bicep/resources/azure/deploymentScript.d.ts +16 -0
  22. package/lib/bicep/resources/azure/deploymentScript.js +43 -0
  23. package/lib/bicep/resources/azure/functionApp.d.ts +20 -0
  24. package/lib/bicep/resources/azure/functionApp.js +54 -0
  25. package/lib/bicep/resources/azure/index.d.ts +8 -0
  26. package/lib/bicep/resources/azure/index.js +25 -0
  27. package/lib/bicep/resources/azure/logAnalyticsWorkspace.d.ts +11 -0
  28. package/lib/bicep/resources/azure/logAnalyticsWorkspace.js +26 -0
  29. package/lib/bicep/resources/azure/managedIdentity.d.ts +13 -0
  30. package/lib/bicep/resources/azure/managedIdentity.js +24 -0
  31. package/lib/bicep/resources/azure/roleAssignment.d.ts +18 -0
  32. package/lib/bicep/resources/azure/roleAssignment.js +34 -0
  33. package/lib/bicep/resources/azure/storageAccount.d.ts +11 -0
  34. package/lib/bicep/resources/azure/storageAccount.js +28 -0
  35. package/lib/bicep/resources/graph/appRoleAssignment.d.ts +25 -0
  36. package/lib/bicep/resources/graph/appRoleAssignment.js +33 -0
  37. package/lib/bicep/resources/graph/application.d.ts +51 -0
  38. package/lib/bicep/resources/graph/application.js +88 -0
  39. package/lib/bicep/resources/graph/bicepConstruct.d.ts +14 -0
  40. package/lib/bicep/resources/graph/bicepConstruct.js +29 -0
  41. package/lib/bicep/resources/graph/existingServicePrincipal.d.ts +19 -0
  42. package/lib/bicep/resources/graph/existingServicePrincipal.js +26 -0
  43. package/lib/bicep/resources/graph/federatedIdentityCredential.d.ts +29 -0
  44. package/lib/bicep/resources/graph/federatedIdentityCredential.js +31 -0
  45. package/lib/bicep/resources/graph/group.d.ts +26 -0
  46. package/lib/bicep/resources/graph/group.js +31 -0
  47. package/lib/bicep/resources/graph/index.d.ts +8 -0
  48. package/lib/bicep/resources/graph/index.js +25 -0
  49. package/lib/bicep/resources/graph/servicePrincipal.d.ts +22 -0
  50. package/lib/bicep/resources/graph/servicePrincipal.js +27 -0
  51. package/lib/bicep/resources/graph/types/index.d.ts +1 -0
  52. package/lib/bicep/resources/graph/types/index.js +18 -0
  53. package/lib/bicep/resources/graph/types/permissions.d.ts +54 -0
  54. package/lib/bicep/resources/graph/types/permissions.js +73 -0
  55. package/lib/bicep/resources/index.d.ts +2 -0
  56. package/lib/bicep/resources/index.js +39 -0
  57. package/lib/cloudfront/auth/authLambdaFunctions.d.ts +20 -0
  58. package/lib/cloudfront/auth/authLambdaFunctions.js +159 -0
  59. package/lib/cloudfront/auth/authSecretManager.d.ts +19 -0
  60. package/lib/cloudfront/auth/authSecretManager.js +92 -0
  61. package/lib/cloudfront/auth/cognitoAuthSecretManager.d.ts +20 -0
  62. package/lib/cloudfront/auth/cognitoAuthSecretManager.js +93 -0
  63. package/lib/cloudfront/auth/index.d.ts +3 -0
  64. package/lib/cloudfront/auth/index.js +20 -0
  65. package/lib/cloudfront/authSecurityTable.d.ts +10 -0
  66. package/lib/cloudfront/authSecurityTable.js +78 -0
  67. package/lib/cloudfront/cloudfront-functions/function-composer.d.ts +21 -0
  68. package/lib/cloudfront/cloudfront-functions/function-composer.js +132 -0
  69. package/lib/cloudfront/cloudfrontCertificate.d.ts +40 -0
  70. package/lib/cloudfront/cloudfrontCertificate.js +116 -0
  71. package/lib/cloudfront/cloudfrontWebAcl.d.ts +72 -0
  72. package/lib/cloudfront/cloudfrontWebAcl.js +249 -0
  73. package/lib/cloudfront/countries.d.ts +260 -0
  74. package/lib/cloudfront/countries.js +263 -0
  75. package/lib/cloudfront/deployment/viteFrontendDeployment.d.ts +12 -0
  76. package/lib/cloudfront/deployment/viteFrontendDeployment.js +63 -0
  77. package/lib/cloudfront/index.d.ts +11 -0
  78. package/lib/cloudfront/index.js +28 -0
  79. package/lib/cloudfront/jwtDecoder.d.ts +5 -0
  80. package/lib/cloudfront/jwtDecoder.js +57 -0
  81. package/lib/cloudfront/logging/auditLogArchive.d.ts +18 -0
  82. package/lib/cloudfront/logging/auditLogArchive.js +205 -0
  83. package/lib/cloudfront/logging/index.d.ts +1 -0
  84. package/lib/cloudfront/logging/index.js +18 -0
  85. package/lib/cloudfront/oauthEdgeRole.d.ts +9 -0
  86. package/lib/cloudfront/oauthEdgeRole.js +56 -0
  87. package/lib/cloudfront/patterns/authInfrastructure.d.ts +34 -0
  88. package/lib/cloudfront/patterns/authInfrastructure.js +140 -0
  89. package/lib/cloudfront/patterns/cognito-secured-cloudfront.d.ts +36 -0
  90. package/lib/cloudfront/patterns/cognito-secured-cloudfront.js +285 -0
  91. package/lib/cloudfront/patterns/cognitoAuthInfrastructure.d.ts +28 -0
  92. package/lib/cloudfront/patterns/cognitoAuthInfrastructure.js +157 -0
  93. package/lib/cloudfront/patterns/index.d.ts +4 -0
  94. package/lib/cloudfront/patterns/index.js +21 -0
  95. package/lib/cloudfront/patterns/securedCloudFront.d.ts +73 -0
  96. package/lib/cloudfront/patterns/securedCloudFront.js +416 -0
  97. package/lib/cloudfront/ssmCrossRegionWriter.d.ts +9 -0
  98. package/lib/cloudfront/ssmCrossRegionWriter.js +65 -0
  99. package/lib/cloudfront/syncSecretToKvs.d.ts +9 -0
  100. package/lib/cloudfront/syncSecretToKvs.js +89 -0
  101. package/lib/index.d.ts +2 -0
  102. package/lib/index.js +19 -0
  103. package/package.json +105 -0
@@ -0,0 +1,29 @@
1
+ import { Application } from './application';
2
+ import { BicepConstruct } from './bicepConstruct';
3
+ import { BicepTemplate } from '../../deploy/template';
4
+ /**
5
+ * Properties for Federated Identity Credential
6
+ */
7
+ export interface FederatedIdentityCredentialProps {
8
+ /** Application to add credential to */
9
+ readonly application: Application;
10
+ /** Name of the credential */
11
+ readonly name: string;
12
+ /** OIDC issuer URL */
13
+ readonly issuer: string;
14
+ /** Subject claim value */
15
+ readonly subject: string;
16
+ /** Audience values */
17
+ readonly audiences: string[];
18
+ /** Description of the credential */
19
+ readonly description?: string;
20
+ }
21
+ /**
22
+ * CDK-style construct for Federated Identity Credential
23
+ */
24
+ export declare class FederatedIdentityCredential extends BicepConstruct {
25
+ private props;
26
+ readonly credentialId: string;
27
+ constructor(template: BicepTemplate, resourceName: string, props: FederatedIdentityCredentialProps);
28
+ synthesize(): void;
29
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FederatedIdentityCredential = void 0;
4
+ const bicepConstruct_1 = require("./bicepConstruct");
5
+ /**
6
+ * CDK-style construct for Federated Identity Credential
7
+ */
8
+ class FederatedIdentityCredential extends bicepConstruct_1.BicepConstruct {
9
+ constructor(template, resourceName, props) {
10
+ super(template, resourceName);
11
+ this.props = props;
12
+ this.credentialId = `${this.toPascalCase(resourceName)}.id`;
13
+ }
14
+ synthesize() {
15
+ const appResourceName = this.toPascalCase(this.props.application.getResourceName());
16
+ this.template.addResource(this.resourceName, {
17
+ type: 'Microsoft.Graph/applications/federatedIdentityCredentials',
18
+ apiVersion: 'v1.0',
19
+ comment: 'Federated credential for external identity provider. Note: BCP018 linter error on subject field is expected due to CDK token syntax.',
20
+ linterSuppressions: ['BCP018'],
21
+ name: `${appResourceName}.uniqueName/${this.props.name}`,
22
+ issuer: this.props.issuer,
23
+ subject: this.props.subject,
24
+ description: this.props.description || 'Federated credential for AWS',
25
+ audiences: this.props.audiences,
26
+ dependsOn: this.explicitDependencies.length > 0 ? this.explicitDependencies : undefined,
27
+ });
28
+ }
29
+ }
30
+ exports.FederatedIdentityCredential = FederatedIdentityCredential;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkSWRlbnRpdHlDcmVkZW50aWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpY2VwL3Jlc291cmNlcy9ncmFwaC9mZWRlcmF0ZWRJZGVudGl0eUNyZWRlbnRpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQWtEO0FBcUJsRDs7R0FFRztBQUNILE1BQWEsMkJBQTRCLFNBQVEsK0JBQWM7SUFHN0QsWUFBWSxRQUF1QixFQUFFLFlBQW9CLEVBQVUsS0FBdUM7UUFDeEcsS0FBSyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQURtQyxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQUV4RyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQzlELENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDM0MsSUFBSSxFQUFFLDJEQUEyRDtZQUNqRSxVQUFVLEVBQUUsTUFBTTtZQUNsQixPQUFPLEVBQUUsc0lBQXNJO1lBQy9JLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO1lBQzlCLElBQUksRUFBRSxHQUFHLGVBQWUsZUFBZSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtZQUN4RCxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLDhCQUE4QjtZQUNyRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO1lBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ3hGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXZCRCxrRUF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbiB9IGZyb20gJy4vYXBwbGljYXRpb24nO1xuaW1wb3J0IHsgQmljZXBDb25zdHJ1Y3QgfSBmcm9tICcuL2JpY2VwQ29uc3RydWN0JztcbmltcG9ydCB7IEJpY2VwVGVtcGxhdGUgfSBmcm9tICcuLi8uLi9kZXBsb3kvdGVtcGxhdGUnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIEZlZGVyYXRlZCBJZGVudGl0eSBDcmVkZW50aWFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmVkZXJhdGVkSWRlbnRpdHlDcmVkZW50aWFsUHJvcHMge1xuICAvKiogQXBwbGljYXRpb24gdG8gYWRkIGNyZWRlbnRpYWwgdG8gKi9cbiAgcmVhZG9ubHkgYXBwbGljYXRpb246IEFwcGxpY2F0aW9uO1xuICAvKiogTmFtZSBvZiB0aGUgY3JlZGVudGlhbCAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKiBPSURDIGlzc3VlciBVUkwgKi9cbiAgcmVhZG9ubHkgaXNzdWVyOiBzdHJpbmc7XG4gIC8qKiBTdWJqZWN0IGNsYWltIHZhbHVlICovXG4gIHJlYWRvbmx5IHN1YmplY3Q6IHN0cmluZztcbiAgLyoqIEF1ZGllbmNlIHZhbHVlcyAqL1xuICByZWFkb25seSBhdWRpZW5jZXM6IHN0cmluZ1tdO1xuICAvKiogRGVzY3JpcHRpb24gb2YgdGhlIGNyZWRlbnRpYWwgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ0RLLXN0eWxlIGNvbnN0cnVjdCBmb3IgRmVkZXJhdGVkIElkZW50aXR5IENyZWRlbnRpYWxcbiAqL1xuZXhwb3J0IGNsYXNzIEZlZGVyYXRlZElkZW50aXR5Q3JlZGVudGlhbCBleHRlbmRzIEJpY2VwQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGNyZWRlbnRpYWxJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHRlbXBsYXRlOiBCaWNlcFRlbXBsYXRlLCByZXNvdXJjZU5hbWU6IHN0cmluZywgcHJpdmF0ZSBwcm9wczogRmVkZXJhdGVkSWRlbnRpdHlDcmVkZW50aWFsUHJvcHMpIHtcbiAgICBzdXBlcih0ZW1wbGF0ZSwgcmVzb3VyY2VOYW1lKTtcbiAgICB0aGlzLmNyZWRlbnRpYWxJZCA9IGAke3RoaXMudG9QYXNjYWxDYXNlKHJlc291cmNlTmFtZSl9LmlkYDtcbiAgfVxuXG4gIHN5bnRoZXNpemUoKTogdm9pZCB7XG4gICAgY29uc3QgYXBwUmVzb3VyY2VOYW1lID0gdGhpcy50b1Bhc2NhbENhc2UodGhpcy5wcm9wcy5hcHBsaWNhdGlvbi5nZXRSZXNvdXJjZU5hbWUoKSk7XG4gICAgdGhpcy50ZW1wbGF0ZS5hZGRSZXNvdXJjZSh0aGlzLnJlc291cmNlTmFtZSwge1xuICAgICAgdHlwZTogJ01pY3Jvc29mdC5HcmFwaC9hcHBsaWNhdGlvbnMvZmVkZXJhdGVkSWRlbnRpdHlDcmVkZW50aWFscycsXG4gICAgICBhcGlWZXJzaW9uOiAndjEuMCcsXG4gICAgICBjb21tZW50OiAnRmVkZXJhdGVkIGNyZWRlbnRpYWwgZm9yIGV4dGVybmFsIGlkZW50aXR5IHByb3ZpZGVyLiBOb3RlOiBCQ1AwMTggbGludGVyIGVycm9yIG9uIHN1YmplY3QgZmllbGQgaXMgZXhwZWN0ZWQgZHVlIHRvIENESyB0b2tlbiBzeW50YXguJyxcbiAgICAgIGxpbnRlclN1cHByZXNzaW9uczogWydCQ1AwMTgnXSxcbiAgICAgIG5hbWU6IGAke2FwcFJlc291cmNlTmFtZX0udW5pcXVlTmFtZS8ke3RoaXMucHJvcHMubmFtZX1gLFxuICAgICAgaXNzdWVyOiB0aGlzLnByb3BzLmlzc3VlcixcbiAgICAgIHN1YmplY3Q6IHRoaXMucHJvcHMuc3ViamVjdCxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnByb3BzLmRlc2NyaXB0aW9uIHx8ICdGZWRlcmF0ZWQgY3JlZGVudGlhbCBmb3IgQVdTJyxcbiAgICAgIGF1ZGllbmNlczogdGhpcy5wcm9wcy5hdWRpZW5jZXMsXG4gICAgICBkZXBlbmRzT246IHRoaXMuZXhwbGljaXREZXBlbmRlbmNpZXMubGVuZ3RoID4gMCA/IHRoaXMuZXhwbGljaXREZXBlbmRlbmNpZXMgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cbn0iXX0=
@@ -0,0 +1,26 @@
1
+ import { BicepConstruct } from './bicepConstruct';
2
+ import { BicepTemplate } from '../../deploy/template';
3
+ /**
4
+ * Properties for Azure AD Group
5
+ */
6
+ export interface GroupProps {
7
+ /** Display name of the group */
8
+ readonly displayName: string;
9
+ /** Description of the group */
10
+ readonly description?: string;
11
+ /** Group types (e.g., ['Unified'] for Microsoft 365 groups) */
12
+ readonly groupTypes?: string[];
13
+ /** Whether the group is mail-enabled */
14
+ readonly mailEnabled?: boolean;
15
+ /** Whether the group is security-enabled */
16
+ readonly securityEnabled?: boolean;
17
+ }
18
+ /**
19
+ * CDK-style construct for Azure AD Group
20
+ */
21
+ export declare class Group extends BicepConstruct {
22
+ private props;
23
+ readonly groupId: string;
24
+ constructor(template: BicepTemplate, resourceName: string, props: GroupProps);
25
+ synthesize(): void;
26
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Group = void 0;
4
+ const bicepConstruct_1 = require("./bicepConstruct");
5
+ /**
6
+ * CDK-style construct for Azure AD Group
7
+ */
8
+ class Group extends bicepConstruct_1.BicepConstruct {
9
+ constructor(template, resourceName, props) {
10
+ super(template, resourceName);
11
+ this.props = props;
12
+ this.groupId = `${this.toPascalCase(resourceName)}.id`;
13
+ }
14
+ synthesize() {
15
+ const mailNickname = this.props.displayName.toLowerCase().replace(/[^a-z0-9]/g, '');
16
+ this.template.addResource(this.resourceName, {
17
+ type: 'Microsoft.Graph/groups',
18
+ apiVersion: 'v1.0',
19
+ comment: `Security group: ${this.props.displayName}`,
20
+ uniqueName: this.props.displayName,
21
+ displayName: this.props.displayName,
22
+ description: this.props.description,
23
+ groupTypes: this.props.groupTypes || [],
24
+ mailEnabled: this.props.mailEnabled || false,
25
+ securityEnabled: this.props.securityEnabled !== false,
26
+ mailNickname: mailNickname,
27
+ });
28
+ }
29
+ }
30
+ exports.Group = Group;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmljZXAvcmVzb3VyY2VzL2dyYXBoL2dyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFrRDtBQW1CbEQ7O0dBRUc7QUFDSCxNQUFhLEtBQU0sU0FBUSwrQkFBYztJQUd2QyxZQUFZLFFBQXVCLEVBQUUsWUFBb0IsRUFBVSxLQUFpQjtRQUNsRixLQUFLLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRG1DLFVBQUssR0FBTCxLQUFLLENBQVk7UUFFbEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMzQyxJQUFJLEVBQUUsd0JBQXdCO1lBQzlCLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDcEQsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVztZQUNsQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1lBQ25DLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLEVBQUU7WUFDdkMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUs7WUFDNUMsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxLQUFLLEtBQUs7WUFDckQsWUFBWSxFQUFFLFlBQVk7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBdkJELHNCQXVCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpY2VwQ29uc3RydWN0IH0gZnJvbSAnLi9iaWNlcENvbnN0cnVjdCc7XG5pbXBvcnQgeyBCaWNlcFRlbXBsYXRlIH0gZnJvbSAnLi4vLi4vZGVwbG95L3RlbXBsYXRlJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBBenVyZSBBRCBHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwUHJvcHMge1xuICAvKiogRGlzcGxheSBuYW1lIG9mIHRoZSBncm91cCAqL1xuICByZWFkb25seSBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAvKiogRGVzY3JpcHRpb24gb2YgdGhlIGdyb3VwICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogR3JvdXAgdHlwZXMgKGUuZy4sIFsnVW5pZmllZCddIGZvciBNaWNyb3NvZnQgMzY1IGdyb3VwcykgKi9cbiAgcmVhZG9ubHkgZ3JvdXBUeXBlcz86IHN0cmluZ1tdO1xuICAvKiogV2hldGhlciB0aGUgZ3JvdXAgaXMgbWFpbC1lbmFibGVkICovXG4gIHJlYWRvbmx5IG1haWxFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIGdyb3VwIGlzIHNlY3VyaXR5LWVuYWJsZWQgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlFbmFibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDREstc3R5bGUgY29uc3RydWN0IGZvciBBenVyZSBBRCBHcm91cFxuICovXG5leHBvcnQgY2xhc3MgR3JvdXAgZXh0ZW5kcyBCaWNlcENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBncm91cElkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IodGVtcGxhdGU6IEJpY2VwVGVtcGxhdGUsIHJlc291cmNlTmFtZTogc3RyaW5nLCBwcml2YXRlIHByb3BzOiBHcm91cFByb3BzKSB7XG4gICAgc3VwZXIodGVtcGxhdGUsIHJlc291cmNlTmFtZSk7XG4gICAgdGhpcy5ncm91cElkID0gYCR7dGhpcy50b1Bhc2NhbENhc2UocmVzb3VyY2VOYW1lKX0uaWRgO1xuICB9XG5cbiAgc3ludGhlc2l6ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBtYWlsTmlja25hbWUgPSB0aGlzLnByb3BzLmRpc3BsYXlOYW1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW15hLXowLTldL2csICcnKTtcbiAgICB0aGlzLnRlbXBsYXRlLmFkZFJlc291cmNlKHRoaXMucmVzb3VyY2VOYW1lLCB7XG4gICAgICB0eXBlOiAnTWljcm9zb2Z0LkdyYXBoL2dyb3VwcycsXG4gICAgICBhcGlWZXJzaW9uOiAndjEuMCcsXG4gICAgICBjb21tZW50OiBgU2VjdXJpdHkgZ3JvdXA6ICR7dGhpcy5wcm9wcy5kaXNwbGF5TmFtZX1gLFxuICAgICAgdW5pcXVlTmFtZTogdGhpcy5wcm9wcy5kaXNwbGF5TmFtZSxcbiAgICAgIGRpc3BsYXlOYW1lOiB0aGlzLnByb3BzLmRpc3BsYXlOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMucHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBncm91cFR5cGVzOiB0aGlzLnByb3BzLmdyb3VwVHlwZXMgfHwgW10sXG4gICAgICBtYWlsRW5hYmxlZDogdGhpcy5wcm9wcy5tYWlsRW5hYmxlZCB8fCBmYWxzZSxcbiAgICAgIHNlY3VyaXR5RW5hYmxlZDogdGhpcy5wcm9wcy5zZWN1cml0eUVuYWJsZWQgIT09IGZhbHNlLFxuICAgICAgbWFpbE5pY2tuYW1lOiBtYWlsTmlja25hbWUsXG4gICAgfSk7XG4gIH1cbn0iXX0=
@@ -0,0 +1,8 @@
1
+ export * from './appRoleAssignment';
2
+ export * from './application';
3
+ export * from './bicepConstruct';
4
+ export * from './existingServicePrincipal';
5
+ export * from './federatedIdentityCredential';
6
+ export * from './group';
7
+ export * from './servicePrincipal';
8
+ export * from './types';
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./appRoleAssignment"), exports);
18
+ __exportStar(require("./application"), exports);
19
+ __exportStar(require("./bicepConstruct"), exports);
20
+ __exportStar(require("./existingServicePrincipal"), exports);
21
+ __exportStar(require("./federatedIdentityCredential"), exports);
22
+ __exportStar(require("./group"), exports);
23
+ __exportStar(require("./servicePrincipal"), exports);
24
+ __exportStar(require("./types"), exports);
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmljZXAvcmVzb3VyY2VzL2dyYXBoL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBb0M7QUFDcEMsZ0RBQThCO0FBQzlCLG1EQUFpQztBQUNqQyw2REFBMkM7QUFDM0MsZ0VBQThDO0FBQzlDLDBDQUF3QjtBQUN4QixxREFBbUM7QUFDbkMsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcHBSb2xlQXNzaWdubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYmljZXBDb25zdHJ1Y3QnO1xuZXhwb3J0ICogZnJvbSAnLi9leGlzdGluZ1NlcnZpY2VQcmluY2lwYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWRlcmF0ZWRJZGVudGl0eUNyZWRlbnRpYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VQcmluY2lwYWwnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7Il19
@@ -0,0 +1,22 @@
1
+ import { Application } from './application';
2
+ import { BicepConstruct } from './bicepConstruct';
3
+ import { BicepTemplate } from '../../deploy/template';
4
+ /**
5
+ * Properties for Graph Service Principal construct
6
+ */
7
+ export interface ServicePrincipalProps {
8
+ /** The application to create a service principal for */
9
+ readonly application: Application;
10
+ /** Whether user assignment is required for this app */
11
+ readonly appRoleAssignmentRequired?: boolean;
12
+ }
13
+ /**
14
+ * CDK-style construct for Microsoft Graph Service Principal (Enterprise Application)
15
+ * This represents the Enterprise Application instance in your tenant
16
+ */
17
+ export declare class ServicePrincipal extends BicepConstruct {
18
+ readonly props: ServicePrincipalProps;
19
+ readonly servicePrincipalId: string;
20
+ constructor(template: BicepTemplate, resourceName: string, props: ServicePrincipalProps);
21
+ synthesize(): void;
22
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServicePrincipal = void 0;
4
+ const bicepConstruct_1 = require("./bicepConstruct");
5
+ /**
6
+ * CDK-style construct for Microsoft Graph Service Principal (Enterprise Application)
7
+ * This represents the Enterprise Application instance in your tenant
8
+ */
9
+ class ServicePrincipal extends bicepConstruct_1.BicepConstruct {
10
+ constructor(template, resourceName, props) {
11
+ super(template, resourceName);
12
+ this.props = props;
13
+ this.servicePrincipalId = `${this.toPascalCase(resourceName)}.id`;
14
+ }
15
+ synthesize() {
16
+ this.template.addResource(this.resourceName, {
17
+ type: 'Microsoft.Graph/servicePrincipals',
18
+ apiVersion: 'v1.0',
19
+ comment: 'Enterprise application instance',
20
+ appId: this.props.application.appId,
21
+ appRoleAssignmentRequired: this.props.appRoleAssignmentRequired ?? true,
22
+ dependsOn: this.explicitDependencies.length > 0 ? this.explicitDependencies : undefined,
23
+ });
24
+ }
25
+ }
26
+ exports.ServicePrincipal = ServicePrincipal;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZVByaW5jaXBhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaWNlcC9yZXNvdXJjZXMvZ3JhcGgvc2VydmljZVByaW5jaXBhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBa0Q7QUFhbEQ7OztHQUdHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSwrQkFBYztJQUdsRCxZQUFZLFFBQXVCLEVBQUUsWUFBb0IsRUFBa0IsS0FBNEI7UUFDckcsS0FBSyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUQyQyxVQUFLLEdBQUwsS0FBSyxDQUF1QjtRQUVyRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDcEUsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzNDLElBQUksRUFBRSxtQ0FBbUM7WUFDekMsVUFBVSxFQUFFLE1BQU07WUFDbEIsT0FBTyxFQUFFLGlDQUFpQztZQUMxQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSztZQUNuQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLHlCQUF5QixJQUFJLElBQUk7WUFDdkUsU0FBUyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDeEYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBbEJELDRDQWtCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uIH0gZnJvbSAnLi9hcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBCaWNlcENvbnN0cnVjdCB9IGZyb20gJy4vYmljZXBDb25zdHJ1Y3QnO1xuaW1wb3J0IHsgQmljZXBUZW1wbGF0ZSB9IGZyb20gJy4uLy4uL2RlcGxveS90ZW1wbGF0ZSc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgR3JhcGggU2VydmljZSBQcmluY2lwYWwgY29uc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVByaW5jaXBhbFByb3BzIHtcbiAgLyoqIFRoZSBhcHBsaWNhdGlvbiB0byBjcmVhdGUgYSBzZXJ2aWNlIHByaW5jaXBhbCBmb3IgKi9cbiAgcmVhZG9ubHkgYXBwbGljYXRpb246IEFwcGxpY2F0aW9uO1xuICAvKiogV2hldGhlciB1c2VyIGFzc2lnbm1lbnQgaXMgcmVxdWlyZWQgZm9yIHRoaXMgYXBwICovXG4gIHJlYWRvbmx5IGFwcFJvbGVBc3NpZ25tZW50UmVxdWlyZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENESy1zdHlsZSBjb25zdHJ1Y3QgZm9yIE1pY3Jvc29mdCBHcmFwaCBTZXJ2aWNlIFByaW5jaXBhbCAoRW50ZXJwcmlzZSBBcHBsaWNhdGlvbilcbiAqIFRoaXMgcmVwcmVzZW50cyB0aGUgRW50ZXJwcmlzZSBBcHBsaWNhdGlvbiBpbnN0YW5jZSBpbiB5b3VyIHRlbmFudFxuICovXG5leHBvcnQgY2xhc3MgU2VydmljZVByaW5jaXBhbCBleHRlbmRzIEJpY2VwQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2VQcmluY2lwYWxJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHRlbXBsYXRlOiBCaWNlcFRlbXBsYXRlLCByZXNvdXJjZU5hbWU6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IHByb3BzOiBTZXJ2aWNlUHJpbmNpcGFsUHJvcHMpIHtcbiAgICBzdXBlcih0ZW1wbGF0ZSwgcmVzb3VyY2VOYW1lKTtcbiAgICB0aGlzLnNlcnZpY2VQcmluY2lwYWxJZCA9IGAke3RoaXMudG9QYXNjYWxDYXNlKHJlc291cmNlTmFtZSl9LmlkYDtcbiAgfVxuXG4gIHN5bnRoZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy50ZW1wbGF0ZS5hZGRSZXNvdXJjZSh0aGlzLnJlc291cmNlTmFtZSwge1xuICAgICAgdHlwZTogJ01pY3Jvc29mdC5HcmFwaC9zZXJ2aWNlUHJpbmNpcGFscycsXG4gICAgICBhcGlWZXJzaW9uOiAndjEuMCcsXG4gICAgICBjb21tZW50OiAnRW50ZXJwcmlzZSBhcHBsaWNhdGlvbiBpbnN0YW5jZScsXG4gICAgICBhcHBJZDogdGhpcy5wcm9wcy5hcHBsaWNhdGlvbi5hcHBJZCxcbiAgICAgIGFwcFJvbGVBc3NpZ25tZW50UmVxdWlyZWQ6IHRoaXMucHJvcHMuYXBwUm9sZUFzc2lnbm1lbnRSZXF1aXJlZCA/PyB0cnVlLFxuICAgICAgZGVwZW5kc09uOiB0aGlzLmV4cGxpY2l0RGVwZW5kZW5jaWVzLmxlbmd0aCA+IDAgPyB0aGlzLmV4cGxpY2l0RGVwZW5kZW5jaWVzIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG59Il19
@@ -0,0 +1 @@
1
+ export * from './permissions';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./permissions"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmljZXAvcmVzb3VyY2VzL2dyYXBoL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Blcm1pc3Npb25zJztcbiJdfQ==
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Microsoft Graph resource app IDs and permission constants
3
+ */
4
+ export declare enum ResourceAppId {
5
+ MICROSOFT_GRAPH = "00000003-0000-0000-c000-000000000000"
6
+ }
7
+ export declare enum MicrosoftGraphPermission {
8
+ USER_READ = "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
9
+ USER_READ_WRITE = "b4e74841-8e56-480b-be8b-910348b18b4c",
10
+ USER_READ_ALL = "a154be20-db9c-4678-8ab7-66f6cc099a59",
11
+ USER_READ_WRITE_ALL = "204e0828-b5ca-4ad8-b9f3-f32a958e7cc4",
12
+ DIRECTORY_READ_ALL = "06da0dbc-49e2-44d2-8312-53f166ab848a",
13
+ DIRECTORY_READ_WRITE_ALL = "c5366453-9fb0-48a5-a156-24f0c49a4b84",
14
+ GROUP_READ_ALL = "5f8c59db-677d-491f-a6b8-5f174b11ec1d",
15
+ GROUP_READ_WRITE_ALL = "4e46008b-f24c-477d-8fff-7bb4ec7aafe0",
16
+ USER_READ_ALL_APP = "df021288-bdef-4463-88db-98f22de89214",
17
+ USER_READ_WRITE_ALL_APP = "741f803b-c850-494e-b5df-cde7c675a1ca",
18
+ DIRECTORY_READ_ALL_APP = "7ab1d382-f21e-4acd-a863-ba3e13f7da61",
19
+ DIRECTORY_READ_WRITE_ALL_APP = "19dbc75e-c2e2-444c-a770-ec69d8559fc7",
20
+ GROUP_READ_ALL_APP = "5b567255-7703-4780-807c-7be8301ae99b",
21
+ GROUP_READ_WRITE_ALL_APP = "62a82d76-70ea-41e2-9197-370581804d09",
22
+ CUSTOM_AUTH_EXT_RECEIVE_PAYLOAD = "214e810f-fda8-4fd7-a475-29461495eb00",
23
+ APPLICATION_READ_WRITE_ALL = "1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9",
24
+ POLICY_READ_ALL = "246dd0d5-5bd0-4def-940b-0421030a5b68",
25
+ POLICY_READ_WRITE_APPLICATION_CONFIGURATION = "be74164b-cff1-491c-8741-e671cb536e13",
26
+ MAIL_READ = "570282fd-fa5c-430d-a7fd-fc8dc98a9dca",
27
+ MAIL_READ_WRITE = "024d486e-b451-40bb-833d-3e66d98c5c73",
28
+ MAIL_SEND = "e383f46e-2787-4529-855e-0e479a3ffac0",
29
+ CALENDARS_READ = "465a38f9-76ea-45b9-9f34-9e8b0d4b0b42",
30
+ CALENDARS_READ_WRITE = "1ec239c2-d7c9-4623-a91a-a9775856bb36",
31
+ FILES_READ = "10465720-29dd-4523-a11a-6a75c743c9d9",
32
+ FILES_READ_WRITE = "5c28f0bf-8a70-41f1-8ab2-9032436ddb65",
33
+ FILES_READ_ALL = "df85f4d6-205c-4ac5-a5ea-6bf408dba283",
34
+ FILES_READ_WRITE_ALL = "863451e7-0667-486c-a5d6-d135439485f0"
35
+ }
36
+ export declare enum PermissionType {
37
+ SCOPE = "Scope",
38
+ ROLE = "Role"
39
+ }
40
+ export declare enum SignInAudience {
41
+ AZURE_AD_MY_ORG = "AzureADMyOrg",
42
+ AZURE_AD_MULTIPLE_ORGS = "AzureADMultipleOrgs",
43
+ AZURE_AD_AND_PERSONAL_MICROSOFT_ACCOUNT = "AzureADandPersonalMicrosoftAccount",
44
+ PERSONAL_MICROSOFT_ACCOUNT = "PersonalMicrosoftAccount"
45
+ }
46
+ /**
47
+ * Azure AD App Role allowed member types
48
+ */
49
+ export declare enum AllowedMemberType {
50
+ /** Individual users can be assigned this role */
51
+ USER = "User",
52
+ /** Service principals/applications can be assigned this role */
53
+ APPLICATION = "Application"
54
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ /**
3
+ * Microsoft Graph resource app IDs and permission constants
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AllowedMemberType = exports.SignInAudience = exports.PermissionType = exports.MicrosoftGraphPermission = exports.ResourceAppId = void 0;
7
+ var ResourceAppId;
8
+ (function (ResourceAppId) {
9
+ ResourceAppId["MICROSOFT_GRAPH"] = "00000003-0000-0000-c000-000000000000";
10
+ })(ResourceAppId || (exports.ResourceAppId = ResourceAppId = {}));
11
+ var MicrosoftGraphPermission;
12
+ (function (MicrosoftGraphPermission) {
13
+ // User permissions (Delegated)
14
+ MicrosoftGraphPermission["USER_READ"] = "e1fe6dd8-ba31-4d61-89e7-88639da4683d";
15
+ MicrosoftGraphPermission["USER_READ_WRITE"] = "b4e74841-8e56-480b-be8b-910348b18b4c";
16
+ MicrosoftGraphPermission["USER_READ_ALL"] = "a154be20-db9c-4678-8ab7-66f6cc099a59";
17
+ MicrosoftGraphPermission["USER_READ_WRITE_ALL"] = "204e0828-b5ca-4ad8-b9f3-f32a958e7cc4";
18
+ // Directory permissions (Delegated)
19
+ MicrosoftGraphPermission["DIRECTORY_READ_ALL"] = "06da0dbc-49e2-44d2-8312-53f166ab848a";
20
+ MicrosoftGraphPermission["DIRECTORY_READ_WRITE_ALL"] = "c5366453-9fb0-48a5-a156-24f0c49a4b84";
21
+ // Group permissions (Delegated)
22
+ MicrosoftGraphPermission["GROUP_READ_ALL"] = "5f8c59db-677d-491f-a6b8-5f174b11ec1d";
23
+ MicrosoftGraphPermission["GROUP_READ_WRITE_ALL"] = "4e46008b-f24c-477d-8fff-7bb4ec7aafe0";
24
+ // Application permissions (Application)
25
+ MicrosoftGraphPermission["USER_READ_ALL_APP"] = "df021288-bdef-4463-88db-98f22de89214";
26
+ MicrosoftGraphPermission["USER_READ_WRITE_ALL_APP"] = "741f803b-c850-494e-b5df-cde7c675a1ca";
27
+ MicrosoftGraphPermission["DIRECTORY_READ_ALL_APP"] = "7ab1d382-f21e-4acd-a863-ba3e13f7da61";
28
+ MicrosoftGraphPermission["DIRECTORY_READ_WRITE_ALL_APP"] = "19dbc75e-c2e2-444c-a770-ec69d8559fc7";
29
+ MicrosoftGraphPermission["GROUP_READ_ALL_APP"] = "5b567255-7703-4780-807c-7be8301ae99b";
30
+ MicrosoftGraphPermission["GROUP_READ_WRITE_ALL_APP"] = "62a82d76-70ea-41e2-9197-370581804d09";
31
+ // Custom Authentication Extension permissions (Application)
32
+ MicrosoftGraphPermission["CUSTOM_AUTH_EXT_RECEIVE_PAYLOAD"] = "214e810f-fda8-4fd7-a475-29461495eb00";
33
+ // Application permissions (Application)
34
+ MicrosoftGraphPermission["APPLICATION_READ_WRITE_ALL"] = "1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9";
35
+ // Policy permissions (Application)
36
+ MicrosoftGraphPermission["POLICY_READ_ALL"] = "246dd0d5-5bd0-4def-940b-0421030a5b68";
37
+ MicrosoftGraphPermission["POLICY_READ_WRITE_APPLICATION_CONFIGURATION"] = "be74164b-cff1-491c-8741-e671cb536e13";
38
+ // Mail permissions (Delegated)
39
+ MicrosoftGraphPermission["MAIL_READ"] = "570282fd-fa5c-430d-a7fd-fc8dc98a9dca";
40
+ MicrosoftGraphPermission["MAIL_READ_WRITE"] = "024d486e-b451-40bb-833d-3e66d98c5c73";
41
+ MicrosoftGraphPermission["MAIL_SEND"] = "e383f46e-2787-4529-855e-0e479a3ffac0";
42
+ // Calendar permissions (Delegated)
43
+ MicrosoftGraphPermission["CALENDARS_READ"] = "465a38f9-76ea-45b9-9f34-9e8b0d4b0b42";
44
+ MicrosoftGraphPermission["CALENDARS_READ_WRITE"] = "1ec239c2-d7c9-4623-a91a-a9775856bb36";
45
+ // Files permissions (Delegated)
46
+ MicrosoftGraphPermission["FILES_READ"] = "10465720-29dd-4523-a11a-6a75c743c9d9";
47
+ MicrosoftGraphPermission["FILES_READ_WRITE"] = "5c28f0bf-8a70-41f1-8ab2-9032436ddb65";
48
+ MicrosoftGraphPermission["FILES_READ_ALL"] = "df85f4d6-205c-4ac5-a5ea-6bf408dba283";
49
+ MicrosoftGraphPermission["FILES_READ_WRITE_ALL"] = "863451e7-0667-486c-a5d6-d135439485f0";
50
+ })(MicrosoftGraphPermission || (exports.MicrosoftGraphPermission = MicrosoftGraphPermission = {}));
51
+ var PermissionType;
52
+ (function (PermissionType) {
53
+ PermissionType["SCOPE"] = "Scope";
54
+ PermissionType["ROLE"] = "Role";
55
+ })(PermissionType || (exports.PermissionType = PermissionType = {}));
56
+ var SignInAudience;
57
+ (function (SignInAudience) {
58
+ SignInAudience["AZURE_AD_MY_ORG"] = "AzureADMyOrg";
59
+ SignInAudience["AZURE_AD_MULTIPLE_ORGS"] = "AzureADMultipleOrgs";
60
+ SignInAudience["AZURE_AD_AND_PERSONAL_MICROSOFT_ACCOUNT"] = "AzureADandPersonalMicrosoftAccount";
61
+ SignInAudience["PERSONAL_MICROSOFT_ACCOUNT"] = "PersonalMicrosoftAccount";
62
+ })(SignInAudience || (exports.SignInAudience = SignInAudience = {}));
63
+ /**
64
+ * Azure AD App Role allowed member types
65
+ */
66
+ var AllowedMemberType;
67
+ (function (AllowedMemberType) {
68
+ /** Individual users can be assigned this role */
69
+ AllowedMemberType["USER"] = "User";
70
+ /** Service principals/applications can be assigned this role */
71
+ AllowedMemberType["APPLICATION"] = "Application";
72
+ })(AllowedMemberType || (exports.AllowedMemberType = AllowedMemberType = {}));
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmljZXAvcmVzb3VyY2VzL2dyYXBoL3R5cGVzL3Blcm1pc3Npb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBRUgsSUFBWSxhQUVYO0FBRkQsV0FBWSxhQUFhO0lBQ3ZCLHlFQUF3RCxDQUFBO0FBQzFELENBQUMsRUFGVyxhQUFhLDZCQUFiLGFBQWEsUUFFeEI7QUFFRCxJQUFZLHdCQStDWDtBQS9DRCxXQUFZLHdCQUF3QjtJQUNsQywrQkFBK0I7SUFDL0IsOEVBQWtELENBQUE7SUFDbEQsb0ZBQXdELENBQUE7SUFDeEQsa0ZBQXNELENBQUE7SUFDdEQsd0ZBQTRELENBQUE7SUFFNUQsb0NBQW9DO0lBQ3BDLHVGQUEyRCxDQUFBO0lBQzNELDZGQUFpRSxDQUFBO0lBRWpFLGdDQUFnQztJQUNoQyxtRkFBdUQsQ0FBQTtJQUN2RCx5RkFBNkQsQ0FBQTtJQUU3RCx3Q0FBd0M7SUFDeEMsc0ZBQTBELENBQUE7SUFDMUQsNEZBQWdFLENBQUE7SUFDaEUsMkZBQStELENBQUE7SUFDL0QsaUdBQXFFLENBQUE7SUFDckUsdUZBQTJELENBQUE7SUFDM0QsNkZBQWlFLENBQUE7SUFFakUsNERBQTREO0lBQzVELG9HQUF3RSxDQUFBO0lBRXhFLHdDQUF3QztJQUN4QywrRkFBbUUsQ0FBQTtJQUVuRSxtQ0FBbUM7SUFDbkMsb0ZBQXdELENBQUE7SUFDeEQsZ0hBQW9GLENBQUE7SUFFcEYsK0JBQStCO0lBQy9CLDhFQUFrRCxDQUFBO0lBQ2xELG9GQUF3RCxDQUFBO0lBQ3hELDhFQUFrRCxDQUFBO0lBRWxELG1DQUFtQztJQUNuQyxtRkFBdUQsQ0FBQTtJQUN2RCx5RkFBNkQsQ0FBQTtJQUU3RCxnQ0FBZ0M7SUFDaEMsK0VBQW1ELENBQUE7SUFDbkQscUZBQXlELENBQUE7SUFDekQsbUZBQXVELENBQUE7SUFDdkQseUZBQTZELENBQUE7QUFDL0QsQ0FBQyxFQS9DVyx3QkFBd0Isd0NBQXhCLHdCQUF3QixRQStDbkM7QUFFRCxJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDeEIsaUNBQWUsQ0FBQTtJQUNmLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsY0FBYyw4QkFBZCxjQUFjLFFBR3pCO0FBRUQsSUFBWSxjQUtYO0FBTEQsV0FBWSxjQUFjO0lBQ3hCLGtEQUFnQyxDQUFBO0lBQ2hDLGdFQUE4QyxDQUFBO0lBQzlDLGdHQUE4RSxDQUFBO0lBQzlFLHlFQUF1RCxDQUFBO0FBQ3pELENBQUMsRUFMVyxjQUFjLDhCQUFkLGNBQWMsUUFLekI7QUFFRDs7R0FFRztBQUNILElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUMzQixpREFBaUQ7SUFDakQsa0NBQWEsQ0FBQTtJQUNiLGdFQUFnRTtJQUNoRSxnREFBMkIsQ0FBQTtBQUM3QixDQUFDLEVBTFcsaUJBQWlCLGlDQUFqQixpQkFBaUIsUUFLNUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1pY3Jvc29mdCBHcmFwaCByZXNvdXJjZSBhcHAgSURzIGFuZCBwZXJtaXNzaW9uIGNvbnN0YW50c1xuICovXG5cbmV4cG9ydCBlbnVtIFJlc291cmNlQXBwSWQge1xuICBNSUNST1NPRlRfR1JBUEggPSAnMDAwMDAwMDMtMDAwMC0wMDAwLWMwMDAtMDAwMDAwMDAwMDAwJyxcbn1cblxuZXhwb3J0IGVudW0gTWljcm9zb2Z0R3JhcGhQZXJtaXNzaW9uIHtcbiAgLy8gVXNlciBwZXJtaXNzaW9ucyAoRGVsZWdhdGVkKVxuICBVU0VSX1JFQUQgPSAnZTFmZTZkZDgtYmEzMS00ZDYxLTg5ZTctODg2MzlkYTQ2ODNkJyxcbiAgVVNFUl9SRUFEX1dSSVRFID0gJ2I0ZTc0ODQxLThlNTYtNDgwYi1iZThiLTkxMDM0OGIxOGI0YycsXG4gIFVTRVJfUkVBRF9BTEwgPSAnYTE1NGJlMjAtZGI5Yy00Njc4LThhYjctNjZmNmNjMDk5YTU5JyxcbiAgVVNFUl9SRUFEX1dSSVRFX0FMTCA9ICcyMDRlMDgyOC1iNWNhLTRhZDgtYjlmMy1mMzJhOTU4ZTdjYzQnLFxuXG4gIC8vIERpcmVjdG9yeSBwZXJtaXNzaW9ucyAoRGVsZWdhdGVkKVxuICBESVJFQ1RPUllfUkVBRF9BTEwgPSAnMDZkYTBkYmMtNDllMi00NGQyLTgzMTItNTNmMTY2YWI4NDhhJyxcbiAgRElSRUNUT1JZX1JFQURfV1JJVEVfQUxMID0gJ2M1MzY2NDUzLTlmYjAtNDhhNS1hMTU2LTI0ZjBjNDlhNGI4NCcsXG5cbiAgLy8gR3JvdXAgcGVybWlzc2lvbnMgKERlbGVnYXRlZClcbiAgR1JPVVBfUkVBRF9BTEwgPSAnNWY4YzU5ZGItNjc3ZC00OTFmLWE2YjgtNWYxNzRiMTFlYzFkJyxcbiAgR1JPVVBfUkVBRF9XUklURV9BTEwgPSAnNGU0NjAwOGItZjI0Yy00NzdkLThmZmYtN2JiNGVjN2FhZmUwJyxcblxuICAvLyBBcHBsaWNhdGlvbiBwZXJtaXNzaW9ucyAoQXBwbGljYXRpb24pXG4gIFVTRVJfUkVBRF9BTExfQVBQID0gJ2RmMDIxMjg4LWJkZWYtNDQ2My04OGRiLTk4ZjIyZGU4OTIxNCcsXG4gIFVTRVJfUkVBRF9XUklURV9BTExfQVBQID0gJzc0MWY4MDNiLWM4NTAtNDk0ZS1iNWRmLWNkZTdjNjc1YTFjYScsXG4gIERJUkVDVE9SWV9SRUFEX0FMTF9BUFAgPSAnN2FiMWQzODItZjIxZS00YWNkLWE4NjMtYmEzZTEzZjdkYTYxJyxcbiAgRElSRUNUT1JZX1JFQURfV1JJVEVfQUxMX0FQUCA9ICcxOWRiYzc1ZS1jMmUyLTQ0NGMtYTc3MC1lYzY5ZDg1NTlmYzcnLFxuICBHUk9VUF9SRUFEX0FMTF9BUFAgPSAnNWI1NjcyNTUtNzcwMy00NzgwLTgwN2MtN2JlODMwMWFlOTliJyxcbiAgR1JPVVBfUkVBRF9XUklURV9BTExfQVBQID0gJzYyYTgyZDc2LTcwZWEtNDFlMi05MTk3LTM3MDU4MTgwNGQwOScsXG5cbiAgLy8gQ3VzdG9tIEF1dGhlbnRpY2F0aW9uIEV4dGVuc2lvbiBwZXJtaXNzaW9ucyAoQXBwbGljYXRpb24pXG4gIENVU1RPTV9BVVRIX0VYVF9SRUNFSVZFX1BBWUxPQUQgPSAnMjE0ZTgxMGYtZmRhOC00ZmQ3LWE0NzUtMjk0NjE0OTVlYjAwJyxcblxuICAvLyBBcHBsaWNhdGlvbiBwZXJtaXNzaW9ucyAoQXBwbGljYXRpb24pXG4gIEFQUExJQ0FUSU9OX1JFQURfV1JJVEVfQUxMID0gJzFiZmVmYjRlLWUwYjUtNDE4Yi1hODhmLTczYzQ2ZDJjYzhlOScsXG5cbiAgLy8gUG9saWN5IHBlcm1pc3Npb25zIChBcHBsaWNhdGlvbilcbiAgUE9MSUNZX1JFQURfQUxMID0gJzI0NmRkMGQ1LTViZDAtNGRlZi05NDBiLTA0MjEwMzBhNWI2OCcsXG4gIFBPTElDWV9SRUFEX1dSSVRFX0FQUExJQ0FUSU9OX0NPTkZJR1VSQVRJT04gPSAnYmU3NDE2NGItY2ZmMS00OTFjLTg3NDEtZTY3MWNiNTM2ZTEzJyxcblxuICAvLyBNYWlsIHBlcm1pc3Npb25zIChEZWxlZ2F0ZWQpXG4gIE1BSUxfUkVBRCA9ICc1NzAyODJmZC1mYTVjLTQzMGQtYTdmZC1mYzhkYzk4YTlkY2EnLFxuICBNQUlMX1JFQURfV1JJVEUgPSAnMDI0ZDQ4NmUtYjQ1MS00MGJiLTgzM2QtM2U2NmQ5OGM1YzczJyxcbiAgTUFJTF9TRU5EID0gJ2UzODNmNDZlLTI3ODctNDUyOS04NTVlLTBlNDc5YTNmZmFjMCcsXG5cbiAgLy8gQ2FsZW5kYXIgcGVybWlzc2lvbnMgKERlbGVnYXRlZClcbiAgQ0FMRU5EQVJTX1JFQUQgPSAnNDY1YTM4ZjktNzZlYS00NWI5LTlmMzQtOWU4YjBkNGIwYjQyJyxcbiAgQ0FMRU5EQVJTX1JFQURfV1JJVEUgPSAnMWVjMjM5YzItZDdjOS00NjIzLWE5MWEtYTk3NzU4NTZiYjM2JyxcblxuICAvLyBGaWxlcyBwZXJtaXNzaW9ucyAoRGVsZWdhdGVkKVxuICBGSUxFU19SRUFEID0gJzEwNDY1NzIwLTI5ZGQtNDUyMy1hMTFhLTZhNzVjNzQzYzlkOScsXG4gIEZJTEVTX1JFQURfV1JJVEUgPSAnNWMyOGYwYmYtOGE3MC00MWYxLThhYjItOTAzMjQzNmRkYjY1JyxcbiAgRklMRVNfUkVBRF9BTEwgPSAnZGY4NWY0ZDYtMjA1Yy00YWM1LWE1ZWEtNmJmNDA4ZGJhMjgzJyxcbiAgRklMRVNfUkVBRF9XUklURV9BTEwgPSAnODYzNDUxZTctMDY2Ny00ODZjLWE1ZDYtZDEzNTQzOTQ4NWYwJyxcbn1cblxuZXhwb3J0IGVudW0gUGVybWlzc2lvblR5cGUge1xuICBTQ09QRSA9ICdTY29wZScsXG4gIFJPTEUgPSAnUm9sZScsXG59XG5cbmV4cG9ydCBlbnVtIFNpZ25JbkF1ZGllbmNlIHtcbiAgQVpVUkVfQURfTVlfT1JHID0gJ0F6dXJlQURNeU9yZycsXG4gIEFaVVJFX0FEX01VTFRJUExFX09SR1MgPSAnQXp1cmVBRE11bHRpcGxlT3JncycsXG4gIEFaVVJFX0FEX0FORF9QRVJTT05BTF9NSUNST1NPRlRfQUNDT1VOVCA9ICdBenVyZUFEYW5kUGVyc29uYWxNaWNyb3NvZnRBY2NvdW50JyxcbiAgUEVSU09OQUxfTUlDUk9TT0ZUX0FDQ09VTlQgPSAnUGVyc29uYWxNaWNyb3NvZnRBY2NvdW50Jyxcbn1cblxuLyoqXG4gKiBBenVyZSBBRCBBcHAgUm9sZSBhbGxvd2VkIG1lbWJlciB0eXBlc1xuICovXG5leHBvcnQgZW51bSBBbGxvd2VkTWVtYmVyVHlwZSB7XG4gIC8qKiBJbmRpdmlkdWFsIHVzZXJzIGNhbiBiZSBhc3NpZ25lZCB0aGlzIHJvbGUgKi9cbiAgVVNFUiA9ICdVc2VyJyxcbiAgLyoqIFNlcnZpY2UgcHJpbmNpcGFscy9hcHBsaWNhdGlvbnMgY2FuIGJlIGFzc2lnbmVkIHRoaXMgcm9sZSAqL1xuICBBUFBMSUNBVElPTiA9ICdBcHBsaWNhdGlvbicsXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * as graph from './graph';
2
+ export * as azure from './azure';
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.azure = exports.graph = void 0;
37
+ exports.graph = __importStar(require("./graph"));
38
+ exports.azure = __importStar(require("./azure"));
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmljZXAvcmVzb3VyY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFpQztBQUNqQyxpREFBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBncmFwaCBmcm9tICcuL2dyYXBoJztcbmV4cG9ydCAqIGFzIGF6dXJlIGZyb20gJy4vYXp1cmUnO1xuIl19
@@ -0,0 +1,20 @@
1
+ import * as core from 'aws-cdk-lib';
2
+ import { aws_cloudfront as cloudfront, aws_lambda as lambda, aws_secretsmanager as secretsmanager, aws_kms as kms, aws_logs as logs, aws_dynamodb as dynamodb } from 'aws-cdk-lib';
3
+ import * as constructs from 'constructs';
4
+ export interface AuthLambdaFunctionsProps {
5
+ readonly configSecret: secretsmanager.Secret;
6
+ readonly kmsKey: kms.Key;
7
+ readonly kvs: cloudfront.KeyValueStore;
8
+ readonly authTable: dynamodb.ITable;
9
+ readonly rotationSchedule?: core.Duration;
10
+ readonly sessionRevocationTopicArn?: string;
11
+ readonly logRetentionDays: number;
12
+ }
13
+ export declare class AuthLambdaFunctions extends constructs.Construct {
14
+ readonly copySecretLambda: lambda.Function;
15
+ readonly rotateSecretLambda: lambda.Function;
16
+ readonly streamProcessorLambda: lambda.Function;
17
+ readonly sessionRevocationLambda?: lambda.Function;
18
+ readonly logGroups: logs.LogGroup[];
19
+ constructor(scope: constructs.Construct, id: string, props: AuthLambdaFunctionsProps);
20
+ }