Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Настройка Amazon Web Services

Чтобы использовать функцию Defold Live update вместе с сервисами Amazon, вам потребуется учетная запись Amazon Web Services. Если у вас еще нет учетной записи, ее можно создать здесь: https://aws.amazon.com/.

В этом разделе объясняется, как создать нового пользователя с ограниченным доступом в Amazon Web Services, которого можно использовать вместе с редактором Defold для автоматической загрузки ресурсов Live update при бандлинге игры, а также как настроить Amazon S3 так, чтобы игровые клиенты могли получать ресурсы. Дополнительную информацию о настройке Amazon S3 см. в документации Amazon S3.

  1. Создайте bucket для ресурсов Live update

    Откройте меню Services и выберите S3, который находится в категории Storage (Amazon S3 Console). Вы увидите все существующие bucket’ы и возможность создать новый. Хотя можно использовать уже существующий bucket, мы рекомендуем создать новый bucket для ресурсов Live update, чтобы было проще ограничить доступ.

    Создание bucket

  2. Добавьте политику bucket’а

    Выберите bucket, который хотите использовать, откройте панель Properties и разверните параметр Permissions. Откройте политику bucket’а, нажав кнопку Add bucket policy. Политика bucket’а в этом примере позволит анонимному пользователю получать файлы из bucket’а, что позволит игровому клиенту загружать ресурсы Live update, необходимые игре. Дополнительную информацию о политиках bucket’ов см. в документации Amazon.

     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "AddPerm",
                 "Effect": "Allow",
                 "Principal": "*",
                 "Action": "s3:GetObject",
                 "Resource": "arn:aws:s3:::defold-liveupdate-example/*"
             }
         ]
     }
    

    Политика bucket'а

  3. Добавьте CORS-конфигурацию в bucket (необязательно)

    Cross-Origin Resource Sharing (CORS) — это механизм, позволяющий веб-сайту получать ресурс с другого домена с помощью JavaScript. Если вы планируете публиковать игру как HTML5-клиент, вам потребуется добавить CORS-конфигурацию в ваш bucket.

    Выберите bucket, который хотите использовать, откройте панель Properties и разверните параметр Permissions. Откройте настройки CORS, нажав кнопку Add CORS Configuration. Конфигурация в этом примере разрешит доступ с любого сайта, поскольку используется домен с подстановочным символом, хотя доступ можно дополнительно ограничить, если вы знаете, на каких доменах будет доступна ваша игра. Дополнительную информацию о конфигурации Amazon CORS см. в документации Amazon.

     <?xml version="1.0" encoding="UTF-8"?>
     <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
         <CORSRule>
             <AllowedOrigin>*</AllowedOrigin>
             <AllowedMethod>GET</AllowedMethod>
         </CORSRule>
     </CORSConfiguration>
    

    CORS-конфигурация

  4. Создайте IAM-политику

    Откройте меню Services и выберите IAM, который находится в категории Security, Identity & Compliance (Amazon IAM Console). Выберите Policies в меню слева, и вы увидите все существующие политики и возможность создать новую.

    Нажмите кнопку Create Policy, затем выберите Create Your Own Policy. Политика в этом примере позволит пользователю просматривать список всех bucket’ов, что требуется только при настройке проекта Defold для Live update. Она также позволит пользователю получать Access Control List (ACL) и загружать ресурсы в конкретный bucket, используемый для ресурсов Live update. Дополнительную информацию об Amazon Identity and Access Management (IAM) см. в документации Amazon.

     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Effect": "Allow",
                 "Action": [
                     "s3:ListAllMyBuckets"
                 ],
                 "Resource": "arn:aws:s3:::*"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "s3:GetBucketAcl"
                 ],
                 "Resource": "arn:aws:s3:::defold-liveupdate-example"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "s3:PutObject"
                 ],
                 "Resource": "arn:aws:s3:::defold-liveupdate-example/*"
             }
         ]
     }
    

    IAM-политика

  5. Создайте пользователя для программного доступа

    Откройте меню Services и выберите IAM, который находится в категории Security, Identity & Compliance (Amazon IAM Console). Выберите Users в меню слева, и вы увидите всех существующих пользователей и возможность добавить нового. Хотя можно использовать существующего пользователя, мы рекомендуем добавить отдельного пользователя для ресурсов Live update, чтобы было проще ограничить доступ.

    Нажмите кнопку Add User, укажите имя пользователя и выберите Programmatic access как Access type, затем нажмите Next: Permissions. Выберите Attach existing policies directly и укажите политику, созданную на шаге 4.

    После завершения процесса вы получите Access key ID и Secret access key.

    Очень важно сохранить эти ключи, поскольку после ухода со страницы вы не сможете получить их в Amazon повторно.

  6. Создайте файл профиля учетных данных

    На этом этапе вы должны были создать bucket, настроить политику bucket’а, добавить CORS-конфигурацию, создать пользовательскую политику и нового пользователя. Осталось только создать credentials profile file, чтобы редактор Defold мог обращаться к bucket’у от вашего имени.

    Создайте новый каталог .aws в домашней папке и создайте в нем файл credentials.

     $ mkdir ~/.aws
     $ touch ~/.aws/credentials
    

    Файл ~/.aws/credentials будет содержать ваши учетные данные для доступа к Amazon Web Services через программный доступ и является стандартизированным способом управления AWS credentials. Откройте файл в текстовом редакторе и укажите Access key ID и Secret access key в формате, показанном ниже.

     [defold-liveupdate-example]
     aws_access_key_id = <Access key ID>
     aws_secret_access_key = <Secret access key>
    

    Идентификатор, указанный в квадратных скобках, в данном примере defold-liveupdate-example, — это тот же идентификатор, который нужно указать при настройке параметров Live update вашего проекта в редакторе Defold.

    Настройки Live update