AWS managed policies for AWS IoT Greengrass - AWS IoT Greengrass

AWS managed policies for AWS IoT Greengrass

An AWS managed policy is a standalone policy that is created and administered by AWS. AWS managed policies are designed to provide permissions for many common use cases so that you can start assigning permissions to users, groups, and roles.

Keep in mind that AWS managed policies might not grant least-privilege permissions for your specific use cases because they're available for all AWS customers to use. We recommend that you reduce permissions further by defining customer managed policies that are specific to your use cases.

You cannot change the permissions defined in AWS managed policies. If AWS updates the permissions defined in an AWS managed policy, the update affects all principal identities (users, groups, and roles) that the policy is attached to. AWS is most likely to update an AWS managed policy when a new AWS service is launched or new API operations become available for existing services.

For more information, see AWS managed policies in the IAM User Guide.

AWS managed policy: AWSGreengrassFullAccess

You can attach the AWSGreengrassFullAccess policy to your IAM identities.

This policy grants administrative permissions that allow a principal full access to all AWS IoT Greengrass actions.

Permissions details

This policy includes the following permissions:

  • greengrass – Allows principals full access to all AWS IoT Greengrass actions.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "greengrass:*" ], "Resource": "*" } ] }

AWS managed policy: AWSGreengrassReadOnlyAccess

You can attach the AWSGreengrassReadOnlyAccess policy to your IAM identities.

This policy grants read-only permissions that allow a principal to view, but not modify, information in AWS IoT Greengrass. For example, principals with these permissions can view the list of components deployed to a Greengrass core device, but can't create a deployment to change the components that run on that device.

Permissions details

This policy includes the following permissions:

  • greengrass – Allows principals to perform actions that return either a list of items or details about an item. This includes API operations that start with List or Get.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "greengrass:List*", "greengrass:Get*" ], "Resource": "*" } ] }

AWS managed policy: AWSGreengrassResourceAccessRolePolicy

You can attach the AWSGreengrassResourceAccessRolePolicy policy to your IAM entities. AWS IoT Greengrass also attaches this policy to a service role that allows AWS IoT Greengrass to perform actions on your behalf. For more information, see Greengrass service role.

This policy grants administrative permissions that allow AWS IoT Greengrass to perform essential tasks, such as retrieving your Lambda functions, managing AWS IoT device shadows, and verifying Greengrass client devices.

Permissions details

This policy includes the following permissions.

  • greengrass – Manage Greengrass resources.

  • iot (*Shadow) – Manage AWS IoT shadows that have the following special identifiers in their names. These permissions are required so that AWS IoT Greengrass can communicate with core devices.

    • *-gci – AWS IoT Greengrass uses this shadow to store core device connectivity information, so client devices can discover and connect to core devices.

    • *-gcm – AWS IoT Greengrass V1 uses this shadow to notify the core device that the Greengrass group's certificate authority (CA) certificate has rotated.

    • *-gda – AWS IoT Greengrass V1 uses this shadow to notify the core device of a deployment.

    • GG_* – Unused.

  • iot (DescribeThing and DescribeCertificate) – Retrieve information about AWS IoT things and certificates. These permissions are required so that AWS IoT Greengrass can verify client devices that connect to a core device. For more information, see Interact with local IoT devices.

  • lambda – Retrieve information about AWS Lambda functions. This permission is required so that AWS IoT Greengrass V1 can deploy Lambda functions to Greengrass cores. For more information, see Run Lambda function on the AWS IoT Greengrass core in the AWS IoT Greengrass V1 Developer Guide.

  • secretsmanager – Retrieve the value of AWS Secrets Manager secrets whose names start with greengrass-. This permission is required so that AWS IoT Greengrass V1 can deploy Secrets Manager secrets to Greengrass cores. For more information, see Deploy secrets to the AWS IoT Greengrass core in the AWS IoT Greengrass V1 Developer Guide.

  • s3 – Retrieve files objects from S3 buckets whose names contain greengrass or sagemaker. These permissions are required so that AWS IoT Greengrass V1 can deploy machine learning resources that you store in S3 buckets. For more information, see Machine learning resources in the AWS IoT Greengrass V1 Developer Guide.

  • sagemaker – Retrieve information about Amazon SageMaker machine learning inference models. This permission is required so that AWS IoT Greengrass V1 can deploy ML models to Greengrass cores. For more information, see Perform machine learning inference in the AWS IoT Greengrass V1 Developer Guide.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGreengrassAccessToShadows", "Action": [ "iot:DeleteThingShadow", "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Effect": "Allow", "Resource": [ "arn:aws:iot:*:*:thing/GG_*", "arn:aws:iot:*:*:thing/*-gcm", "arn:aws:iot:*:*:thing/*-gda", "arn:aws:iot:*:*:thing/*-gci" ] }, { "Sid": "AllowGreengrassToDescribeThings", "Action": [ "iot:DescribeThing" ], "Effect": "Allow", "Resource": "arn:aws:iot:*:*:thing/*" }, { "Sid": "AllowGreengrassToDescribeCertificates", "Action": [ "iot:DescribeCertificate" ], "Effect": "Allow", "Resource": "arn:aws:iot:*:*:cert/*" }, { "Sid": "AllowGreengrassToCallGreengrassServices", "Action": [ "greengrass:*" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "AllowGreengrassToGetLambdaFunctions", "Action": [ "lambda:GetFunction", "lambda:GetFunctionConfiguration" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "AllowGreengrassToGetGreengrassSecrets", "Action": [ "secretsmanager:GetSecretValue" ], "Effect": "Allow", "Resource": "arn:aws:secretsmanager:*:*:secret:greengrass-*" }, { "Sid": "AllowGreengrassAccessToS3Objects", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::*Greengrass*", "arn:aws:s3:::*GreenGrass*", "arn:aws:s3:::*greengrass*", "arn:aws:s3:::*Sagemaker*", "arn:aws:s3:::*SageMaker*", "arn:aws:s3:::*sagemaker*" ] }, { "Sid": "AllowGreengrassAccessToS3BucketLocation", "Action": [ "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "AllowGreengrassAccessToSageMakerTrainingJobs", "Action": [ "sagemaker:DescribeTrainingJob" ], "Effect": "Allow", "Resource": [ "arn:aws:sagemaker:*:*:training-job/*" ] } ] }

AWS IoT Greengrass updates to AWS managed policies

You can view details about updates to AWS managed policies for AWS IoT Greengrass from the time this service began tracking these changes. For automatic alerts about changes to this page, subscribe to the RSS feed on the AWS IoT Greengrass V2 document history page.

Change Description Date

AWS IoT Greengrass started tracking changes

AWS IoT Greengrass started tracking changes for its AWS managed policies.

July 2, 2021