diff --git a/aws_amazon.module b/aws_amazon.module
index b12e286..6053227 100644
--- a/aws_amazon.module
+++ b/aws_amazon.module
@@ -6,17 +6,24 @@ include_once __DIR__ . '/aws_amazon.field.inc';
  * Implements hook_permission().
  */
 function aws_amazon_permission() {
-  $direct_uploads = explode("\n", variable_get('aws_amazon_direct_upload', ''));
   $perm = array();
+
+  $perm['administer amazon aws'] = array(
+    'title' => t('Administer Amazon AWS')
+  );
+
+  $direct_uploads = explode("\n", variable_get('aws_amazon_direct_upload', ''));
+
   foreach ($direct_uploads as $bucket) {
     $item = trim($bucket);
     if (!empty($item)) {
       $perm['direct s3 upload ' . $item] = array('title' => t('Upload to S3 Bucket %bucket', array('%bucket' => $item)));
     }
   }
+
   return $perm;
 }
- 
+
 /**
  * Implements hook_menu().
  */
@@ -25,21 +32,21 @@ function aws_amazon_menu() {
     'title' => 'Amazon AWS Configuration',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('aws_amazon_admin_settings_form'),
-    'access arguments' => array('access administration pages'),
+    'access arguments' => array('administer amazon aws'),
     'file' => 'aws_amazon.admin.inc',
   );
-  
+
   $items['admin/config/system/aws-amazon/settings'] = array(
     'type' => MENU_DEFAULT_LOCAL_TASK,
     'title' => 'Settings',
     'weight' => -10,
   );
-  
+
   $items['admin/config/system/aws-amazon/browse'] = array(
     'title' => 'Browse Backup',
     'page callback' => 'aws_amazon_backup_browser',
     'page arguments' => array(5, 6),
-    'access arguments' => array('access administration pages'),
+    'access arguments' => array('administer amazon aws'),
     'file' => 'aws_amazon.admin.inc',
     'type' => MENU_LOCAL_TASK
   );
@@ -47,7 +54,7 @@ function aws_amazon_menu() {
     'title' => 'Browse Bucket',
     'page callback' => 'aws_amazon_bucket_browser',
     'page arguments' => array(5, 6),
-    'access arguments' => array('access administration pages'),
+    'access arguments' => array('administer amazon aws'),
     'file' => 'aws_amazon.admin.inc',
     'type' => MENU_LOCAL_TASK
   );
@@ -55,7 +62,7 @@ function aws_amazon_menu() {
     'title' => 'S3 Download',
     'page callback' => 'aws_amazon_bucket_browser_download',
     'page arguments' => array(5, 6),
-    'access arguments' => array('access administration pages'),
+    'access arguments' => array('administer amazon aws'),
     'file' => 'aws_amazon.admin.inc',
     'type' => MENU_CALLBACK,
   );
@@ -63,7 +70,7 @@ function aws_amazon_menu() {
     'title' => 'Restore',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('aws_amazon_bucket_browser_restore_form', 5, 6),
-    'access arguments' => array('access administration pages'),
+    'access arguments' => array('administer amazon aws'),
     'file' => 'aws_amazon.admin.inc',
     'type' => MENU_CALLBACK,
   );
@@ -76,17 +83,17 @@ function aws_amazon_menu() {
     'type' => MENU_CALLBACK,
   );
   global $base_url;
-   
+
   //generate a unique URL per site that cannot be faked.
   $token = hash('sha1', $base_url . drupal_get_hash_salt() . variable_get('aws_amazon_access_key', drupal_get_hash_salt()));
-  
+
   $items['aws-amazon-cron/' . $token] = array(
     'type' => MENU_CALLBACK,
     'title' => 'Amazon Run Backup',
     'page callback' => 'aws_amazon_backup_and_cleanup',
     'access callback' => TRUE,
   );
