Skip to main content

AWS CDK Construct Library for AWS SSO

Project description

CDK Library for AWS SSO

build

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 PermissionSet including 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');

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

renovosolutions_aws_cdk_aws_sso-0.1.151.tar.gz (50.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file renovosolutions_aws_cdk_aws_sso-0.1.151.tar.gz.

File metadata

File hashes

Hashes for renovosolutions_aws_cdk_aws_sso-0.1.151.tar.gz
Algorithm Hash digest
SHA256 d0dbbaedd23b1e21925a5f88c8ea97501db622022ca43eb81f31646eb4385d65
MD5 d040fa83574bf3401a94ae6dcb8abfc6
BLAKE2b-256 13d7f0c245c2026a0e252ab68444714beca070a4b6eceb3fd2b724ccc81d0a2a

See more details on using hashes here.

File details

Details for the file renovosolutions.aws_cdk_aws_sso-0.1.151-py3-none-any.whl.

File metadata

File hashes

Hashes for renovosolutions.aws_cdk_aws_sso-0.1.151-py3-none-any.whl
Algorithm Hash digest
SHA256 4887fe2c9ab8811ccbd4b536db56415c9b0cb806569d3993f75a811d51e197ea
MD5 326720158960eb5cb630bf9e63876261
BLAKE2b-256 e81ddc50899617f73ddb2fa88029d90cd01c6f9af2c174c33e609e5f16bb1725

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page