View a markdown version of this page

Actions, resources, and condition keys for Amazon IoT Greengrass V2 - 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 IoT Greengrass V2

Amazon IoT Greengrass V2 (service prefix: greengrass) provides the following service-specific operations, resources, actions, and condition keys for use in IAM permission policies.

References:

API operations defined by Amazon IoT Greengrass V2

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

AssociateServiceRoleToAccount

greengrass:AssociateServiceRoleToAccount

Permissions management, Write

iam:PassRole

iam:PassedToService

greengrass.amazonaws.com

Write

BatchAssociateClientDeviceWithCoreDevice

greengrass:BatchAssociateClientDeviceWithCoreDevice

Write

BatchDisassociateClientDeviceFromCoreDevice

greengrass:BatchDisassociateClientDeviceFromCoreDevice

Write

CancelDeployment

greengrass:CancelDeployment

Write

CreateComponentVersion

greengrass:CreateComponentVersion

Write

greengrass:TagResource

Tagging, Write

CreateDeployment

greengrass:CreateDeployment

Write

greengrass:TagResource

Tagging, Write

DeleteComponent

greengrass:DeleteComponent

Write

DeleteCoreDevice

greengrass:DeleteCoreDevice

Write

DeleteDeployment

greengrass:DeleteDeployment

Write

DescribeComponent

greengrass:DescribeComponent

Read

DisassociateServiceRoleFromAccount

greengrass:DisassociateServiceRoleFromAccount

Write

GetComponent

greengrass:GetComponent

Read

GetComponentVersionArtifact

greengrass:GetComponentVersionArtifact

Read

GetConnectivityInfo

greengrass:GetConnectivityInfo

Read

GetCoreDevice

greengrass:GetCoreDevice

Read

GetDeployment

greengrass:GetDeployment

Read

GetServiceRoleForAccount

greengrass:GetServiceRoleForAccount

Read

ListClientDevicesAssociatedWithCoreDevice

greengrass:ListClientDevicesAssociatedWithCoreDevice

List

ListComponentVersions

greengrass:ListComponentVersions

List

ListComponents

greengrass:ListComponents

List

ListCoreDevices

greengrass:ListCoreDevices

List

ListDeployments

greengrass:ListDeployments

List

ListEffectiveDeployments

greengrass:ListEffectiveDeployments

List

ListInstalledComponents

greengrass:ListInstalledComponents

List

ListTagsForResource

greengrass:ListTagsForResource

Read

TagResource

greengrass:TagResource

Tagging, Write

UntagResource

greengrass:UntagResource

Tagging, Write

UpdateConnectivityInfo

greengrass:UpdateConnectivityInfo

Write

Actions defined by Amazon IoT Greengrass V2

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

AssociateServiceRoleToAccount

Grants permission to associate a role with your account. Amazon IoT Greengrass uses this role to access your Lambda functions and Amazon IoT resources

Permissions management, Write

BatchAssociateClientDeviceWithCoreDevice

Grants permission to associate a list of client devices with a core device

coreDevice*

aws:ResourceTag/${TagKey}

Write

BatchDisassociateClientDeviceFromCoreDevice

Grants permission to disassociate a list of client devices from a core device

coreDevice*

aws:ResourceTag/${TagKey}

Write

CancelDeployment

Grants permission to cancel a deployment

deployment*

aws:ResourceTag/${TagKey}

Write

CreateComponentVersion

Grants permission to create a component

component*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

CreateDeployment

Grants permission to create a deployment

aws:RequestTag/${TagKey}

aws:TagKeys

Write

DeleteComponent

Grants permission to delete a component

componentVersion*

aws:ResourceTag/${TagKey}

Write

DeleteCoreDevice

Grants permission to delete a Amazon IoT Greengrass core device, which is an Amazon IoT thing. This operation removes the core device from the list of core devices. This operation doesn't delete the Amazon IoT thing

coreDevice*

aws:ResourceTag/${TagKey}

Write

DeleteDeployment

Grants permission to delete a deployment. To delete an active deployment, it needs to be cancelled first

