GS2-Deploy
ユーザーやクレデンシャル(認証情報)の追加は GS2-Identifierの管理画面から行えますが、GS2-Deployを利用するとより簡単です。
GS2-Deployは継続的デリバリーの実現を目的としたサービスです。 YAML形式で記述されたコードを使ってリソースの自動構築を行えます。
例えば、ユーザーを新規追加するテンプレートを使ってスタックを作成すると、自動で新規ユーザーをGS2-Identifierに追加することができます。
スタックについて GS2-Deployは、テンプレート(GS2内のリソースをどう操作し構築するかの手順が記述されたもの) を元に、実際に各サービスのリソースを操作します。 このテンプレートで構築したリソースを集約したものをスタックといいます。
スタックに対して、内容を変更したテンプレートを再適用すると、更新の処理が実行されます。 変更の差分を検出し、新たに作成が必要になったリソースは新規作成、更新が必要なリソースは更新、削除が必要なリソースは自動で削除を、それぞれのリソースに対して行います。 この仕組みによって開発者は、要らなくなったリソースを削除する、などのオペレーションを行う必要がなくなり、望んでいるリソースの状態をテンプレートに記述するだけで自動で構築が可能になります。
それでは実際にテンプレートを使ってスタックを作成してみましょう。
GS2TemplateFormatVersion: "2019-05-01"
Description: GS2 SDK identifier template Version 2019-07-10
Globals:
Alias:
ApplicationUserName: application
Resources:
IdentifierApplicationUser:
Type: GS2::Identifier::User
Properties:
Name: ${ApplicationUserName}
IdentifierApplicationUserAttachPolicy:
Type: GS2::Identifier::AttachSecurityPolicy
Properties:
UserName: ${ApplicationUserName}
SecurityPolicyId: grn:gs2::system:identifier:securityPolicy:ApplicationAccess
DependsOn:
- IdentifierApplicationUser
IdentifierApplicationIdentifier:
Type: GS2::Identifier::Identifier
Properties:
UserName: ${ApplicationUserName}
DependsOn:
- IdentifierApplicationUser
Outputs:
ApplicationClientId: !GetAttr IdentifierApplicationIdentifier.Item.ClientId
ApplicationClientSecret: !GetAttr IdentifierApplicationIdentifier.ClientSecret
例に示したのは、 ApplicationAccess 権限を設定したユーザーを作成する テンプレート のサンプルです。 ApplicationUserName: application の部分を変更すると、GS2-Identifier に作成されるユーザー名を変更できます。
この テンプレートファイルを保存します。 続けて、マネージメントコンソールのサイドメニューから Deploy > Stacks を選択します。
スタックの新規作成 で テンプレートデータ に指定してスタックを作成します。
作成したスタックに登録された設定の反映状態は、スタックの 実行状態 の項目で確認できます。
数秒後 CREATE_COMPLETE になり、 クレデンシャルの設定が完了します。
反映完了後に アウトプット タブを選択すると、クレデンシャルの クライアントID と クライアントシークレット が表示されます。 この値は後ほど ゲームアプリ側に設定します。