View a markdown version of this page

Actions, resources, and condition keys for Amazon App Mesh - Service Authorization Reference
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Actions, resources, and condition keys for Amazon App Mesh

Amazon App Mesh (service prefix: appmesh) provides the following service-specific operations, resources, actions, and condition keys for use in IAM permission policies.

References:

API operations defined by Amazon App Mesh

The following table maps API operations to the IAM actions they authorize. Only condition keys that have static values for the given API and action are listed; for the full set of condition keys supported by each action, see the Actions table.

Operation IAM action Condition key Possible value(s) Access level

CreateGatewayRoute

appmesh:CreateGatewayRoute

Write

appmesh:TagResource

Tagging, Write

CreateMesh

appmesh:CreateMesh

Write

appmesh:TagResource

Tagging, Write

CreateRoute

appmesh:CreateRoute

Write

appmesh:TagResource

Tagging, Write

CreateVirtualGateway

appmesh:CreateVirtualGateway

Write

appmesh:TagResource

Tagging, Write

CreateVirtualNode

appmesh:CreateVirtualNode

Write

appmesh:TagResource

Tagging, Write

iam:PassRole

iam:PassedToService

appmesh.amazonaws.com

Write

CreateVirtualRouter

appmesh:CreateVirtualRouter

Write

appmesh:TagResource

Tagging, Write

CreateVirtualService

appmesh:CreateVirtualService

Write

appmesh:TagResource

Tagging, Write

DeleteGatewayRoute

appmesh:DeleteGatewayRoute

Write

DeleteMesh

appmesh:DeleteMesh

Write

DeleteRoute

appmesh:DeleteRoute

Write

DeleteVirtualGateway

appmesh:DeleteVirtualGateway

Write

DeleteVirtualNode

appmesh:DeleteVirtualNode

Write

DeleteVirtualRouter

appmesh:DeleteVirtualRouter

Write

DeleteVirtualService

appmesh:DeleteVirtualService

Write

DescribeGatewayRoute

appmesh:DescribeGatewayRoute

Read

DescribeMesh

appmesh:DescribeMesh

Read

DescribeRoute

appmesh:DescribeRoute

Read

DescribeVirtualGateway

appmesh:DescribeVirtualGateway

Read

DescribeVirtualNode

appmesh:DescribeVirtualNode

Read

DescribeVirtualRouter

appmesh:DescribeVirtualRouter

Read

DescribeVirtualService

appmesh:DescribeVirtualService

Read

ListGatewayRoutes

appmesh:ListGatewayRoutes

List

ListMeshes

appmesh:ListMeshes

List

ListRoutes

appmesh:ListRoutes

List

ListTagsForResource

appmesh:ListTagsForResource

List

ListVirtualGateways

appmesh:ListVirtualGateways

List

ListVirtualNodes

appmesh:ListVirtualNodes

List

ListVirtualRouters

appmesh:ListVirtualRouters

List

ListVirtualServices

appmesh:ListVirtualServices

List

TagResource

appmesh:TagResource

Tagging, Write

UntagResource

appmesh:UntagResource

Tagging, Write

UpdateGatewayRoute

appmesh:UpdateGatewayRoute

Write

UpdateMesh

appmesh:UpdateMesh

Write

UpdateRoute

appmesh:UpdateRoute

Write

UpdateVirtualGateway

appmesh:UpdateVirtualGateway

Write

UpdateVirtualNode

appmesh:UpdateVirtualNode

Write

UpdateVirtualRouter

appmesh:UpdateVirtualRouter

Write

UpdateVirtualService

appmesh:UpdateVirtualService

Write

Actions defined by Amazon App Mesh

You can specify the following actions in the Action element of an IAM policy statement. Use policies to grant permissions to perform an operation in Amazon. When you use an action in a policy, you usually allow or deny access to the API operation or CLI command with the same name. However, in some cases, a single action controls access to more than one operation. Alternatively, some operations require several different actions.

Actions Description Resource types (*required) Condition keys Access level

CreateGatewayRoute

Grants permission to create a gateway route that is associated with a virtual gateway

gatewayRoute*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

virtualService

aws:ResourceTag/${TagKey}

CreateMesh

Grants permission to create a service mesh

mesh*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

CreateRoute

Grants permission to create a route that is associated with a virtual router

route*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

virtualNode

aws:ResourceTag/${TagKey}

CreateVirtualGateway

