To avoid specifying S3 storage credentials in a docroot, you can use your AWS Identity and Access Management (IAM) roles to set docroots to S3 storage. The steps below assume the following:

  1. Log into AWS Management Console as admin and create a new IAM role that has access to your S3 storage.

    Click the Create New Role button. In the Create Role dialog that appears, fill in a role name (s3_access in the following screen), and click Continue.

  2. On the Select Role Type panel, choose AWS Service Roles, and select the Amazon EC2 role type.
  3. On the Set Permissions panel, choose Select Policy Template, and select the Amazon S3 Full Access policy template.

    The policy can be modified later.

    Alternatively, you can set policy by choosing the Policy Generator. For example, the following sets permissions that allow all actions on all S3 resources:

    {
      "Statement": [
        {
          "Sid": "Stmt1360956435483",
          "Action": [
            "s3:*"
          ],
          "Effect": "Allow",
          "Resource": [
            "*"
          ]
        }
      ]
    }

    The following is a Trust Relationships sample for EC2. The date conditions are optional.

    {
      "Version": "2008-10-17",
      "Statement": [
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "Service": "ec2.amazonaws.com"
          },
          "Action": "sts:AssumeRole",
          "Condition": {
            "DateLessThan": {
              "aws:CurrentTime": "2033-02-18T13:00:00.000+0000"
            },
            "DateGreaterThan": {
              "aws:CurrentTime": "2010-08-16T12:00:00.000+0000"
            }
          }
        }
      ]
    } 
  4. Launch an AMI using the IAM role that has access to S3 storage.
  5. Connect to your server through SSH as root.
    # ssh -i identity_file -p 33001 ec2-user@ec2_host_ip
    # sudo su -
  6. Modify aspera.conf or use the Aspera Console UI to set the transfer user's docroot.
      <user>
        <name>ec2-user</name>
          ...
            <absolute>s3://s3.amazonaws.com/s3-bucket-name</absolute>
          ...
      </user>

    Restart asperanoded:

    # /etc/init.d/asperanoded restart