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": "*" } ] }