Setting Up Accounts and Tools
The following topics describe the tasks you need to perform before you can use Amazon Mechanical Turk.
Topics
Step 1: Sign Up for an AWS Account
To develop solutions using the Amazon Mechanical Turk web service, you must first sign up for an AWS account. An AWS account is an Amazon.com account that enables you to use services from AWS.
To sign up for an AWS account
Open https://portal.aws.amazon.com/billing/signup
. Follow the online instructions.
Part of the sign-up procedure involves receiving a phone call and entering a verification code on the phone keypad.
When you sign up for an AWS account, an AWS account root user is created. The root user has access to all AWS services and resources in the account. As a security best practice, assign administrative access to a user, and use only the root user to perform tasks that require root user access.
Using your AWS account, you can view your AWS account activity and usage reports and manage your security credentials.
AWS Security Credentials
AWS uses access keys to help protect your data when you access AWS programmatically. An access key consists of two parts: an access key ID, which is similar to a user name, and a secret access key, which is similar to a password.
-
Sample access key ID: AKIAIOSFODNN7EXAMPLE
-
Sample secret access key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
You use access keys to sign programmatic requests that you make to the Amazon Mechanical Turk
API using a supported AWS SDK
Note
Although you may use your AWS root credentials to access the Mechanical Turk API, we recommend that instead you create an IAM user and use those credentials instead. Please note that Mechanical Turk does not currently support the use of IAM role credentials.
To manage your AWS security credentials
-
Sign in to the Amazon Web Services website at http://aws.amazon.com/security-credentials
. -
Do one of the following:
-
If you signed in using your root credentials, choose Continue to Security Credentials.
-
If you signed in as an IAM user, choose Access Keys (Access Key ID and Secret Access Key).
-
-
Choose Create New Access Key.
-
In Create Access Key, choose Download Key File.
-
The private key file (
rootkey.csv
) is automatically downloaded by your browser. Save the private key file in a safe place.Important
This is the only chance for you to save the private key file. You will need these credentials to use the Amazon Mechanical Turk API.
Step 2: Create a Requester Account
Before you can use Amazon Mechanical Turk, you must have an Amazon Mechanical Turk Requester account.
To create and register a Requester account
-
Go to https://requester.mturk.com
. -
Click Create an Account.
-
Enter your email address.
-
Follow the prompts to complete your Requester account registration.
When prompted, type your mailing address and accept the Amazon Mechanical Turk Participation Agreement.
Step 3: Link Your AWS account to your MTurk Requester account
Next, you will need to link your AWS Account to your MTurk Requester Account. This operation grants permission to your AWS Account to access your Requester account using the MTurk APIs.
-
Click Link your AWS Account and sign-in with your AWS Root user email address and password.
Step 4: Create an IAM User
With AWS Identity and Access Management
Note
You use IAM credentials only to authenticate Mechanical Turk API requests. You cannot use them to log in to the Mechanical Turk Requester website.
To create an IAM user
-
Sign in to the Amazon Web Services website at http://aws.amazon.com/security-credentials
. -
Choose Get Started With IAM Users.
-
Choose Add user.
-
Under Set user details, type the name for your user. To add multiple users with the same access types and permissions, click the Add another user link to enter another user name to create.
-
Under Select AWS access type, make sure Programmatic access is selected and choose Next: Permissions to move to the next step.
-
Under Set permissions, choose Attach existing policies directly.
-
Select the AmazonMechanicalTurkFullAccess or AmazonMechanicalTurkReadOnly policy, depending on the level of control you want to grant.
-
Choose Next: Tags to continue.
-
There is no need to add tags. Choose Next: Review to continue.
-
Review the settings you selected and choose Create user or Create users as appropriate.
-
The user is added. To download the user's credentials for use with SDKs or the CLI, either choose Download .csv to download the information of the user or users created. Alternatively, click the Show link next to the obscured secret access key. Copy it somewhere secure as you will only be able to view it once.
To set up Amazon Mechanical Turk permissions for previously created IAM users
-
Read Overview of IAM Policies in the IAM User Guide.
-
Sign in to the IAM console at https://console.aws.amazon.com/iam/home#policies
. -
On the Policies page, choose AmazonMechanicalTurkFullAccess or AmazonMechanicalTurkReadOnly.
-
At the top of the page, choose Policy Actions and then choose Attach.
-
On the Attach Policy page, select the IAM user(s) that you want to set permissions for. Then choose Attach Policy to give those users permission to access the Mechanical Turk API.
What is supported?
API authentication using IAM credentials | Yes |
Website authentication using IAM credentials | No |
Action-level permissions for IAM users | Yes |
Resource-level permissions for IAM users | No |
Tag-based permissions for IAM users | No |
Authentication using temporary credentials (roles or groups) | No |
Authentication using federated user credentials | No |
Step 5: Set up the Developer Sandbox
You should test your HITs in the Amazon Mechanical Turk sandbox testing environment to make sure they work as expected before publishing your HITs in the Mechanical Turk marketplace. The sandbox provides a testing environment where you can publish and work on HITs to try them out before publishing them in the Amazon Mechanical Turk Marketplace. The sandbox consists of a Requester sandbox website and a Worker sandbox website.
You will need to create a Requester account on the Requester sandbox website,
which is located at https://requestersandbox.mturk.com
Note
To create HITs in the sandbox using the MTurk APIs, you will also need to link your AWS account to your sandbox Requester account as per Link Your AWS account to your MTurk Requester account, on the Requester sandbox website at https://requestersandbox.mturk.com/developer
When testing in the sandbox, test each HIT in all the major Internet browsers to make sure your HIT works the same in each browser. If you have links to pictures or videos in your HITs, make sure the links work. Also, your testing should include verifying that the format of the submitted answers is acceptable.
Step 6: Set up an AWS SDK
The MTurk API can be accessed using the following AWS SDKs: Python/Boto
Configure the AWS SDK to use the ‘us-east-1’ region. This is the region in which the MTurk API is available. Then connect to the MTurk Developer Sandbox
Step 7: Prepay for Your HITs or Enable AWS Billing
Before you use the production version of Amazon Mechanical Turk you need to prepay for the HITs you create. Otherwise, you can't post your HITs to Workers.
To post your HITs to Workers, you must have money in your Prepaid HIT Balance to prepay for all of your HITs. You can use a credit or debit card or debit card to prepay for the HITs.
Alternatively, you can enable AWS Billing for your account. You will see rewards and fees associated with your HITs on the AWS Anniversary Bill for your linked AWS account.
For instructions on how to prepay for your HITs or to enable AWS Billing, go to the Requester website
Creating a HIT Tutorial
The Creating a HIT tutorial in the next section takes you step-by-step through using Amazon Mechanical Turk to create a HIT.