CDK Library for AWS SSO
Note: This construct library is currently being developed and requires more tests, but fundamentally it should work.
This CDK library provides L2 constructs for the AWS SSO CfnPermissionSet and CfnAssignment. Assignment is not consumed by other resources so it's attributes and properties are minimal, but a L2 construct makes it easier to interact with and allows providing a more fully featured construct for the Permission Set and assignment requires.
Features
- L2 Construct for
PermissionSetincluding importing from ARN and granting the permission - L2 Construct for
Assignment - Some enums to provide valid inputs for certain properties
API Doc
See API
Examples
PermissionSet
import { PermissionSet, Assignment, PrincipalTypes } from '@renovosolutions/cdk-library-aws-sso';
import {
App,
Stack,
StackProps,
aws_sso as sso,
aws_iam as iam,
Duration,
} from 'aws-cdk-lib';
// create a permission set
const permissionSetExample = new PermissionSet(this, 'permissionSet', {
ssoInstanceArn: 'arn:aws:sso:::instance/ssoins-1234567891234567',
name: 'ExamplePermissionSet',
description: 'Example permission set with some policies',
awsManagedPolicies: [
iam.ManagedPolicy.fromAwsManagedPolicyName('job-function/ViewOnlyAccess'),
],
customerManagedPolicyReferences: [
{
name: 'someServiceLogRead', // must exist in the target account
path: '/',
}
],
relayStateType: 'https://us-east-1.console.aws.amazon.com/cloudwatch/home'
})
// assign it to an account/principal with an Assignment
new Assignment(this, 'ExampleAssignment', {
permissionSet: permissionSetExample,
principal: {
principalId: '25750630-0ae9-479a-97c2-0afc2d5b4eac,
principalType: PrincipalTypes.GROUP,
},
targetId: '124567890123456',
});
// assign it to something else with a grant
permissionSetExample.grant('permissionSetExampleAssignment', {
principal: {
principalId: '12350630-0ae9-479a-97c2-0afc2d5b4eac',
principalType: PrincipalTypes.GROUP,
},
targetId: '344567890123456',
});
// import an existing permission set
const existingPermissionSetExample = PermissionSet.fromPermissionSetArn(this, 'existingPermissionSetExample', 'arn:aws:sso:::permissionSet/ssoins-1234567891234567/ps-55a5555a5a55ab55');
Metadata
Release files for renovosolutions.aws-cdk-aws-sso 0.1.151
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| renovosolutions_aws_cdk_aws_sso-0.1.151.tar.gz | 50.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| renovosolutions.aws_cdk_aws_sso-0.1.151-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 100.1 kB
Release files / renovosolutions_aws_cdk_aws_sso-0.1.151.tar.gz
| Download URL | renovosolutions_aws_cdk_aws_sso-0.1.151.tar.gz |
|---|---|
| Size | 50.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d0dbbaedd23b1e21925a5f88c8ea97501db622022ca43eb81f31646eb4385d65
|
|
BLAKE2b-256 checksum How to use checksums |
13d7f0c245c2026a0e252ab68444714beca070a4b6eceb3fd2b724ccc81d0a2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / renovosolutions.aws_cdk_aws_sso-0.1.151-py3-none-any.whl
| Download URL | renovosolutions.aws_cdk_aws_sso-0.1.151-py3-none-any.whl |
|---|---|
| Size | 50.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4887fe2c9ab8811ccbd4b536db56415c9b0cb806569d3993f75a811d51e197ea
|
|
BLAKE2b-256 checksum How to use checksums |
e81ddc50899617f73ddb2fa88029d90cd01c6f9af2c174c33e609e5f16bb1725
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|