-  
+
   //generate direct upload menus
   $direct_uploads = explode("\n", variable_get('aws_amazon_direct_upload', ''));
   foreach ($direct_uploads as $item) {
@@ -153,17 +160,17 @@ function aws_amazon_backup_and_cleanup() {
       aws_amazon_backup($endpoint);
       aws_amazon_cleanup($endpoint);
     }
-  } 
+  }
   else {
     aws_amazon_backup();
     aws_amazon_cleanup();
   }
   return t('Backup and clean up performed');
 }
- 
+
 /**
  * perform backups
- */ 
+ */
 function aws_amazon_backup($endpoint = '') {
   $enabled = variable_get('aws_amazon_enable_backup', 0);
   if ($type = variable_get('aws_amazon_backup_allow', 1)) {
@@ -277,7 +284,7 @@ function aws_amazon_cleanup($endpoint = '') {
         }
       }
     }
-    
+
   }
 }
 
@@ -290,7 +297,7 @@ function _aws_amazon_get_response_as_json($response) {
  */
 function aws_amazon_set_credentials() {
   require_once 'sites/all/libraries/AWSSDKforPHP/sdk.class.php';
-  
+
   CFCredentials::set(array(
     '@default' => array(
       'key' => variable_get('aws_amazon_access_key', ''),
@@ -311,7 +318,7 @@ function aws_amazon_get_list($bucket, $file) {
   $s3 = new AmazonS3();
   $output = FALSE;
   try {
-    $output = $s3->get_object_list($bucket, array('prefix' => $file));      
+    $output = $s3->get_object_list($bucket, array('prefix' => $file));
   }
   catch (Exception $ex) {
     watchdog('s3-access', $ex->getMessage(), array(), WATCHDOG_ERROR);
@@ -543,10 +550,10 @@ function aws_amazon_backup_s3() {
   $backup_bucket = variable_get('aws_amazon_s3_backup_bucket', '');
   if (!$s3->if_bucket_exists($backup_bucket)) {
     watchdog('aws-amazon-s3', 'Backup Bucket !bucket not found.', array('!bucket' => $backup_bucket), WATCHDOG_CRITICAL);
-    return;    
+    return;
   }
   $log = variable_get('aws_amazon_log', 0);
-  
+
   $folder = date('Y-m-dTH:i');
   foreach ($buckets as $key => $value) {
     $bucket = trim($value);
@@ -586,7 +593,7 @@ function aws_amazon_cleanup_s3() {
   }
   $log = variable_get('aws_amazon_log', 0);
   $enabled = variable_get('aws_amazon_enable_backup', 0);
-  aws_amazon_set_credentials(); 
+  aws_amazon_set_credentials();
   $s3 = new AmazonS3();
   $opts = array('delimiter' => '/');
   $response = $s3->list_objects($bucket, $opts);
@@ -607,7 +614,7 @@ function aws_amazon_cleanup_s3() {
 }
 
 /**
- * delete backups of a given bucket. 
+ * delete backups of a given bucket.
  */
 function _aws_amazon_cleanup_s3($bucket, $backedup_bucket, $s3, $no_backups, $enabled, $log) {
   //get the backups
@@ -681,7 +688,7 @@ function aws_amazon_download_file_access($fid, $entity_type, $entity_id) {
  * download the file
  */
 function aws_amazon_download_file($fid, $entity_type, $entity_id) {
-  $file = file_load($fid); 
+  $file = file_load($fid);
   $uri = isset($file->aws_uri)? $file->aws_uri : $file->uri;
   $bucket = variable_get('aws_amazon_field_bucket', '');
   if (strpos($uri, 'aws://') !== FALSE) {
@@ -789,8 +796,8 @@ function aws_amazon_cf_url($s3path, $timeout) {
   $path = variable_get('aws_amazon_cloudfront_pk', '');
   try {
     if (!empty($path)) {
-      $fp=fopen($path,"r"); 
-      $priv_key=fread($fp,8192); 
+      $fp=fopen($path,"r");
+      $priv_key=fread($fp,8192);
       fclose($fp);
       $cf->set_private_key($priv_key);
 
