> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Game Manager 中的 API 存取原則

> 在 Game Manager 中檢視和編輯 PlayFab 遊戲的 API 存取原則，以允許或拒絕用戶端呼叫，並鎖定未使用的端點和 CloudScript 功能。

## 關於 PlayFab API

遊戲用戶端會使用如下的 URI 向 PlayFab API 發出要求：

* `/client/loginwithxbox`
* `/catalog/getitems`
* `/cloudscript/executefunction`

這些要求包含資料承載，告訴 PlayFab 要做什麼：要登入哪位玩家、要擷取哪個項目、要執行哪個函式。

## 什麼是 API 存取原則？

每個 PlayFab 遊戲都有一個 **API 存取原則：**一份權限陳述式清單，用於控制玩家可以從遊戲用戶端叫用哪些 PlayFab API。此原則就像遊戲層級的防火牆：當用戶端發出 API 呼叫時，PlayFab 會評估原則，以判斷應**允許**還是**拒絕**該要求。

預設 API 存取原則會允許大部分 API。

## 為何要修改 API 存取原則？

* 限制存取您的遊戲未使用的功能
* 防止惡意玩家增加您的成本
* 避免開發期間的錯字造成問題

## 結構

遊戲的 API 存取原則是**陳述式**的排序清單。每個陳述式都有下列欄位：

| 欄位 | 描述 |
| - | - |
| **Resource** | 陳述式所適用的 API 路徑，以 PlayFab 資源名稱表示 (例如 `pfrn:api--/Client/*` 或 `pfrn:api--/Client/GetPlayerProfile`)。萬用字元 `*` 會比對命名空間中的所有 API。 |
| **Action** | 一律為 `*` (所有動作)。 |
| **Effect** | `Allow` 或 `Deny`。 |
| **Principal** | 陳述式適用的對象。`*` 表示所有呼叫端。JSON 物件 (例如 `{"master_player_account": "*"}`) 會以特定主體類型為目標。我們不建議使用 `*` 以外的主體。 |
| **Comment** | 選用的描述。 |
| **ApiConditions** | 選用的條件，例如 `HasSignatureOrEncryption`。 |

## Deny 效果

`Deny` 效果的優先順序高於 `Allow` 效果。如果具有萬用字元的資源 (例如 `pfrn:api--/CloudScript/*`) 具有 `Deny` 效果，則以該資源開頭的任何 API 都無法存取，即使它們具有特定的 `Allow` 效果也一樣。

## API 存取原則頁面

Game Manager 中遊戲設定頁面內的 **API Access Policy** 頁面提供了檢視和編輯遊戲 API 存取原則的介面。

## 索引頁面

索引頁面會顯示所有 API 類別的表格，其中包含下列資料行：

| 資料行 | 描述 |
| - | - |
| **Category** | API 類別的名稱 (例如 "Client"、"Server")。選取以編輯該類別的 API，可能有多個 |
| **Wildcard Statement** | 顯示該類別目前的萬用字元效果：**Allow** 或 **Deny**。這是套用至類別中每個 API 的預設規則，除非被更具體的陳述式覆寫。 |
| **Summary** | 類別中任何個別 API 覆寫的簡短計數 (例如 "3 denied, 1 allowed")。 |

### 可用的動作

* **Search**：依名稱或 API 路徑篩選類別清單。此篩選條件會保留在類別頁面上。
* **Edit as JSON**：為進階使用者開啟完整原則的 JSON 編輯器。在此儲存會一次取代整個原則，並立即生效。
* **Revert to Defaults**：將整個原則重設回 PlayFab 的預設原則並立即儲存。執行此動作之前會出現確認對話方塊。

## 類別頁面

按一下類別名稱會瀏覽至詳細資料頁面，其中列出該類別中的每個 API 以及個別控制項。此頁面上核取方塊的任何變更都必須先儲存才會生效。

### 萬用字元規則

每個資源模式群組的頂端都有一個**萬用字元規則**，也就是 `Allow` 或 `Deny` 的選項按鈕群組。這會設定該群組中所有 API 的預設效果。當萬用字元設定為 **Deny** 時，其下方的所有個別 API 切換都會停用，因為整個類別都被封鎖。

### 個別 API 切換

在萬用字元規則下方，每個 API 端點都會列出一個核取方塊。勾選時，該 API 為**允許**；取消勾選時，則為**拒絕**。這些個別 API 切換可讓您建立萬用字元規則的例外狀況。例如，預設拒絕所有 Client API，然後明確只允許您的遊戲使用的 API。

### 可用的動作

* **Save**：只儲存目前類別的陳述式
* **Reset**：捨棄此類別所有未儲存的變更
* **Edit as JSON**：開啟範圍限定於此類別陳述式的 JSON 編輯器
* **Search**：篩選類別內的 API 清單

## 變更摘要側邊欄

兩個頁面都在畫面右側包含 **Pending changes** 側邊欄。此側邊欄會即時顯示自上次儲存以來您變更的每個陳述式清單，並附有色彩標示的標籤：

* **Allow**：資源已變更為允許
* **Deny**：資源已變更為拒絕
* **Removed**：先前明確的陳述式已被移除 (該 API 會繼承其類別的萬用字元規則)

在索引頁面上，側邊欄中的每項變更都會連結回相關的類別頁面。


## Related topics

- [API 存取原則](/zh-TW/services/playfab/api-references/api-access-policy.md)
- [存取原則](/zh-TW/services/xbox-services/fundamentals/s2s-auth-calls/custom-service-config/access-policies/index.md)
- [存取原則概觀](/zh-TW/services/xbox-services/fundamentals/s2s-auth-calls/custom-service-config/access-policies/live-access-policies-overview.md)
- [在 Partner Center 中設定存取原則](/zh-TW/services/xbox-services/fundamentals/s2s-auth-calls/custom-service-config/access-policies/config/live-access-policies-udc.md)
- [透過 Partner Center 設定存取原則](/zh-TW/services/xbox-services/fundamentals/s2s-auth-calls/custom-service-config/access-policies/config/live-access-policies-config-nav.md)
