1.0.1 • Published 3 months ago

aws-iam-policy-types v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

AWS IAM Policy types

Autogenerated Typescript types for AWS IAM Policy and enums for policy actions for almost 400 AWS services.

This package provides typing and enums for AWS IAM Policies, as describes in

https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html.

Installation

npm i aws-iam-policy-types

Usage

import { IAM } from '@aws-sdk/client-iam';
import { AwsIAMPolicy, AwsStsActions } from 'aws-iam-policy-types';

// Configure the AWS SDK
const iam = new IAM({
  region: 'us-west-2',
  credentials: {
    accessKeyId: 'YOUR_ACCESS_KEY_ID',
    secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',
  },
});

// Use `AwsIAMPolicy` to have type-safe policy
const assumeRolePolicyDocument: AwsIAMPolicy = {
  Version: policyVersion,
  Statement: [
    {
      Effect: 'Allow',
      Principal: {
        AWS: `arn:aws:iam::${awsAccountId}:root`,
      },
      // Use enums to have type-safe actions
      Action: AwsStsActions.AssumeRole,
    },
  ],
};
const { Role } = await iam.createRole({
  RoleName: 'MyRole',
  AssumeRolePolicyDocument: JSON.stringify(assumeRolePolicyDocument),
});

ExclusiveAwsIAMPolicy

There is also ExclusiveAwsIAMPolicy type, which is the same as AwsIAMPolicy, except the type is inferred to allow only one of Action/NotAction, and only one of Resource/NotResource.

Documentation

See here the full list of all available types

Contributing

Found a bug or hav a feature request? Please open a new issue.

When contributing with your code, please follow the standard best practices:

  • Make a fork with your changes, then make a Merge Request to merge it
  • Be polite
1.0.1

3 months ago

1.0.0

3 months ago