Grants permission to create a virtual gateway within a service mesh

virtualGateway*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

CreateVirtualNode

Grants permission to create a virtual node within a service mesh

virtualNode*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

virtualService

aws:ResourceTag/${TagKey}

CreateVirtualRouter

Grants permission to create a virtual router within a service mesh

virtualRouter*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

CreateVirtualService

Grants permission to create a virtual service within a service mesh

virtualNode

aws:ResourceTag/${TagKey}

Write

virtualRouter

aws:ResourceTag/${TagKey}

virtualService*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

DeleteGatewayRoute

Grants permission to delete an existing gateway route

gatewayRoute*

aws:ResourceTag/${TagKey}

Write

DeleteMesh

Grants permission to delete an existing service mesh

mesh*

aws:ResourceTag/${TagKey}

Write

DeleteRoute

Grants permission to delete an existing route

route*

aws:ResourceTag/${TagKey}

Write

DeleteVirtualGateway

Grants permission to delete an existing virtual gateway

virtualGateway*

aws:ResourceTag/${TagKey}

Write

DeleteVirtualNode

Grants permission to delete an existing virtual node

virtualNode*

aws:ResourceTag/${TagKey}

Write

DeleteVirtualRouter

Grants permission to delete an existing virtual router

virtualRouter*

aws:ResourceTag/${TagKey}

Write

DeleteVirtualService

Grants permission to delete an existing virtual service

virtualService*

aws:ResourceTag/${TagKey}

Write

DescribeGatewayRoute

Grants permission to describe an existing gateway route

gatewayRoute*

aws:ResourceTag/${TagKey}

Read

DescribeMesh

Grants permission to describe an existing service mesh

mesh*

aws:ResourceTag/${TagKey}

Read

DescribeRoute

Grants permission to describe an existing route

route*

aws:ResourceTag/${TagKey}

Read

DescribeVirtualGateway

Grants permission to describe an existing virtual gateway

virtualGateway*

aws:ResourceTag/${TagKey}

Read

DescribeVirtualNode

Grants permission to describe an existing virtual node

virtualNode*

aws:ResourceTag/${TagKey}

Read

DescribeVirtualRouter

Grants permission to describe an existing virtual router

virtualRouter*

aws:ResourceTag/${TagKey}

Read

DescribeVirtualService

Grants permission to describe an existing virtual service

virtualService*

aws:ResourceTag/${TagKey}

Read

ListGatewayRoutes

Grants permission to list existing gateway routes in a service mesh

virtualGateway*

aws:ResourceTag/${TagKey}

List

ListMeshes

Grants permission to list existing service meshes

List

ListRoutes

Grants permission to list existing routes in a service mesh

virtualRouter*

aws:ResourceTag/${TagKey}

List

ListTagsForResource

Grants permission to list the tags for an App Mesh resource

gatewayRoute

aws:ResourceTag/${TagKey}

List

mesh

aws:ResourceTag/${TagKey}

route

aws:ResourceTag/${TagKey}

virtualGateway

aws:ResourceTag/${TagKey}

virtualNode

aws:ResourceTag/${TagKey}

virtualRouter

aws:ResourceTag/${TagKey}

virtualService

aws:ResourceTag/${TagKey}

ListVirtualGateways

Grants permission to list existing virtual gateways in a service mesh

mesh*

aws:ResourceTag/${TagKey}

List

ListVirtualNodes

Grants permission to list existing virtual nodes

mesh*

aws:ResourceTag/${TagKey}

List

ListVirtualRouters

Grants permission to list existing virtual routers in a service mesh

mesh*

aws:ResourceTag/${TagKey}

List

ListVirtualServices

Grants permission to list existing virtual services in a service mesh

mesh*

aws:ResourceTag/${TagKey}

List

StreamAggregatedResources

Grants permission to receive streamed resources for an App Mesh endpoint (VirtualNode/VirtualGateway)

virtualGateway

aws:ResourceTag/${TagKey}

Read

virtualNode

aws:ResourceTag/${TagKey}

TagResource

Grants permission to tag a resource with a specified resourceArn

gatewayRoute

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Tagging, Write

mesh

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

route

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

virtualGateway

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

virtualNode

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

virtualRouter

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

virtualService

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

UntagResource

Grants permission to delete a tag from a resource

gatewayRoute

aws:ResourceTag/${TagKey}

aws:TagKeys

Tagging, Write

mesh

