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';
const iam = new IAM({
region: 'us-west-2',
credentials: {
accessKeyId: 'YOUR_ACCESS_KEY_ID',
secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',
},
});
const assumeRolePolicyDocument: AwsIAMPolicy = {
Version: policyVersion,
Statement: [
{
Effect: 'Allow',
Principal: {
AWS: `arn:aws:iam::${awsAccountId}:root`,
},
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