deployment*

aws:ResourceTag/${TagKey}

Write

DescribeComponent

Grants permission to retrieve metadata for a version of a component

componentVersion*

aws:ResourceTag/${TagKey}

Read

DisassociateServiceRoleFromAccount

Grants permission to disassociate the service role from an account. Without a service role, deployments will not work

Write

GetComponent

Grants permission to get the recipe for a version of a component

componentVersion*

aws:ResourceTag/${TagKey}

Read

GetComponentVersionArtifact

Grants permission to get the pre-signed URL to download a public component artifact

componentVersion*

aws:ResourceTag/${TagKey}

Read

GetConnectivityInfo

Grants permission to retrieve the connectivity information for a Greengrass core device

connectivityInfo*

Read

GetCoreDevice

Grants permission to retrieves metadata for a Amazon IoT Greengrass core device

coreDevice*

aws:ResourceTag/${TagKey}

Read

GetDeployment

Grants permission to get a deployment

deployment*

aws:ResourceTag/${TagKey}

Read

GetServiceRoleForAccount

Grants permission to retrieve the service role that is attached to an account

Read

ListClientDevicesAssociatedWithCoreDevice

Grants permission to retrieve a paginated list of client devices associated to a Amazon IoT Greengrass core device

coreDevice*

aws:ResourceTag/${TagKey}

List

ListComponentVersions

Grants permission to retrieve a paginated list of all versions for a component

component*

aws:ResourceTag/${TagKey}

List

ListComponents

Grants permission to retrieve a paginated list of component summaries

List

ListCoreDevices

Grants permission to retrieve a paginated list of Amazon IoT Greengrass core devices

List

ListDeployments

Grants permission to retrieves a paginated list of deployments

List

ListEffectiveDeployments

Grants permission to retrieves a paginated list of deployment jobs that Amazon IoT Greengrass sends to Amazon IoT Greengrass core devices

coreDevice*

aws:ResourceTag/${TagKey}

List

ListInstalledComponents

Grants permission to retrieve a paginated list of the components that a Amazon IoT Greengrass core device runs

coreDevice*

aws:ResourceTag/${TagKey}

List

ListTagsForResource

Grants permission to list the tags for a resource

component

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Read

componentVersion

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

coreDevice

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

deployment

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

ResolveComponentCandidates

Grants permission to list components that meet the component, version, and platform requirements of a deployment

componentVersion*

aws:ResourceTag/${TagKey}

List

TagResource

Grants permission to add tags to a resource

component

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Tagging, Write

componentVersion

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

coreDevice

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

deployment

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

UntagResource

Grants permission to remove tags from a resource

component

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Tagging, Write

componentVersion

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

coreDevice

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

deployment

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

UpdateConnectivityInfo

Grants permission to update the connectivity information for a Greengrass core. Any devices that belong to the group that has this core will receive this information in order to find the location of the core and connect to it

connectivityInfo*

Write

Resource types defined by Amazon IoT Greengrass V2

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

component

arn:${Partition}:greengrass:${Region}:${Account}:components:${ComponentName}

aws:ResourceTag/${TagKey}

componentVersion

arn:${Partition}:greengrass:${Region}:${Account}:components:${ComponentName}:versions:${ComponentVersion}

aws:ResourceTag/${TagKey}

connectivityInfo

arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/things/${ThingName}/connectivityInfo

coreDevice

arn:${Partition}:greengrass:${Region}:${Account}:coreDevices:${CoreDeviceThingName}

aws:ResourceTag/${TagKey}

deployment

arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/deployments/${DeploymentId}, arn:${Partition}:greengrass:${Region}:${Account}:deployments:${DeploymentId}

aws:ResourceTag/${TagKey}

Condition keys for Amazon IoT Greengrass V2

Amazon IoT Greengrass V2 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 access by checking tag key/value pairs included in the request

String

aws:ResourceTag/${TagKey}

Filters access by checking tag key/value pairs associated with a specific resource

String

aws:TagKeys

Filters access by checking tag keys passed in the request

ArrayOfString