UNPKG

@cdklabs/aws-data-solutions-framework

Version:
33 lines 4.59 kB
"use strict"; // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 Object.defineProperty(exports, "__esModule", { value: true }); const cdk = require("aws-cdk-lib"); const dsf = require("../../index"); const aws_iam_1 = require("aws-cdk-lib/aws-iam"); class ExampleVpcDataZoneMskEnvironmentAuthorizerStack extends cdk.Stack { constructor(scope, id) { super(scope, id); /// !show const permissionBoundaryPolicy = new aws_iam_1.ManagedPolicy(this, 'PermissionBoundaryPolicy', { statements: [ // example of other permissions needed by the consumer new aws_iam_1.PolicyStatement({ effect: aws_iam_1.Effect.ALLOW, actions: ['s3:*'], resources: ['*'], }), // permissions needed to consume MSK topics and granted by the Authorizer dsf.governance.DataZoneMskEnvironmentAuthorizer.PERMISSIONS_BOUNDARY_STATEMENTS ], }); new aws_iam_1.Role(this, 'ConsumerRole', { assumedBy: new aws_iam_1.ServicePrincipal('lambda.amazonaws.com'), permissionsBoundary: permissionBoundaryPolicy, }); /// !hide } } const app = new cdk.App(); new ExampleVpcDataZoneMskEnvironmentAuthorizerStack(app, 'ExampleVpcDataZoneMskEnvironmentAuthorizerStack'); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXpvbmUtbXNrLWVudmlyb25tZW50LWF1dGhvcml6emVyLXBlcm1pc3Npb25zLWJvdW5kYXJ5LmxpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nb3Zlcm5hbmNlL2V4YW1wbGVzL2RhdGF6b25lLW1zay1lbnZpcm9ubWVudC1hdXRob3Jpenplci1wZXJtaXNzaW9ucy1ib3VuZGFyeS5saXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFFQUFxRTtBQUNyRSxzQ0FBc0M7O0FBRXRDLG1DQUFtQztBQUVuQyxtQ0FBbUM7QUFDbkMsaURBQXFHO0FBR3JHLE1BQU0sK0NBQWdELFNBQVEsR0FBRyxDQUFDLEtBQUs7SUFDckUsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixTQUFTO1FBRVQsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLHVCQUFhLENBQUMsSUFBSSxFQUFFLDBCQUEwQixFQUFFO1lBQ25GLFVBQVUsRUFBRTtnQkFDVixzREFBc0Q7Z0JBQ3RELElBQUkseUJBQWUsQ0FBQztvQkFDbEIsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztvQkFDcEIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO29CQUNqQixTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7aUJBQ2pCLENBQUM7Z0JBQ0YseUVBQXlFO2dCQUN6RSxHQUFHLENBQUMsVUFBVSxDQUFDLGdDQUFnQyxDQUFDLCtCQUErQjthQUNoRjtTQUNGLENBQUMsQ0FBQTtRQUVGLElBQUksY0FBSSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDN0IsU0FBUyxFQUFFLElBQUksMEJBQWdCLENBQUMsc0JBQXNCLENBQUM7WUFDdkQsbUJBQW1CLEVBQUUsd0JBQXdCO1NBQzlDLENBQUMsQ0FBQTtRQUNGLFNBQVM7SUFFWCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUMxQixJQUFJLCtDQUErQyxDQUFDLEdBQUcsRUFBRSxpREFBaUQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBkc2YgZnJvbSAnLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHsgRWZmZWN0LCBNYW5hZ2VkUG9saWN5LCBQb2xpY3lTdGF0ZW1lbnQsIFJvbGUsIFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcblxuXG5jbGFzcyBFeGFtcGxlVnBjRGF0YVpvbmVNc2tFbnZpcm9ubWVudEF1dGhvcml6ZXJTdGFjayBleHRlbmRzIGNkay5TdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8vICFzaG93XG5cbiAgICBjb25zdCBwZXJtaXNzaW9uQm91bmRhcnlQb2xpY3kgPSBuZXcgTWFuYWdlZFBvbGljeSh0aGlzLCAnUGVybWlzc2lvbkJvdW5kYXJ5UG9saWN5Jywge1xuICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAvLyBleGFtcGxlIG9mIG90aGVyIHBlcm1pc3Npb25zIG5lZWRlZCBieSB0aGUgY29uc3VtZXJcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgYWN0aW9uczogWydzMzoqJ10sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgfSksXG4gICAgICAgIC8vIHBlcm1pc3Npb25zIG5lZWRlZCB0byBjb25zdW1lIE1TSyB0b3BpY3MgYW5kIGdyYW50ZWQgYnkgdGhlIEF1dGhvcml6ZXJcbiAgICAgICAgZHNmLmdvdmVybmFuY2UuRGF0YVpvbmVNc2tFbnZpcm9ubWVudEF1dGhvcml6ZXIuUEVSTUlTU0lPTlNfQk9VTkRBUllfU1RBVEVNRU5UU1xuICAgICAgXSxcbiAgICB9KVxuXG4gICAgbmV3IFJvbGUodGhpcywgJ0NvbnN1bWVyUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgICBwZXJtaXNzaW9uc0JvdW5kYXJ5OiBwZXJtaXNzaW9uQm91bmRhcnlQb2xpY3ksXG4gICAgfSlcbiAgICAvLy8gIWhpZGVcbiAgICBcbiAgfVxufVxuXG5jb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xubmV3IEV4YW1wbGVWcGNEYXRhWm9uZU1za0Vudmlyb25tZW50QXV0aG9yaXplclN0YWNrKGFwcCwgJ0V4YW1wbGVWcGNEYXRhWm9uZU1za0Vudmlyb25tZW50QXV0aG9yaXplclN0YWNrJyk7Il19