This article shows the Jason for a custom IAM policy to allow snapshots with the minimum required access. I bet it can be improved upon but this is pretty close.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:CreateSnapshot",
"ec2:DeleteSnapshot",
"ec2:Describe*",
"ec2:CreateTags"
],
"Resource": "*"
}
]
}