aws:ResourceTag/${TagKey}

aws:TagKeys

route

aws:ResourceTag/${TagKey}

aws:TagKeys

virtualGateway

aws:ResourceTag/${TagKey}

aws:TagKeys

virtualNode

aws:ResourceTag/${TagKey}

aws:TagKeys

virtualRouter

aws:ResourceTag/${TagKey}

aws:TagKeys

virtualService

aws:ResourceTag/${TagKey}

aws:TagKeys

UpdateGatewayRoute

Grants permission to update an existing gateway route for a specified service mesh and virtual gateway

gatewayRoute*

aws:ResourceTag/${TagKey}

Write

virtualService

aws:ResourceTag/${TagKey}

UpdateMesh

Grants permission to update an existing service mesh

mesh*

aws:ResourceTag/${TagKey}

Write

UpdateRoute

Grants permission to update an existing route for a specified service mesh and virtual router

route*

aws:ResourceTag/${TagKey}

Write

virtualNode

aws:ResourceTag/${TagKey}

UpdateVirtualGateway

Grants permission to update an existing virtual gateway in a specified service mesh

virtualGateway*

aws:ResourceTag/${TagKey}

Write

UpdateVirtualNode

Grants permission to update an existing virtual node in a specified service mesh

virtualNode*

aws:ResourceTag/${TagKey}

Write

UpdateVirtualRouter

Grants permission to update an existing virtual router in a specified service mesh

virtualRouter*

aws:ResourceTag/${TagKey}

Write

UpdateVirtualService

Grants permission to update an existing virtual service in a specified service mesh

virtualNode

aws:ResourceTag/${TagKey}

Write

virtualRouter

aws:ResourceTag/${TagKey}

virtualService*

aws:ResourceTag/${TagKey}

Permission-only actions for Amazon App Mesh

The following actions are defined by Amazon App Mesh but are not directly invocable through any API operation. They can only be used in IAM policy statements to grant or deny permissions.

Actions Description Resource types (*required) Condition keys Access level

DeleteMeshPolicy

Grants permission to delete the RAM access control policy for a mesh

mesh*

aws:ResourceTag/${TagKey}

Write

GetMeshPolicy

Grants permission to read the RAM access control policy for a mesh

mesh*

aws:ResourceTag/${TagKey}

Read

PutMeshPolicy

Grants permission to define the RAM access control policy for a mesh

mesh*

aws:ResourceTag/${TagKey}

Write

Resource types defined by Amazon App Mesh

The following resource types are defined by this service and can be used in the Resource element of IAM permission policy statements.

Resource types ARN Condition keys

gatewayRoute

arn:${Partition}:appmesh:${Region}:${Account}:mesh/${MeshName}/virtualGateway/${VirtualGatewayName}/gatewayRoute/${GatewayRouteName}

aws:ResourceTag/${TagKey}

mesh

arn:${Partition}:appmesh:${Region}:${Account}:mesh/${MeshName}

aws:ResourceTag/${TagKey}

route

arn:${Partition}:appmesh:${Region}:${Account}:mesh/${MeshName}/virtualRouter/${VirtualRouterName}/route/${RouteName}

aws:ResourceTag/${TagKey}

virtualGateway

arn:${Partition}:appmesh:${Region}:${Account}:mesh/${MeshName}/virtualGateway/${VirtualGatewayName}

aws:ResourceTag/${TagKey}

virtualNode

arn:${Partition}:appmesh:${Region}:${Account}:mesh/${MeshName}/virtualNode/${VirtualNodeName}

aws:ResourceTag/${TagKey}

virtualRouter

arn:${Partition}:appmesh:${Region}:${Account}:mesh/${MeshName}/virtualRouter/${VirtualRouterName}

aws:ResourceTag/${TagKey}

virtualService

arn:${Partition}:appmesh:${Region}:${Account}:mesh/${MeshName}/virtualService/${VirtualServiceName}

aws:ResourceTag/${TagKey}

Condition keys for Amazon App Mesh

Amazon App Mesh defines the following condition keys that can be used in the Condition element of an IAM policy.

Condition keys Description Type

aws:RequestTag/${TagKey}

Filters actions by the presence of tag key-value pairs in the request

String

aws:ResourceTag/${TagKey}

Filters actions by the tag key-value pairs attached to the resource

String

aws:TagKeys

Filters actions by the presence of tag keys in the request

ArrayOfString