I am trying to create an Amazon RDS database from a snapshot but I'm getting this error:

botocore.errorfactory.KMSKeyNotAccessibleFault: An error occurred (KMSKeyNotAccessibleFault) when calling the RestoreDBInstanceFromDBSnapshot operation: The specified KMS key [arn:aws:kms:ap-southeast-2:ddddddddd] does not exist, is not enabled or you do not have permissions to access it.

I am not sure which permissions are needed for my Jenkins job to run this task. Is it just a read-only IAM policy?
Go to IAM Console, choose Encryption Keys menu on the left side bar
Choose the region from the drop down menu (just below the "Create Key" button)
Search for the the mentioned key and see if exists. 
If it does not exist, you can never recover back the RDS instance from the snapshot.
If exists, 

See whether the status is Enabled for the Key. If not, select the checkbox and Choose "Actions -> Enable"
Click on it. Under "Key Policy" -> "Key Users", add your IAM user
and you will be able to restore RDS instance from Snapshot.
Python boto Amazon RDS error: KMSKeyNotAccessibleFault