このガイドでは高度なテクニックについて説明します。誤って適用した場合、この機能によってタイトルへのクライアント アクセスを完全に無効にしてしまう可能性があります。
ポリシーの制御と構造
タイトルは PlayFab Admin API 呼び出しを使用して、アクセス ポリシーの取得と更新を行います。API アクセス ポリシーを設定するために使用する特定の 2 つの呼び出しは、GetPolicy と UpdatePolicy です。Admin API 呼び出しの詳細については、PlayFab API リファレンスを参照してください。 Admin API を使用するには、タイトルに関連付けられた開発者シークレット キーを提供する必要があります。開発者キーは、タイトルが Admin API 呼び出しを行うことを承認するために使用されます。シークレット キーの取得方法については、シークレット キーの管理を参照してください。 各ポリシーには、1 つ以上の PlayFab リソースに対するルールとして機能するステートメントの一覧が含まれています。PlayFab は、すべてのポリシーを許可する既定のポリシー ステートメント セットを定義します。この一連のポリシー ステートメントを置き換えずに削除すると、タイトルは Client API を呼び出せなくなります。 既定の PlayFab ポリシー ステートメント:- Resource - 1 つ以上の PlayFab リソースを一意に識別する文字列。API リソースを記述するには、以下に示す規則を使用します。
pfrn:api--/API-GROUP/API-CALLAPI-GROUPとして Client API を指定します:Client、Server、Admin。API-CALLをConfirmPurchase、LoginWithTwitch、ReportPlayerなどの API 名に置き換えます。リソース文字列はワイルドカードをサポートします。次のリソース文字列は任意のリソースに一致します。pfrn:api--* - Action - リソースに対して実行する操作を表す文字列。任意の操作に一致させるには
*を使用します。 - Effect - ルールの定義を指定する文字列。リソースに対する操作を許可または拒否するには、それぞれ
AllowまたはDenyを使用します。 - Principal - ユーザーのクラスを一意に識別する文字列。任意のユーザーに一致させるには
*を使用します。 - Comment - ポリシー ステートメントに関する追加情報を提供するユーザー定義の文字列。
- ApiConditions - 高度なルール条件 (暗号化や署名付きヘッダーなど) を定義する 省略可能なオブジェクト 。
DeleteCharacterFromUser の呼び出しを制限する方法を示しています:
API アクセス ポリシーの例
以下のコード サンプルは、ポリシーに対する基本的な操作を示します。このコードは次の処理を実行します:- 既存の Policy を取得してログに記録します。
- ポリシーを更新します。
- 既存の Policy を再度取得してログに記録します。
