Resource Access Manager (RAM)
less than a minute
Resource Access Manager (RAM) helps resources to be shared across AWS accounts, within or across organizations.
On AWS, RAM is an abstraction on top of AWS Identity and Access Management (IAM) which can manage resource-based policies to supported resource types.
LocalStack supports RAM in the Pro edition. The supported API operations can be found on the API coverage page.
Getting started
Start the LocalStack container using your preferred method. This section will illustrate how to create permissions and resource shares using the AWS CLI.
Create a permission
$ awslocal ram create-permission \
--name example \
--resource-type appsync:apis \
--policy-template '{"Effect": "Allow", "Action": "appsync:SourceGraphQL"}'
Create a resource share
$ awslocal ram create-resource-share \
--name example-resource-share \
--principals arn:aws:organizations::000000000000:organization/o-truopwybwi \
--resource-arn arn:aws:appsync:eu-central-1:000000000000:apis/wcgmjril5wuyvhmpildatuaat3
Current Limitations
LocalStack RAM supports emulated sharing for EC2 Subnets only. Only specified account principals are granted access to the shared subnets, and associated VPC and route tables. Furthermore, only the sharing aspect is implemented at this time. No IAM policies are created or attached, and no permission enforcement takes place.
For all other resource types, the functionality is limited to mocking.