UNPKG

iam-floyd

Version:

AWS IAM policy statement generator with fluent interface

87 lines 8.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Signin = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [signin](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssignin.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Signin extends shared_1.PolicyStatement { /** * Statement provider for service [signin](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssignin.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ constructor(sid) { super(sid); this.servicePrefix = 'signin'; this.accessLevelList = { Read: [ 'AuthorizeOAuth2Access', 'CreateOAuth2Token' ], Write: [ 'CreateTrustedIdentityPropagationApplicationForConsole' ], List: [ 'ListTrustedIdentityPropagationApplicationsForConsole' ] }; } /** * Grants permission to authenticate through a browser and obtain an OAuth 2.0 authorization code for credential exchange * * Access Level: Read * * https://docs.aws.amazon.com/signin/latest/APIReference/API_AuthorizeOAuth2Access.html */ toAuthorizeOAuth2Access() { return this.to('AuthorizeOAuth2Access'); } /** * Grants permission to exchange an authorization code for OAuth 2.0 access token and refresh token that can be used to access AWS services from developer tools and applications * * Access Level: Read * * https://docs.aws.amazon.com/signin/latest/APIReference/API_CreateOAuth2Token.html */ toCreateOAuth2Token() { return this.to('CreateOAuth2Token'); } /** * Grants permission to create an Identity Center application that represents the AWS Management Console on an Identity Center organization instance * * Access Level: Write * * Dependent actions: * - sso:CreateApplication * - sso:GetSharedSsoConfiguration * - sso:ListApplications * - sso:PutApplicationAccessScope * - sso:PutApplicationAssignmentConfiguration * - sso:PutApplicationAuthenticationMethod * - sso:PutApplicationGrant * * https://docs.aws.amazon.com/signin/latest/APIReference/API_CreateTrustedIdentityPropagationApplicationForConsole.html */ toCreateTrustedIdentityPropagationApplicationForConsole() { return this.to('CreateTrustedIdentityPropagationApplicationForConsole'); } /** * Grants permission to list all Identity Center applications that represent the AWS Management Console * * Access Level: List * * Dependent actions: * - sso:GetSharedSsoConfiguration * - sso:ListApplications * * https://docs.aws.amazon.com/signin/latest/APIReference/API_ListTrustedIdentityPropagationApplicationsForConsole.html */ toListTrustedIdentityPropagationApplicationsForConsole() { return this.to('ListTrustedIdentityPropagationApplicationsForConsole'); } } exports.Signin = Signin; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2lnbmluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUErQztBQUUvQzs7OztHQUlHO0FBQ0gsTUFBYSxNQUFPLFNBQVEsd0JBQWU7SUFHekM7Ozs7T0FJRztJQUNILFlBQVksR0FBWTtRQUN0QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFSTixrQkFBYSxHQUFHLFFBQVEsQ0FBQztRQW9FdEIsb0JBQWUsR0FBb0I7WUFDM0MsSUFBSSxFQUFFO2dCQUNKLHVCQUF1QjtnQkFDdkIsbUJBQW1CO2FBQ3BCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLHVEQUF1RDthQUN4RDtZQUNELElBQUksRUFBRTtnQkFDSixzREFBc0Q7YUFDdkQ7U0FDRixDQUFDO0lBdEVGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx1QkFBdUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0ksdURBQXVEO1FBQzVELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksc0RBQXNEO1FBQzNELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FjRjtBQWpGRCx3QkFpRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5cbi8qKlxuICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFtzaWduaW5dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2F3c3NpZ25pbi5odG1sKS5cbiAqXG4gKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFNpZ25pbiBleHRlbmRzIFBvbGljeVN0YXRlbWVudCB7XG4gIHB1YmxpYyBzZXJ2aWNlUHJlZml4ID0gJ3NpZ25pbic7XG5cbiAgLyoqXG4gICAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbc2lnbmluXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hd3NzaWduaW4uaHRtbCkuXG4gICAqXG4gICAqIEBwYXJhbSBzaWQgW1NJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19zaWQuaHRtbCkgb2YgdGhlIHN0YXRlbWVudFxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2lkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2lkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhdXRoZW50aWNhdGUgdGhyb3VnaCBhIGJyb3dzZXIgYW5kIG9idGFpbiBhbiBPQXV0aCAyLjAgYXV0aG9yaXphdGlvbiBjb2RlIGZvciBjcmVkZW50aWFsIGV4Y2hhbmdlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2lnbmluL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0F1dGhvcml6ZU9BdXRoMkFjY2Vzcy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9BdXRob3JpemVPQXV0aDJBY2Nlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0F1dGhvcml6ZU9BdXRoMkFjY2VzcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGV4Y2hhbmdlIGFuIGF1dGhvcml6YXRpb24gY29kZSBmb3IgT0F1dGggMi4wIGFjY2VzcyB0b2tlbiBhbmQgcmVmcmVzaCB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBBV1Mgc2VydmljZXMgZnJvbSBkZXZlbG9wZXIgdG9vbHMgYW5kIGFwcGxpY2F0aW9uc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NpZ25pbi9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9DcmVhdGVPQXV0aDJUb2tlbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVPQXV0aDJUb2tlbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlT0F1dGgyVG9rZW4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYW4gSWRlbnRpdHkgQ2VudGVyIGFwcGxpY2F0aW9uIHRoYXQgcmVwcmVzZW50cyB0aGUgQVdTIE1hbmFnZW1lbnQgQ29uc29sZSBvbiBhbiBJZGVudGl0eSBDZW50ZXIgb3JnYW5pemF0aW9uIGluc3RhbmNlXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0gc3NvOkNyZWF0ZUFwcGxpY2F0aW9uXG4gICAqIC0gc3NvOkdldFNoYXJlZFNzb0NvbmZpZ3VyYXRpb25cbiAgICogLSBzc286TGlzdEFwcGxpY2F0aW9uc1xuICAgKiAtIHNzbzpQdXRBcHBsaWNhdGlvbkFjY2Vzc1Njb3BlXG4gICAqIC0gc3NvOlB1dEFwcGxpY2F0aW9uQXNzaWdubWVudENvbmZpZ3VyYXRpb25cbiAgICogLSBzc286UHV0QXBwbGljYXRpb25BdXRoZW50aWNhdGlvbk1ldGhvZFxuICAgKiAtIHNzbzpQdXRBcHBsaWNhdGlvbkdyYW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zaWduaW4vbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfQ3JlYXRlVHJ1c3RlZElkZW50aXR5UHJvcGFnYXRpb25BcHBsaWNhdGlvbkZvckNvbnNvbGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlVHJ1c3RlZElkZW50aXR5UHJvcGFnYXRpb25BcHBsaWNhdGlvbkZvckNvbnNvbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVRydXN0ZWRJZGVudGl0eVByb3BhZ2F0aW9uQXBwbGljYXRpb25Gb3JDb25zb2xlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCBhbGwgSWRlbnRpdHkgQ2VudGVyIGFwcGxpY2F0aW9ucyB0aGF0IHJlcHJlc2VudCB0aGUgQVdTIE1hbmFnZW1lbnQgQ29uc29sZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0gc3NvOkdldFNoYXJlZFNzb0NvbmZpZ3VyYXRpb25cbiAgICogLSBzc286TGlzdEFwcGxpY2F0aW9uc1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2lnbmluL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xpc3RUcnVzdGVkSWRlbnRpdHlQcm9wYWdhdGlvbkFwcGxpY2F0aW9uc0ZvckNvbnNvbGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvTGlzdFRydXN0ZWRJZGVudGl0eVByb3BhZ2F0aW9uQXBwbGljYXRpb25zRm9yQ29uc29sZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFRydXN0ZWRJZGVudGl0eVByb3BhZ2F0aW9uQXBwbGljYXRpb25zRm9yQ29uc29sZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFjY2Vzc0xldmVsTGlzdDogQWNjZXNzTGV2ZWxMaXN0ID0ge1xuICAgIFJlYWQ6IFtcbiAgICAgICdBdXRob3JpemVPQXV0aDJBY2Nlc3MnLFxuICAgICAgJ0NyZWF0ZU9BdXRoMlRva2VuJ1xuICAgIF0sXG4gICAgV3JpdGU6IFtcbiAgICAgICdDcmVhdGVUcnVzdGVkSWRlbnRpdHlQcm9wYWdhdGlvbkFwcGxpY2F0aW9uRm9yQ29uc29sZSdcbiAgICBdLFxuICAgIExpc3Q6IFtcbiAgICAgICdMaXN0VHJ1c3RlZElkZW50aXR5UHJvcGFnYXRpb25BcHBsaWNhdGlvbnNGb3JDb25zb2xlJ1xuICAgIF1cbiAgfTtcbn1cbiJdfQ==