GS2-Identifier GS2-Deploy/CDK リファレンス

エンティティ

User

GS2-Identifier ユーザー

プロジェクトにアクセス可能なゲーム開発者を表すエンティティです。

ユーザーにはプログラムからアクセスするためのクレデンシャルや、
ユーザーの権限に基づいてマネージメントコンソールにログインし、プロジェクトを管理できるパスワードを登録できます。

必須デフォルト値の制限説明
namestring~ 128文字ユーザー名
descriptionstring~ 1024文字説明文

GetAttr

説明
ItemUser作成したユーザ

実装例

Type: GS2::Identifier::User
Properties:
  Name: user-0001
  Description: null
from gs2_cdk import Stack, core, identifier

class SampleStack(Stack):

    def __init__(self):
        super().__init__()
        identifier.User(
            stack=self,
            name='user-0001',
        )

print(SampleStack().yaml())  # Generate Template
class SampleStack extends \Gs2Cdk\Core\Model\Stack
{
    function __construct() {
        parent::__construct();
        new \Gs2Cdk\Identifier\Model\User(
            stack: $this,
            name: "user-0001"
        );
    }
}

print((new SampleStack())->yaml());  // Generate Template
class SampleStack extends io.gs2.cdk.core.model.Stack
{
    public SampleStack() {
        super();
        new io.gs2.cdk.identifier.model.User(
            this,
            "user-0001"
        );
    }
}

System.out.println(new SampleStack().yaml());  // Generate Template
import core from "@/gs2cdk/core";
import identifier from "@/gs2cdk/identifier";

class SampleStack extends core.Stack
{
    public constructor() {
        super();
        new identifier.model.User(
            this,
            "user-0001"
        );
    }
}

console.log(new SampleStack().yaml());  // Generate Template
public class SampleStack : Gs2Cdk.Core.Model.Stack
{
    public SampleStack() {
        new Gs2Cdk.Gs2Identifier.Model.User(
            this,
            "user-0001"
        );
    }
}

Debug.Log(new SampleStack().Yaml());  // Generate Template

SecurityPolicy

セキュリティーポリシー

ユーザが利用できるAPIの種類やアクセスできるリソースの制限を定義します。
アクセス制限のルールはポリシードキュメントというJSON形式の定義データを使用します。
ポリシードキュメントの仕様については 開発資料内のポリシードキュメントについての解説ページを参照してください。

必須デフォルト値の制限説明
namestring~ 128文字セキュリティポリシー名
descriptionstring~ 1024文字説明文
policystring~ 5242880文字ポリシードキュメント

GetAttr

説明
ItemSecurityPolicy作成したセキュリティポリシー

実装例

Type: GS2::Identifier::SecurityPolicy
Properties:
  Name: policy-0001
  Description: null
  Policy: {}
from gs2_cdk import Stack, core, identifier

class SampleStack(Stack):

    def __init__(self):
        super().__init__()
        identifier.SecurityPolicy(
            stack=self,
            name='policy-0001',
            policy='{}',
        )

print(SampleStack().yaml())  # Generate Template
class SampleStack extends \Gs2Cdk\Core\Model\Stack
{
    function __construct() {
        parent::__construct();
        new \Gs2Cdk\Identifier\Model\SecurityPolicy(
            stack: $this,
            name: "policy-0001",
            policy: "{}"
        );
    }
}

print((new SampleStack())->yaml());  // Generate Template
class SampleStack extends io.gs2.cdk.core.model.Stack
{
    public SampleStack() {
        super();
        new io.gs2.cdk.identifier.model.SecurityPolicy(
            this,
            "policy-0001",
            "{}"
        );
    }
}

System.out.println(new SampleStack().yaml());  // Generate Template
import core from "@/gs2cdk/core";
import identifier from "@/gs2cdk/identifier";

class SampleStack extends core.Stack
{
    public constructor() {
        super();
        new identifier.model.SecurityPolicy(
            this,
            "policy-0001",
            "{}"
        );
    }
}

console.log(new SampleStack().yaml());  // Generate Template
public class SampleStack : Gs2Cdk.Core.Model.Stack
{
    public SampleStack() {
        new Gs2Cdk.Gs2Identifier.Model.SecurityPolicy(
            this,
            "policy-0001",
            "{}"
        );
    }
}

Debug.Log(new SampleStack().Yaml());  // Generate Template

Identifier

クレデンシャル

GS2のAPIにアクセスするために必要となるAPIキーです。
クレデンシャルはクライアントIDとクライアントシークレットからなり、クレデンシャルを使用したアクセスは、クレデンシャルの所有者となるユーザの権限に基づいてアクセス制限が施されます。

必須デフォルト値の制限説明
userNamestring~ 128文字ユーザー名

GetAttr

説明
ItemIdentifier作成したクレデンシャル
ClientSecretstringクライアントシークレット

実装例

Type: GS2::Identifier::Identifier
Properties:
  UserName: user-0001
from gs2_cdk import Stack, core, identifier

class SampleStack(Stack):

    def __init__(self):
        super().__init__()
        identifier.Identifier(
            stack=self,
            user_name='user-0001',
        )

print(SampleStack().yaml())  # Generate Template
class SampleStack extends \Gs2Cdk\Core\Model\Stack
{
    function __construct() {
        parent::__construct();
        new \Gs2Cdk\Identifier\Model\Identifier(
            stack: $this,
            userName: "user-0001"
        );
    }
}

print((new SampleStack())->yaml());  // Generate Template
class SampleStack extends io.gs2.cdk.core.model.Stack
{
    public SampleStack() {
        super();
        new io.gs2.cdk.identifier.model.Identifier(
            this,
            "user-0001"
        );
    }
}

