ドキュメント

サポート

Cloud Code

認証

Authenticate Cloud Code requests.
読み終わるまでの所要時間 2 分最終更新 23日前

Cloud Code は、認証されたリクエストのみを受け入れます。 認証により、プレイヤー ID を使用して、ゲーム内のすべてのインタラクションのセキュリティ、一貫性、安全性を確保できます。 Cloud Code で認証するには、以下の認証方法を使用できます。

リクエスト発生元

認証方法

信頼されていないクライアント (プレイヤー)Unity Authentication サービスを使用します。
信頼されているクライアント (ゲームサーバー、インテグレーションテスト、ローカルマシン)サービスアカウント認証 または Multiplay Hosting 認証を使用します。

プレイヤーの認証

Unity Authentication は、プレイヤーに一意の ID を割り当て、さまざまな認証方法を提供します。 Unity 認証では、JSON Web Token (JWT) を使用した Bearer 認証を使用します。Cloud Code モジュールは、
AccessToken
プロパティを含む
IExecutionContext
インターフェースを提供します。このアクセストークンは、モジュールを呼び出すプレイヤーの認証に使用する JWT です。
モジュール内で
AccessToken
を使用する方法の詳細については、アクセストークンのサポート ドキュメントを参照してください。

アクセスの制限

特定のモジュールエンドポイントへのアクセスを制限する場合は、ロールベースのアクセス制御 (RBAC) ルールを使用できます。 これらのルールでは、プレイヤーに追加のリソースを付与する 1 回限りのサポート関数など、特殊なモジュールエンドポイントをプレイヤーが実行できないようにすることができます。詳細については、アクセス制御 のドキュメントを参照してください。

信頼されているクライアントの認証

Client Cloud Code API と Admin Cloud Code API はどちらも サービスアカウント認証 とともに使用できます。 これにより、Cloud Code を使用できるさまざまな方法を利用できるようになります。
  • ローカルマシンからモジュールを記述します。
  • モジュールを記述して CI/CD パイプラインから実行します。
  • ゲームサーバーからモジュールを実行します。
  • インテグレーションテストでモジュールを実行します。
Bearer (JWT) 認証と Basic 認証の両方にサービスアカウントを使用できます。

Cloud Code Admin API (Basic 認証)

Cloud Code Admin API にアクセスするには、Basic 認証 を使用する必要があります。 サービスアカウント認証情報を直接使用するには、
<KEY_ID>:<SECRET_KEY>
を base64 でエンコードします。サービスアカウントに適切な権限を付与する必要もあります。Cloud Code の権限とロールの詳細については、以下の表を参照してください。

アクセス権

ロール

モジュールの読み取りCloud Code 閲覧者
モジュールの読み取り/書き込み/削除Cloud Code 編集者
詳細については、サービスアカウント認証 のドキュメントを参照してください。

Cloud Code Client API (Bearer 認証)

Cloud Code Client API にアクセスするには、Bearer 認証を使用します。Token Exchange API を使用して、制限された生存期間でステートレストークンを取得できます。 失効したときに トークンをリフレッシュ するには、同じ API を使用できます。 Cloud Code モジュールは、
ServiceToken
プロパティを含む
IExecutionContext
オブジェクトを提供します。
ServiceToken
プロパティは、Cloud Code として認証してクロスプレイヤーデータにアクセスするために使用できる JWT です。例えば、このトークンを使用して Cloud Save を呼び出して、別のプレイヤーに代わってデータを保存できます。
モジュール内で
ServiceToken
を使用する方法の詳細については、サービストークンサポート ドキュメントを参照してください。

Multiplay Hosting による認証

Multiplay Hosting は、サーバーが生成した JWT を使用する追加の認証方法をサポートします。詳細については、Unity ゲームサーバー (Multiplay Hosting) を呼び出す 方法に関するドキュメントを参照してください。