# サービスへのアクセスを制御する

> Restrict direct player access to backend services and only allow updates through trusted server code.

プレイヤーの情報を保存するには、プレイヤーの識別子が必要です。Unity Gaming Services (UGS) では、セキュリティと識別のために、ほとんどの機能へのアクセスに対してプレイヤーに [認証](/authentication.md) を求めています。認証プロセスとは、同じプレイヤーが新しいデバイスで同じプロバイダーを通じてゲームにサインインすると、プレイヤーが同じ `playerId` を持つことを意味します。これにより、デバイス間でゲームデータを同期することもできます。

デフォルトでは、UGS はプレイヤーアプリケーションが API エンドポイントを直接呼び出すことを許可しており、これを使用してテストできます。サーバー認証の原則では、プレイヤーの直接アクセスを制限し、信頼できるサーバーコードによる更新のみを許可することが推奨されています。つまり、プレイヤークライアントはプレゼンテーションレイヤーとして機能し、Cloud Code は整合性を検証して正確なゲーム状態データを保存します。

エンドポイントレベルでプレイヤー API アクセスを無効にするには、[アクセス制御](/services/access-control.md) を使用できます。アクセス制御を使用して、Cloud Code 関数を介したバックエンドサービスへの呼び出しのみを許可できます。また、プロジェクトのサービス認証情報を使用して、サーバーへのアクセスを許可することもできます。

詳細については、[アクセス制御と Cloud Code の使用を準備する](./modules/how-to-guides/access-control.md) 方法に関するページを参照してください。

## UGS サービスとのインテグレーション##integration-with-ugs-services

Cloud Code は、[Remote Config](/remote-config.md)、[Cloud Save](/cloud-save.md) などの他の Unity Gaming Services (UGS) とシームレスに統合でき、完全なバックエンドを構築します。一部の UGS サービスでは、特定のアクションが発生したときに Triggers サービスに送信される [トリガーイベント](/triggers/manage-events/supported-ugs-events.md) が生成されます。

サーバー主導型ゲームがある場合、クライアントはイベントを作成できません。つまり、トリガーなどのイベントは常にサーバー上に作成され、データを信頼できます。

ゲーム内でトリガーやその他のイベントを使用する方法の詳細については、[Triggers](/triggers.md) を参照してください。