System.out.println(new SampleStack().yaml());  // Generate Template
import core from "@/gs2cdk/core";
import identifier from "@/gs2cdk/identifier";

class SampleStack extends core.Stack
{
    public constructor() {
        super();
        new identifier.model.Identifier(
            this,
            "user-0001"
        );
    }
}

console.log(new SampleStack().yaml());  // Generate Template
public class SampleStack : Gs2Cdk.Core.Model.Stack
{
    public SampleStack() {
        new Gs2Cdk.Gs2Identifier.Model.Identifier(
            this,
            "user-0001"
        );
    }
}

Debug.Log(new SampleStack().Yaml());  // Generate Template

Password

パスワード

マネージメントコンソールにユーザの権限に基づいてログインするためのパスワード。
パスワードを設定することで、1つのプロジェクトに異なるアカウントからログインでき、なおかつアクセスできる情報に制限をかけることができます。

必須デフォルト値の制限説明
userNamestring~ 128文字ユーザー名
passwordstring~ 1024文字パスワード

enableTwoFactorAuthentication に指定する列挙型の定義

定義説明
RFC6238有効
Disable無効

GetAttr

説明
ItemPassword作成したパスワード

実装例

Type: GS2::Identifier::Password
Properties:
  UserName: user-0001
  Password: password-0001
from gs2_cdk import Stack, core, identifier

class SampleStack(Stack):

    def __init__(self):
        super().__init__()
        identifier.Password(
            stack=self,
            user_name='user-0001',
            password='password-0001',
        )

print(SampleStack().yaml())  # Generate Template
class SampleStack extends \Gs2Cdk\Core\Model\Stack
{
    function __construct() {
        parent::__construct();
        new \Gs2Cdk\Identifier\Model\Password(
            stack: $this,
            userName: "user-0001",
            password: "password-0001"
        );
    }
}

print((new SampleStack())->yaml());  // Generate Template
class SampleStack extends io.gs2.cdk.core.model.Stack
{
    public SampleStack() {
        super();
        new io.gs2.cdk.identifier.model.Password(
            this,
            "user-0001",
            "password-0001"
        );
    }
}

System.out.println(new SampleStack().yaml());  // Generate Template
import core from "@/gs2cdk/core";
import identifier from "@/gs2cdk/identifier";

class SampleStack extends core.Stack
{
    public constructor() {
        super();
        new identifier.model.Password(
            this,
            "user-0001",
            "password-0001"
        );
    }
}

console.log(new SampleStack().yaml());  // Generate Template
public class SampleStack : Gs2Cdk.Core.Model.Stack
{
    public SampleStack() {
        new Gs2Cdk.Gs2Identifier.Model.Password(
            this,
            "user-0001",
            "password-0001"
        );
    }
}

Debug.Log(new SampleStack().Yaml());  // Generate Template

AttachSecurityPolicy

アタッチされたセキュリティポリシー

必須デフォルト値の制限説明
userNamestring~ 128文字ユーザー名
securityPolicyIdstring~ 1024文字割り当てるセキュリティポリシーのGRN

GetAttr

説明
ItemsSecurityPolicy[]新しくユーザーに割り当てたセキュリティポリシーのリスト

実装例

Type: GS2::Identifier::AttachSecurityPolicy
Properties:
  UserName: user-0001
  SecurityPolicyId: $securityPolicy1.securityPolicyId
from gs2_cdk import Stack, core, identifier

class SampleStack(Stack):

    def __init__(self):
        super().__init__()
        identifier.AttachSecurityPolicy(
            stack=self,
            user_name='user-0001',
            security_policy_id=self.security_policy1.security_policy_id,
        )

print(SampleStack().yaml())  # Generate Template
class SampleStack extends \Gs2Cdk\Core\Model\Stack
{
    function __construct() {
        parent::__construct();
        new \Gs2Cdk\Identifier\Model\AttachSecurityPolicy(
            stack: $this,
            userName: "user-0001",
            securityPolicyId: self::$securityPolicy1.securityPolicyId
        );
    }
}

print((new SampleStack())->yaml());  // Generate Template
class SampleStack extends io.gs2.cdk.core.model.Stack
{
    public SampleStack() {
        super();
        new io.gs2.cdk.identifier.model.AttachSecurityPolicy(
            this,
            "user-0001",
            "$securityPolicy1.securityPolicyId"
        );
    }
}

System.out.println(new SampleStack().yaml());  // Generate Template
import core from "@/gs2cdk/core";
import identifier from "@/gs2cdk/identifier";

class SampleStack extends core.Stack
{
    public constructor() {
        super();
        new identifier.model.AttachSecurityPolicy(
            this,
            "user-0001",
            "$securityPolicy1.securityPolicyId"
        );
    }
}

console.log(new SampleStack().yaml());  // Generate Template
public class SampleStack : Gs2Cdk.Core.Model.Stack
{
    public SampleStack() {
        new Gs2Cdk.Gs2Identifier.Model.AttachSecurityPolicy(
            this,
            "user-0001",
            "$securityPolicy1.securityPolicyId"
        );
    }
}

Debug.Log(new SampleStack().Yaml());  // Generate Template

ProjectToken

プロジェクトトークン

必須デフォルト値の制限説明
tokenstring~ 1024文字プロジェクトトークン

TwoFactorAuthenticationSetting

二要素認証設定

必須デフォルト値の制限説明
statusenum {
    “Verifying”,
    “Enable”
}
“Verifying”~ 128文字ステータス

status に指定する列挙型の定義

定義説明
Verifying検証中
Enable有効