

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 中的安全性 AWS X-Ray
<a name="security"></a>

的雲端安全性 AWS 是最高優先順序。身為 AWS 客戶，您可以受益於資料中心和網路架構，這些架構專為滿足最安全敏感組織的需求而建置。

安全性是 AWS 與您之間的共同責任。[‬共同責任模型‭](https://aws.amazon.com/compliance/shared-responsibility-model/)‬ 將此描述為雲端*‬的‭*‬安全和雲端*‬內*‬的安全：
+ **雲端的安全性** – AWS 負責保護在 AWS 服務 中執行的基礎設施 AWS 雲端。 AWS 也為您提供可安全使用的服務。第三方稽核人員定期檢測及驗證安全的效率也是我們 [AWS 合規計劃](https://aws.amazon.com/compliance/programs/)的一部分。若要了解適用於 X-Ray 的合規計劃，請參閱[AWS 服務 合規計劃範圍中的](https://aws.amazon.com/compliance/services-in-scope/) 。
+ **雲端的安全性** – 您的責任取決於您使用 AWS 服務 的 。您也必須對資料敏感度、組織要求，以及適用法律和法規等其他因素負責。

本文件將協助您了解如何在使用 X-Ray 時套用共同責任模型。下列主題說明如何設定 X-Ray 以符合您的安全與合規目標。您也將了解如何使用其他 AWS 服務 來協助您監控和保護 X-Ray 資源。

**主題**
+ [中的資料保護 AWS X-Ray](xray-console-encryption.md)
+ [的身分和存取管理 AWS X-Ray](security-iam.md)
+ [的合規驗證 AWS X-Ray](compliance-validation.md)
+ [中的彈性 AWS X-Ray](disaster-recovery-resiliency.md)
+ [中的基礎設施安全 AWS X-Ray](infrastructure-security.md)

# 中的資料保護 AWS X-Ray
<a name="xray-console-encryption"></a>

AWS X-Ray 一律加密追蹤和靜態相關資料。當您需要稽核和停用加密金鑰以符合合規或內部要求時，您可以將 X-Ray 設定為使用 AWS Key Management Service (AWS KMS) 金鑰來加密資料。

X-Ray 提供 AWS 受管金鑰 名為 的 `aws/xray`。當您只想要[稽核 AWS CloudTrail中的金鑰使用情況](https://docs.aws.amazon.com/kms/latest/developerguide/logging-using-cloudtrail.html)而不需要管理金鑰本身時，請使用此金鑰。當您需要管理金鑰的存取權或設定金鑰輪換時，您可以[建立客戶受管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。

當您變更加密設定時，X-Ray 會花費一些時間來產生和傳播資料金鑰。雖然會處理新的金鑰，但 X-Ray 可能會使用新設定和舊設定的組合來加密資料。當您變更加密設定時，並不會重新加密現有資料。

**注意**  
AWS KMS 當 X-Ray 使用 KMS 金鑰來加密或解密追蹤資料時， 會收取費用。  
**預設加密** – 免費。
**AWS 受管金鑰** – 支付金鑰使用費。
**客戶受管金鑰** – 支付金鑰儲存和使用的費用。
如需詳細資訊，請參閱 [AWS Key Management Service 定價](https://aws.amazon.com/kms/pricing/)。

**注意**  
 X-Ray 洞察通知會將事件傳送至 Amazon EventBridge，目前不支援客戶受管金鑰。如需詳細資訊，請參閱 [Amazon EventBridge 中的資料保護](https://docs.aws.amazon.com/eventbridge/latest/userguide/data-protection.html)。

您必須擁有客戶受管金鑰的使用者層級存取權，才能將 X-Ray 設定為使用該金鑰，然後檢視加密的追蹤。如需更多資訊，請參閱[用於加密的使用者許可](security_iam_service-with-iam.md#xray-permissions-encryption)。

------
#### [ CloudWatch console ]

**設定 X-Ray 使用 CloudWatch 主控台使用 KMS 金鑰進行加密**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在左側導覽窗格中選擇**設定**。

1. 在 **X-Ray 追蹤**區段的**加密**下選擇**檢視設定**。

1. 在**加密組態**區段中選擇**編輯**。

1. 選擇**使用 KMS 金鑰**。

1. 從下拉式選單中選擇金鑰：
   + **aws/xray** – 使用 AWS 受管金鑰。
   + *金鑰別名 – *在您的帳戶中使用客戶受管金鑰。
   + **手動輸入金鑰 ARN** – 在不同帳戶中使用客戶受管金鑰。在顯示欄位中，輸入金鑰的完整 Amazon Resource Name (ARN)。

1. 選擇**更新加密**。

------
#### [ X-Ray console ]

**設定 X-Ray 使用 X-Ray 主控台使用 KMS 金鑰進行加密**

1. 開啟 [X-Ray 主控台](https://console.aws.amazon.com/xray/home#)。

1. 選擇 **Encryption (加密)**。

1. 選擇**使用 KMS 金鑰**。

1. 從下拉式選單中選擇金鑰：
   + **aws/xray** – 使用 AWS 受管金鑰。
   + *金鑰別名 – *在您的帳戶中使用客戶受管金鑰。
   + **手動輸入金鑰 ARN** – 在不同帳戶中使用客戶受管金鑰。在顯示欄位中，輸入金鑰的完整 Amazon Resource Name (ARN)。

1. 選擇**套用**。

------

**注意**  
X-Ray 不支援非對稱 KMS 金鑰。

如果 X-Ray 無法存取您的加密金鑰，則會停止儲存資料。如果您的使用者無法存取 KMS 金鑰，或者您停用目前正在使用的金鑰，就可能會發生這種情況。發生這種情況時，X-Ray 會在導覽列中顯示通知。

若要使用 X-Ray API 設定加密設定，請參閱 [使用 AWS X-Ray API 設定取樣、群組和加密設定](xray-api-configuration.md)。

# 的身分和存取管理 AWS X-Ray
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) 是 AWS 服務 ，可協助管理員安全地控制對 AWS 資源的存取。IAM 管理員可控制誰可以*進行身分驗證* （登入） 和*授權* （具有許可） 來使用 X-Ray 資源。IAM 是您可以免費使用 AWS 服務 的 。

**Topics**
+ [目標對象](#security_iam_audience)
+ [使用身分驗證](#security_iam_authentication)
+ [使用政策管理存取權](#security_iam_access-manage)
+ [AWS X-Ray 如何使用 IAM](security_iam_service-with-iam.md)
+ [AWS X-Ray 身分型政策範例](security_iam_id-based-policy-examples.md)
+ [對 AWS X-Ray 身分和存取進行故障診斷](security_iam_troubleshoot.md)

## 目標對象
<a name="security_iam_audience"></a>

使用方式 AWS Identity and Access Management (IAM) 會根據您的角色而有所不同：
+ **服務使用者** — 若無法存取某些功能，請向管理員申請所需許可 (請參閱 [對 AWS X-Ray 身分和存取進行故障診斷](security_iam_troubleshoot.md))
+ **服務管理員** — 負責設定使用者存取權並提交相關許可請求 (請參閱 [AWS X-Ray 如何使用 IAM](security_iam_service-with-iam.md))
+ **IAM 管理員** — 撰寫政策以管理存取控制 (請參閱 [AWS X-Ray 身分型政策範例](security_iam_id-based-policy-examples.md))

## 使用身分驗證
<a name="security_iam_authentication"></a>

身分驗證是您 AWS 使用身分憑證登入 的方式。您必須以 AWS 帳戶根使用者、IAM 使用者或擔任 IAM 角色身分進行身分驗證。

您可以使用身分來源的登入資料，例如 AWS IAM Identity Center (IAM Identity Center)、單一登入身分驗證或 Google/Facebook 登入資料，以聯合身分的形式登入。如需有關登入的詳細資訊，請參閱《AWS 登入 使用者指南》**中的[如何登入您的 AWS 帳戶](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)。

對於程式設計存取， AWS 提供 SDK 和 CLI 以密碼編譯方式簽署請求。如需詳細資訊，請參閱《IAM 使用者指南》**中的 [API 請求的AWS 第 4 版簽署程序](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)。

### AWS 帳戶 根使用者
<a name="security_iam_authentication-rootuser"></a>

 當您建立 時 AWS 帳戶，您會從一個名為 AWS 帳戶 *theroot 使用者的*登入身分開始，該身分具有對所有 AWS 服務 和 資源的完整存取權。強烈建議不要使用根使用者來執行日常任務。有關需要根使用者憑證的任務，請參閱《IAM 使用者指南》**中的[需要根使用者憑證的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

### IAM 使用者和群組
<a name="security_iam_authentication-iamuser"></a>

*IAM 使用者*[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)是一種身分具備單人或應用程式的特定許可權。建議以臨時憑證取代具備長期憑證的 IAM 使用者。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[要求人類使用者使用聯合身分提供者來 AWS 使用臨時憑證存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) 。

[IAM 群組](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)**會指定 IAM 使用者集合，使管理大量使用者的許可權更加輕鬆。如需詳細資訊，請參閱《IAM 使用者指南》**中的 [IAM 使用者的使用案例](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)。

### IAM 角色
<a name="security_iam_authentication-iamrole"></a>

*IAM 角色*[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)的身分具有特定許可權，其可以提供臨時憑證。您可以透過[從使用者切換到 IAM 角色 （主控台） ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)或呼叫 AWS CLI 或 AWS API 操作來擔任角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的[擔任角色的方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)。

IAM 角色適用於聯合身分使用者存取、臨時 IAM 使用者許可、跨帳戶存取權與跨服務存取，以及在 Amazon EC2 執行的應用程式。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的快帳戶資源存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。

## 使用政策管理存取權
<a name="security_iam_access-manage"></a>

您可以透過建立政策並將其連接到身分或資源 AWS 來控制 AWS 中的存取。政策定義與身分或資源相關聯的許可。當委託人提出請求時 AWS ， 會評估這些政策。大多數政策會以 JSON 文件 AWS 的形式存放在 中。如需進一步了解 JSON 政策文件，請參閱《*IAM 使用者指南*》中的 [JSON 政策概觀](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)。

管理員會使用政策，透過定義哪些**主體**可在哪些**條件**下對哪些**資源**執行**動作**，以指定可存取的範圍。

預設情況下，使用者和角色沒有許可。IAM 管理員會建立 IAM 政策並將其新增至角色，供使用者後續擔任。IAM 政策定義動作的許可，無論採用何種方式執行。

### 身分型政策
<a name="security_iam_access-manage-id-based-policies"></a>

身分型政策是附加至身分 (使用者、使用者群組或角色) 的 JSON 許可政策文件。這類政策控制身分可對哪些資源執行哪些動作，以及適用的條件。如需了解如何建立身分型政策，請參閱《*IAM 使用者指南*》中的[透過客戶管理政策定義自訂 IAM 許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

身分型政策可分為*內嵌政策* (直接內嵌於單一身分) 與*受管政策* (可附加至多個身分的獨立政策)。如需了解如何在受管政策及內嵌政策之間做選擇，請參閱《IAM 使用者指南》**中的[在受管政策與內嵌政策之間選擇](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)。

### 資源型政策
<a name="security_iam_access-manage-resource-based-policies"></a>

資源型政策是附加到資源的 JSON 政策文件。範例包括 IAM *角色信任政策*與 Amazon S3 *儲存貯體政策*。在支援資源型政策的服務中，服務管理員可以使用它們來控制對特定資源的存取權限。您必須在資源型政策中[指定主體](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。

資源型政策是位於該服務中的內嵌政策。您無法在資源型政策中使用來自 IAM 的 AWS 受管政策。

### 存取控制清單 (ACL)
<a name="security_iam_access-manage-acl"></a>

存取控制清單 (ACL) 可控制哪些主體 (帳戶成員、使用者或角色) 擁有存取某資源的許可。ACL 類似於資源型政策，但它們不使用 JSON 政策文件格式。

Amazon S3 AWS WAF和 Amazon VPC 是支援 ACLs的服務範例。如需進一步了解 ACL，請參閱《Amazon Simple Storage Service 開發人員指南》**中的[存取控制清單 (ACL) 概觀](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html)。

### 其他政策類型
<a name="security_iam_access-manage-other-policies"></a>

AWS 支援其他政策類型，可設定更多常見政策類型授予的最大許可：
+ **許可界限** — 設定身分型政策可授與 IAM 實體的最大許可。如需詳細資訊，請參閱《 IAM 使用者指南》**中的 [IAM 實體許可界限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。
+ **服務控制政策 (SCP)** — 為 AWS Organizations中的組織或組織單位指定最大許可。如需詳細資訊，請參閱《AWS Organizations 使用者指南》**中的[服務控制政策](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)。
+ **資源控制政策 (RCP)** — 設定您帳戶中資源可用許可的上限。如需詳細資訊，請參閱《AWS Organizations 使用者指南》**中的[資源控制政策 (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)。
+ **工作階段政策** — 在以程式設計方式為角色或聯合身分使用者建立臨時工作階段時，以參數形式傳遞的進階政策。如需詳細資訊，請參《*IAM 使用者指南*》中的[工作階段政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)。

### 多種政策類型
<a name="security_iam_access-manage-multiple-policies"></a>

當多種類型的政策適用於請求時，產生的許可會更複雜而無法理解。若要了解如何 AWS 在涉及多種政策類型時決定是否允許請求，請參閱《*IAM 使用者指南*》中的[政策評估邏輯](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)。

# AWS X-Ray 如何使用 IAM
<a name="security_iam_service-with-iam"></a>

在您使用 IAM 管理對 X-Ray 的存取之前，您應該了解哪些 IAM 功能可與 X-Ray 搭配使用。若要全面了解 X-Ray 和其他 AWS 服務 如何使用 IAM，請參閱《[AWS 服務 IAM 使用者指南》中的該使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) *IAM*。

您可以使用 AWS Identity and Access Management (IAM) 將 X-Ray 許可授予您帳戶中的使用者和運算資源。無論您的使用者使用哪個用戶端 （主控台、 AWS SDK AWS CLI)，IAM 都會控制對 API 層級 X-Ray 服務的存取，以統一地強制執行許可。

若要[使用 X-Ray 主控台](aws-xray-interface-console.md#xray-console)檢視追蹤映射和區段，您只需要讀取許可。若要啟用主控台存取，請將 `AWSXrayReadOnlyAccess` [受管政策](security_iam_id-based-policy-examples.md#xray-permissions-managedpolicies)新增到您的 IAM 使用者。

針對[本機開發和測試](#xray-permissions-local)，請建立具有讀取和寫入許可的 IAM 角色。[擔任角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)並存放角色的臨時登入資料。您可以搭配 X-Ray 協助程式 AWS CLI、 和 AWS SDK 使用這些登入資料。如需詳細資訊[，請參閱搭配 使用臨時安全登入 AWS CLI](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html#using-temp-creds-sdk-cli)資料。

若要[將受檢測的應用程式部署到 AWS](#xray-permissions-aws) ，請建立具有寫入許可的 IAM 角色，並將其指派給執行您應用程式的資源。 `AWSXRayDaemonWriteAccess`包含上傳追蹤的許可，以及一些讀取許可，以支援使用[抽樣規則](xray-console-sampling.md)。

讀取和寫入政策不包含設定[加密金鑰設定](xray-console-encryption.md)及抽樣規則的許可。使用 `AWSXrayFullAccess` 存取這些設定，或是在自訂政策中新增[組態 API](xray-api-configuration.md)。針對使用您所建立客戶受管金鑰的加密和解密，您也需要[使用金鑰的許可](#xray-permissions-encryption)。

**Topics**
+ [X-Ray 身分型政策](#security_iam_service-with-iam-id-based-policies)
+ [X-Ray 資源型政策](#security_iam_service-with-iam-resource-based-policies)
+ [以 X-Ray 標籤為基礎的授權](#security_iam_service-with-iam-tags)
+ [於本機執行您的應用程式](#xray-permissions-local)
+ [在 中執行您的應用程式 AWS](#xray-permissions-aws)
+ [用於加密的使用者許可](#xray-permissions-encryption)

## X-Ray 身分型政策
<a name="security_iam_service-with-iam-id-based-policies"></a>

使用 IAM 身分型政策，您可以指定允許或拒絕的動作和資源，以及在何種條件下允許或拒絕動作。X-Ray 支援特定動作、資源和條件金鑰。若要了解您在 JSON 政策中使用的所有元素，請參閱 *IAM 使用者指南*中的 [JSON 政策元素參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

### 動作
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

JSON 政策的 `Action` 元素描述您可以用來允許或拒絕政策中存取的動作。政策會使用動作來授予執行相關聯動作的許可。

X-Ray 中的政策動作在動作之前使用下列字首：`xray:`。例如，若要授予某人使用 X-Ray `GetGroup` API 操作擷取群組資源詳細資訊的許可，請在其政策中包含 `xray:GetGroup`動作。政策陳述式必須包含 `Action` 或 `NotAction` 元素。X-Ray 會定義自己的一組動作，描述您可以使用此服務執行的任務。

若要在單一陳述式中指定多個動作，請用逗號分隔，如下所示：

```
"Action": [
      "xray:action1",
      "xray:action2"
```

您也可以使用萬用字元 (\$1) 來指定多個動作。例如，若要指定開頭是 `Get` 文字的所有動作，請包含以下動作：

```
"Action": "xray:Get*"
```

若要查看 X-Ray 動作清單，請參閱《*IAM 使用者指南*》中的 [定義的動作 AWS X-Ray](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsx-ray.html)。

### Resources
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

`Resource` JSON 政策元素可指定要套用動作的物件。最佳實務是使用其 [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) 來指定資源。若動作不支援資源層級許可，使用萬用字元 (\$1) 表示該陳述式適用於所有資源。

```
"Resource": "*"
```

您可以使用 IAM 政策來控制對 資源的存取。針對支援資源層級許可的動作，您可以使用 Amazon Resource Name (ARN) 來識別要套用政策的資源。

所有 X-Ray 動作都可以在 IAM 政策中使用，以授予或拒絕使用者使用該動作的許可。不過，並非所有 [X-Ray 動作](https://docs.aws.amazon.com/xray/latest/api/API_Operations.html)都支援資源層級許可，這可讓您指定可執行動作的資源。

對於不支援資源層級許可的動作，您必須使用 "`*`" 做為資源。

下列 X-Ray 動作支援資源層級許可：
+ `CreateGroup`
+ `GetGroup`
+ `UpdateGroup`
+ `DeleteGroup`
+ `CreateSamplingRule`
+ `UpdateSamplingRule`
+ `DeleteSamplingRule`

以下是 `CreateGroup` 動作的身分型許可政策範例。此範例示範使用與有唯一 ID 之群組名稱 `local-users` 有關的 ARN 做為萬用字元。群組建立時產生的唯一 ID，所以無法在政策中事先預測。使用 `GetGroup`、`UpdateGroup` 或 `DeleteGroup` 時，您可以將此定義為萬用字元或確切的 ARN，包括 ID。

**注意**  
依其名稱定義之取樣規則的 ARN。不像群組 ARN，取樣規則沒有唯一產生的 ID。

若要查看 X-Ray 資源類型及其 ARNs 的清單，請參閱《*IAM 使用者指南*》中的 [定義的資源 AWS X-Ray](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsx-ray.html#awsx-ray-resources-for-iam-policies)。若要了解您可以使用哪些動作指定每個資源的 ARN，請參閱 [AWS X-Ray定義的動作](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsx-ray.html)。

### 條件索引鍵
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

X-Ray 不提供任何服務特定的條件金鑰，但支援使用一些全域條件金鑰。若要查看所有 AWS 全域條件金鑰，請參閱《*IAM 使用者指南*》中的[AWS 全域條件內容金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

### 範例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

若要檢視 X-Ray 身分型政策的範例，請參閱 [AWS X-Ray 身分型政策範例](security_iam_id-based-policy-examples.md)。

## X-Ray 資源型政策
<a name="security_iam_service-with-iam-resource-based-policies"></a>

X-Ray 支援目前和未來 AWS 服務 整合的資源型政策，例如 [Amazon SNS 主動追蹤](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html)。X-Ray 資源型政策可由其他 AWS 管理主控台更新，或透過 AWS SDK 或 CLI 更新。例如，Amazon SNS 主控台會嘗試自動設定資源型政策，以將追蹤傳送至 X-Ray。下列政策文件提供手動設定 X-Ray 資源型政策的範例。

**Example Amazon SNS 主動追蹤的 X-Ray 資源型政策範例**  
此範例政策文件指定 Amazon SNS 將追蹤資料傳送至 X-Ray 所需的許可：  

```
{
    Version: "2012-10-17",		 	 	 
    Statement: [
      {
        Sid: "SNSAccess",
        Effect: Allow,
        Principal: {
          Service: "sns.amazonaws.com",
        },
        Action: [
          "xray:PutTraceSegments",
          "xray:GetSamplingRules",
          "xray:GetSamplingTargets"
        ],
        Resource: "*",
        Condition: {
          StringEquals: {
            "aws:SourceAccount": "account-id"
          },
          StringLike: {
            "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name"
          }
        }
      }
    ]
  }
```
使用 CLI 建立資源型政策，提供 Amazon SNS 將追蹤資料傳送至 X-Ray 的許可：  

```
aws xray put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17",		 	 	  "Statement": [ { "Sid": "SNSAccess", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "StringLike": { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }'
```
若要使用這些範例，請將 *`partition`*、*`account-id`*、 *`region`*和 取代*`topic-name`*為您的特定 AWS 分割區、區域、帳戶 ID 和 Amazon SNS 主題名稱。若要授予所有 Amazon SNS 主題將追蹤資料傳送至 X-Ray 的許可，請將主題名稱取代為 `*`。

## 以 X-Ray 標籤為基礎的授權
<a name="security_iam_service-with-iam-tags"></a>

您可以將標籤連接至 X-Ray 群組或取樣規則，或在請求中將標籤傳遞至 X-Ray。如需根據標籤控制存取，請使用 `xray:ResourceTag/key-name`、`aws:RequestTag/key-name` 或 `aws:TagKeys` 條件索引鍵，在政策的[條件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中，提供標籤資訊。如需標記 X-Ray 資源的詳細資訊，請參閱[標記 X-Ray 取樣規則和群組](xray-tagging.md)。

若要檢視身分型政策範例，以根據該資源上的標籤來限制存取資源，請參閱 [根據標籤管理對 X-Ray 群組和抽樣規則的存取](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-manage-sampling-tags)。

## 於本機執行您的應用程式
<a name="xray-permissions-local"></a>

您的檢測應用程式會將追蹤資料傳送至 X-Ray 協助程式。協助程式會緩衝區段文件，並分批上傳至 X-Ray 服務。協助程式需要寫入許可，才能將追蹤資料和遙測上傳到 X-Ray 服務。

當您[在本機執行協助程式時](xray-daemon-local.md)，請建立 IAM 角色、[擔任該角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)，並將臨時登入資料存放在環境變數中，或在使用者`credentials`資料夾中名為 `.aws`的資料夾中。如需詳細資訊[，請參閱搭配 使用臨時安全登入 AWS CLI](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html#using-temp-creds-sdk-cli)資料。

**Example \$1/.aws/credentials**  

```
[default]
aws_access_key_id={access key ID}
aws_secret_access_key={access key}
aws_session_token={AWS session token}
```

如果您已設定登入資料以搭配 AWS SDK 或 使用 AWS CLI，協助程式就可以使用這些登入資料。若有多個可用的描述檔，精靈會使用預設描述檔。

## 在 中執行您的應用程式 AWS
<a name="xray-permissions-aws"></a>

當您在 上執行應用程式時 AWS，請使用 角色將許可授予執行協助程式的 Amazon EC2 執行個體或 Lambda 函數。
+ **Amazon Elastic Compute Cloud (Amazon EC2)** – 建立 IAM 角色，並將其做為執行個體描述檔連接至 EC2 執行個體。 [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)
+ **Amazon Elastic Container Service (Amazon ECS)** – 建立 IAM 角色，並將其做為容器執行個體 [IAM 角色連接至容器執行個體](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html)。
+ **AWS Elastic Beanstalk (Elastic Beanstalk)** – Elastic Beanstalk 在其[預設執行個體描述](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts-roles.html#concepts-roles-instance)檔中包含 X-Ray 許可。您可以使用預設執行個體描述檔，或是將寫入許可新增到自訂執行個體描述檔。
+ **AWS Lambda (Lambda)** – 將寫入許可新增至函數的執行角色。

**建立角色以搭配 X-Ray 使用**

1. 開啟 [IAM 主控台](https://console.aws.amazon.com/iam/home)。

1. 選擇**角色**。

1. 選擇 **Create New Role** (建立新角色)。

1. 在 **Role Name (角色名稱)** 中，輸入 **xray-application**。選擇 **Next Step (後續步驟)**。

1. 針對 **Role Type (角色類型)**，選擇 **Amazon EC2**。

1. 連接下列 受管政策，讓您的應用程式存取 AWS 服務：
   + **AWSXRayDaemonWriteAccess** – 授予 X-Ray 協助程式上傳追蹤資料的許可。

   如果您的應用程式使用 AWS SDK 存取其他 服務，請新增授予這些服務存取權的政策。

1. 選擇 **Next Step (後續步驟)**。

1. 選擇**建立角色**。

## 用於加密的使用者許可
<a name="xray-permissions-encryption"></a>

X-Ray 預設會加密所有追蹤資料和 ，而且您可以將[其設定為使用您管理的金鑰](xray-console-encryption.md)。如果您選擇 AWS Key Management Service 客戶受管金鑰，您需要確保金鑰的存取政策允許您授予 X-Ray 使用它進行加密的許可。您帳戶中的其他使用者也需要存取 金鑰，才能在 X-Ray 主控台中檢視加密的追蹤資料。

對於客戶受管金鑰，請使用允許下列動作的存取政策來設定您的金鑰：
+ 在 X-Ray 中設定金鑰的使用者具有呼叫 `kms:CreateGrant`和 的許可`kms:DescribeKey`。
+ 能夠存取加密追蹤資料的使用者必須具備呼叫 `kms:Decrypt` 的許可。

當您在 IAM 主控台的金鑰組態區段中將使用者新增至金鑰**使用者群組**時，他們具有這兩個操作的許可。只需要在金鑰政策上設定許可，因此您不需要使用者、群組或角色的任何 AWS KMS 許可。如需詳細資訊，請參閱《 [AWS KMS 開發人員指南》中的使用金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

對於預設加密，或者如果您選擇 AWS 受管 CMK (`aws/xray`)，許可取決於誰可以存取 X-Ray APIs。任何擁有 [https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html) 存取權的人員 (包含在 `AWSXrayFullAccess` 中) 都可以變更加密組態。若要防止使用者變更加密金鑰，請不要給予他們使用 [https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html](https://docs.aws.amazon.com/xray/latest/api/API_PutEncryptionConfig.html) 的許可。

# AWS X-Ray 身分型政策範例
<a name="security_iam_id-based-policy-examples"></a>

根據預設，使用者和角色沒有建立或修改 X-Ray 資源的許可。他們也無法使用 AWS 管理主控台 AWS CLI或 AWS API 執行任務。管理員必須建立 IAM 政策，授與使用者和角色在指定資源上執行特定 API 操作所需的許可。管理員接著必須將這些政策連接至需要這些許可的使用者或群組。

若要了解如何使用這些範例 JSON 政策文件建立 IAM 身分型政策，請參閱 *IAM 使用者指南*中的[在 JSON 索引標籤上建立政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)。

**Topics**
+ [政策最佳實務](#security_iam_service-with-iam-policy-best-practices)
+ [使用 X-Ray 主控台](#security_iam_id-based-policy-examples-console)
+ [允許使用者檢視他們自己的許可](#security_iam_id-based-policy-examples-view-own-permissions)
+ [根據標籤管理對 X-Ray 群組和抽樣規則的存取](#security_iam_id-based-policy-examples-manage-sampling-tags)
+ [X-Ray 的 IAM 受管政策](#xray-permissions-managedpolicies)
+ [AWS 受管政策的 X-Ray 更新](#xray-permissions-managedpolicies-history)
+ [在 IAM 政策中指定資源](#xray-permissions-resources)

## 政策最佳實務
<a name="security_iam_service-with-iam-policy-best-practices"></a>

身分型政策會判斷您帳戶中的某個人員是否可以建立、存取或刪除 X-Ray 資源。這些動作可能會讓您的 AWS 帳戶產生費用。當您建立或編輯身分型政策時，請遵循下列準則及建議事項：
+ **開始使用 AWS 受管政策並邁向最低權限許可** – 若要開始將許可授予您的使用者和工作負載，請使用將許可授予許多常見使用案例的 *AWS 受管政策*。它們可在您的 中使用 AWS 帳戶。我們建議您定義特定於使用案例 AWS 的客戶受管政策，以進一步減少許可。如需更多資訊，請參閱《*IAM 使用者指南*》中的 [AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)或[任務職能的AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。
+ **套用最低權限許可** – 設定 IAM 政策的許可時，請僅授予執行任務所需的許可。為實現此目的，您可以定義在特定條件下可以對特定資源採取的動作，這也稱為*最低權限許可*。如需使用 IAM 套用許可的更多相關資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的政策和許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。
+ **使用 IAM 政策中的條件進一步限制存取權** – 您可以將條件新增至政策，以限制動作和資源的存取。例如，您可以撰寫政策條件，指定必須使用 SSL 傳送所有請求。如果透過特定 例如 使用服務動作 AWS 服務，您也可以使用條件來授予其存取權 CloudFormation。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM JSON 政策元素：條件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。
+ **使用 IAM Access Analyzer 驗證 IAM 政策，確保許可安全且可正常運作** – IAM Access Analyzer 驗證新政策和現有政策，確保這些政策遵從 IAM 政策語言 (JSON) 和 IAM 最佳實務。IAM Access Analyzer 提供 100 多項政策檢查及切實可行的建議，可協助您撰寫安全且實用的政策。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[使用 IAM Access Analyzer 驗證政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。
+ **需要多重要素驗證 (MFA)** – 如果您的案例需要 IAM 使用者或 中的根使用者 AWS 帳戶，請開啟 MFA 以提高安全性。如需在呼叫 API 操作時請求 MFA，請將 MFA 條件新增至您的政策。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[透過 MFA 的安全 API 存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)。

如需 IAM 中最佳實務的相關資訊，請參閱《*IAM 使用者指南*》中的 [IAM 安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

## 使用 X-Ray 主控台
<a name="security_iam_id-based-policy-examples-console"></a>

若要存取 AWS X-Ray 主控台，您必須擁有一組最低許可。這些許可必須允許您列出和檢視 中 X-Ray 資源的詳細資訊 AWS 帳戶。如果您建立比最基本必要許可更嚴格的身分型政策，則對於具有該政策的實體 (使用者或角色) 而言，主控台就無法如預期運作。

為了確保這些實體仍然可以使用 X-Ray 主控台，請將 `AWSXRayReadOnlyAccess` AWS 受管政策連接到實體。此政策會在 [X-Ray 的 IAM 受管政策](#xray-permissions-managedpolicies)中詳細說明。如需詳細資訊，請參閱《IAM 使用者指南》**中的[新增許可到使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)。

對於僅呼叫 AWS CLI 或 AWS API 的使用者，您不需要允許最低主控台許可。反之，只需允許存取符合您嘗試執行之 API 操作的動作就可以了。

## 允許使用者檢視他們自己的許可
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

此範例會示範如何建立政策，允許 IAM 使用者檢視附加到他們使用者身分的內嵌及受管政策。此政策包含在主控台或使用 或 AWS CLI AWS API 以程式設計方式完成此動作的許可。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## 根據標籤管理對 X-Ray 群組和抽樣規則的存取
<a name="security_iam_id-based-policy-examples-manage-sampling-tags"></a>

您可以在身分型政策中使用條件，根據標籤控制對 X-Ray 群組和抽樣規則的存取。下列範例政策可用來拒絕使用者角色使用標籤或 建立、刪除`stage:prod`或更新群組的許可`stage:preprod`。如需標記 X-Ray 取樣規則和群組的詳細資訊，請參閱 [標記 X-Ray 取樣規則和群組](xray-tagging.md)。

若要拒絕建立抽樣規則，請使用 `aws:RequestTag` 來指示無法在建立請求中傳遞的標籤。若要拒絕更新或刪除抽樣規則，請使用 根據這些資源上的標籤`aws:ResourceTag`拒絕動作。

您可以將這些政策 （或將其合併為單一政策，然後連接政策） 連接到您帳戶中的使用者。若要讓使用者變更群組或取樣規則，群組或取樣規則不得加上標籤 `stage=prepod`或 `stage=prod`。條件標籤鍵 `Stage` 符合 `Stage` 和 `stage`，因為條件索引鍵名稱不區分大小寫。如需 條件區塊的詳細資訊，請參閱《[IAM 使用者指南》中的 IAM JSON 政策元素：條件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。 **

具有下列政策連接之角色的使用者無法將標籤新增至`role:admin`資源，也無法從與其`role:admin`相關聯的資源中移除標籤。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAllXRay",
            "Effect": "Allow",
            "Action": "xray:*",
            "Resource": "*"
        },
        {
            "Sid": "DenyRequestTagAdmin",
            "Effect": "Deny",
            "Action": "xray:TagResource",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/role": "admin"
                }
            }
        },
        {
            "Sid": "DenyResourceTagAdmin",
            "Effect": "Deny",
            "Action": "xray:UntagResource",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/role": "admin"
                }
            }
        }
    ]
}
```

------

## X-Ray 的 IAM 受管政策
<a name="xray-permissions-managedpolicies"></a>

為了簡化授予許可，IAM 支援每個服務的**受管政策**。服務可以在發行新的 APIs 時，以新的許可更新這些受管政策。 為唯讀、唯讀和管理員使用案例 AWS X-Ray 提供受管政策。
+ `AWSXrayReadOnlyAccess` – 使用 X-Ray 主控台 AWS CLI或 AWS SDK 從 X-Ray API 取得追蹤資料、追蹤映射、洞見和 X-Ray 組態的讀取許可。包括可觀測性存取管理員 (OAM) `oam:ListSinks`和`oam:ListAttachedSinks`許可，以允許主控台檢視來源帳戶共用的[追蹤，作為 CloudWatch 跨帳戶可觀測性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)的一部分。`BatchGetTraceSummaryById` 和 `GetDistinctTraceGraphs` API 動作並非由您的程式碼呼叫，也不包含在 AWS CLI 和 AWS SDKs中。

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "xray:GetSamplingRules",
                  "xray:GetSamplingTargets",
                  "xray:GetSamplingStatisticSummaries",
                  "xray:BatchGetTraces",
                  "xray:BatchGetTraceSummaryById",
                  "xray:GetDistinctTraceGraphs",
                  "xray:GetServiceGraph",
                  "xray:GetTraceGraph",
                  "xray:GetTraceSummaries",
                  "xray:GetGroups",
                  "xray:GetGroup",
                  "xray:ListTagsForResource",
                  "xray:ListResourcePolicies",
                  "xray:GetTimeSeriesServiceStatistics",
                  "xray:GetInsightSummaries",
                  "xray:GetInsight",
                  "xray:GetInsightEvents",
                  "xray:GetInsightImpactGraph",
                  "oam:ListSinks"
              ],
              "Resource": [
                  "*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "oam:ListAttachedLinks"
              ],
              "Resource": "arn:aws:oam:*:*:sink/*"
          }
  
  }
  ```
+ `AWSXRayDaemonWriteAccess` – 使用 X-Ray 協助程式 AWS CLI或 AWS SDK 將區段文件和遙測上傳到 X-Ray API 的寫入許可。包含用於取得[抽樣規則](xray-console-sampling.md)及報告抽樣結果的讀取許可。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "xray:PutTraceSegments",
                  "xray:PutTelemetryRecords",
                  "xray:GetSamplingRules",
                  "xray:GetSamplingTargets",
                  "xray:GetSamplingStatisticSummaries"
              ],
              "Resource": [
                  "*"
              ]
          }
      ]
  }
  ```

------
+ `AWSXrayCrossAccountSharingConfiguration` – 准許建立、管理和檢視可觀測性存取管理員連結，以在帳戶之間共用 X-Ray 資源。用來啟用來源和監控[帳戶之間的 CloudWatch 跨帳戶可觀測性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "xray:Link",
                  "oam:ListLinks"
              ],
              "Resource": "*"
          },
          {
              "Effect": "Allow",
              "Action": [
                  "oam:DeleteLink",
                  "oam:GetLink",
                  "oam:TagResource"
              ],
              "Resource": "arn:aws:oam:*:*:link/*"
          },
          {
              "Effect": "Allow",
              "Action": [
                  "oam:CreateLink",
                  "oam:UpdateLink"
              ],
              "Resource": [
                  "arn:aws:oam:*:*:link/*",
                  "arn:aws:oam:*:*:sink/*"
              ]
          }
      ]
  
  }
  ```

------
+ `AWSXrayFullAccess` – 使用所有 X-Ray APIs許可，包括讀取許可、寫入許可，以及設定加密金鑰設定和取樣規則的許可。包括可觀測性存取管理員 (OAM) `oam:ListSinks`和`oam:ListAttachedSinks`許可，以允許主控台檢視來源帳戶共用的[追蹤，作為 CloudWatch 跨帳戶可觀測性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)的一部分。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "xray:*",
                  "oam:ListSinks"
              ],
              "Resource": [
                  "*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "oam:ListAttachedLinks"
              ],
              "Resource": "arn:aws:oam:*:*:sink/*"
          }
      ]
  }
  ```

------

**新增受管政策連接到 IAM 使用者、群組或角色**

1. 開啟 [IAM 主控台](https://console.aws.amazon.com/iam/home)。

1. 開啟與您的執行個體描述檔、IAM 使用者或 IAM 群組關聯的角色。

1. 在 **Permissions (許可)** 下，關聯受管政策。

## AWS 受管政策的 X-Ray 更新
<a name="xray-permissions-managedpolicies-history"></a>

檢視自此服務開始追蹤這些變更以來，X-Ray AWS 受管政策更新的詳細資訊。如需此頁面變更的自動提醒，請訂閱 X-Ray [文件歷史記錄](document-history.md)頁面上的 RSS 摘要。


| 變更 | 描述 | Date | 
| --- | --- | --- | 
|  適用於 [X-Ray 的 IAM 受管政策](#xray-permissions-managedpolicies) – 新增了 `AWSXrayCrossAccountSharingConfiguration`，並更新了 `AWSXrayReadOnlyAccess` 和 `AWSXrayFullAccess`政策。  |  X-Ray 已將可觀測性存取管理員 (OAM) 許可`oam:ListSinks`和 `oam:ListAttachedSinks` 新增至這些政策，以允許主控台檢視來源帳戶共用的[追蹤，做為 CloudWatch 跨帳戶可觀測性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)的一部分。  | 2022 年 11 月 27 日 | 
|  [X-Ray 的 IAM 受管政策](#xray-permissions-managedpolicies) – `AWSXrayReadOnlyAccess`政策的更新。  |  X-Ray 新增了 API 動作 `ListResourcePolicies`。  | 2022 年 11 月 15 日 | 
|  [使用 X-Ray 主控台](#security_iam_id-based-policy-examples-console) – 更新至`AWSXrayReadOnlyAccess`政策  |  X-Ray 新增了兩個新的 API 動作，`BatchGetTraceSummaryById`以及 `GetDistinctTraceGraphs`。 這些動作不適用於由您的程式碼呼叫。因此，這些 API 動作不包含在 AWS CLI 和 AWS SDKs中。  | 2022 年 11 月 11 日 | 

## 在 IAM 政策中指定資源
<a name="xray-permissions-resources"></a>

您可以使用 IAM 政策來控制對 資源的存取。針對支援資源層級許可的動作，您可以使用 Amazon Resource Name (ARN) 來識別要套用政策的資源。

所有 X-Ray 動作都可以在 IAM 政策中使用，以授予或拒絕使用者使用該動作的許可。不過，並非所有 [X-Ray 動作](https://docs.aws.amazon.com/xray/latest/api/API_Operations.html)都支援資源層級許可，這可讓您指定可執行動作的資源。

對於不支援資源層級許可的動作，您必須使用 "`*`" 做為資源。

下列 X-Ray 動作支援資源層級許可：
+ `CreateGroup`
+ `GetGroup`
+ `UpdateGroup`
+ `DeleteGroup`
+ `CreateSamplingRule`
+ `UpdateSamplingRule`
+ `DeleteSamplingRule`

以下是 `CreateGroup` 動作的身分型許可政策範例。此範例示範使用與有唯一 ID 之群組名稱 `local-users` 有關的 ARN 做為萬用字元。群組建立時產生的唯一 ID，所以無法在政策中事先預測。使用 `GetGroup`、`UpdateGroup` 或 `DeleteGroup` 時，您可以將此定義為萬用字元或確切的 ARN，包括 ID。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "xray:CreateGroup"
            ],
            "Resource": [
                "arn:aws:xray:eu-west-1:123456789012:group/local-users/*"
            ]
        }
    ]
}
```

------

以下是 `CreateSamplingRule` 動作的身分型許可政策範例。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "xray:CreateSamplingRule"
            ],
            "Resource": [
                "arn:aws:xray:eu-west-1:123456789012:sampling-rule/base-scorekeep"
            ]
        }
    ]
}
```

------

**注意**  
依其名稱定義之取樣規則的 ARN。不像群組 ARN，取樣規則沒有唯一產生的 ID。

# 對 AWS X-Ray 身分和存取進行故障診斷
<a name="security_iam_troubleshoot"></a>

使用以下資訊來協助您診斷和修正在使用 X-Ray 和 IAM 時可能遇到的常見問題。

**Topics**
+ [我未獲授權在 X-Ray 中執行動作](#security_iam_troubleshoot-no-permissions)
+ [我未獲授權，不得執行 iam:PassRole](#security_iam_troubleshoot-passrole)
+ [我是管理員，想要允許其他人存取 X-Ray](#security_iam_troubleshoot-admin-delegate)
+ [我想要允許 以外的人員 AWS 帳戶 存取我的 X-Ray 資源](#security_iam_troubleshoot-cross-account-access)

## 我未獲授權在 X-Ray 中執行動作
<a name="security_iam_troubleshoot-no-permissions"></a>

如果 AWS 管理主控台 告知您無權執行 動作，則必須聯絡您的管理員尋求協助。您的管理員是為您提供簽署憑證的人員。

當`mateojackson`使用者嘗試使用主控台檢視取樣規則的詳細資訊，但沒有`xray:GetSamplingRules`許可時，會發生下列範例錯誤。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: xray:GetSamplingRules on resource: arn:${Partition}:xray:${Region}:${Account}:sampling-rule/${SamplingRuleName}
```

在此情況下，Mateo 請求管理員更新他的政策，以允許他使用 `xray:GetSamplingRules` 動作來存取取樣規則資源。

## 我未獲授權，不得執行 iam:PassRole
<a name="security_iam_troubleshoot-passrole"></a>

如果您收到錯誤，告知您無權執行`iam:PassRole`動作，您的政策必須更新，以允許您將角色傳遞給 X-Ray。

有些 AWS 服務 可讓您將現有角色傳遞給該服務，而不是建立新的服務角色或服務連結角色。如需執行此作業，您必須擁有將角色傳遞至該服務的許可。

當名為 的 IAM `marymajor` 使用者嘗試使用主控台在 X-Ray 中執行動作時，會發生下列範例錯誤。但是，動作請求服務具備服務角色授予的許可。Mary 沒有將角色傳遞給服務的許可。

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

在這種情況下，Mary 的政策必須更新，允許她執行 `iam:PassRole` 動作。

如果您需要協助，請聯絡您的 AWS 管理員。您的管理員提供您的簽署憑證。

## 我是管理員，想要允許其他人存取 X-Ray
<a name="security_iam_troubleshoot-admin-delegate"></a>

若要允許其他人存取 X-Ray，您必須將許可授予需要存取的人員或應用程式。如果您使用 AWS IAM Identity Center 管理人員和應用程式，您可以將許可集指派給使用者或群組，以定義其存取層級。許可集會自動建立 IAM 政策，並將其指派給與該人員或應用程式相關聯的 IAM 角色。如需詳細資訊，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[許可集](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)。

如果您不是使用 IAM Identity Center，則必須為需要存取的人員或應用程式建立 IAM 實體 （使用者或角色）。然後，您必須將政策連接到在 X-Ray 中授予其正確許可的實體。授予許可後，請將登入資料提供給使用者或應用程式開發人員。他們將使用這些登入資料來存取 AWS。若要進一步了解如何建立 IAM 使用者、群組、政策和許可，請參閱《IAM **[使用者指南》中的 IAM 身分](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)[和政策和許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。

## 我想要允許 以外的人員 AWS 帳戶 存取我的 X-Ray 資源
<a name="security_iam_troubleshoot-cross-account-access"></a>

您可以建立一個角色，讓其他帳戶中的使用者或您組織外部的人員存取您的資源。您可以指定要允許哪些信任物件取得該角色。針對支援基於資源的政策或存取控制清單 (ACL) 的服務，您可以使用那些政策來授予人員存取您的資源的許可。

如需進一步了解，請參閱以下內容：
+ 若要了解 X-Ray 是否支援這些功能，請參閱 [AWS X-Ray 如何使用 IAM](security_iam_service-with-iam.md)。
+ 若要了解如何 AWS 帳戶 在您擁有的 資源之間提供存取權，請參閱《[IAM 使用者指南》中的在您擁有 AWS 帳戶 的另一個 IAM 使用者中提供存取權](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)。 **
+ 若要了解如何將資源的存取權提供給第三方 AWS 帳戶，請參閱《*IAM 使用者指南*》中的[將存取權提供給第三方 AWS 帳戶 擁有](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)。
+ 如需了解如何透過聯合身分提供存取權，請參閱《*IAM 使用者指南*》中的[將存取權提供給在外部進行身分驗證的使用者 (聯合身分)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)。
+ 如需了解使用角色和資源型政策進行跨帳戶存取之間的差異，請參閱《IAM 使用者指南》**中的 [IAM 中的跨帳戶資源存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。

# 在 中記錄和監控 AWS X-Ray
<a name="security-logging-monitoring"></a>

監控是維護您 AWS 解決方案之可靠性、可用性和效能的重要部分。您應該從 AWS 解決方案的所有部分收集監控資料，以便在發生多點故障時更輕鬆地偵錯。 AWS 提供數種工具來監控 X-Ray 資源並回應潛在事件：

**AWS CloudTrail 日誌**  
AWS X-Ray 與 整合， AWS CloudTrail 以記錄使用者、角色或 X-Ray 中的 AWS 服務所做的 API 動作。您可以使用 CloudTrail 即時監控 X-Ray API 請求，並將日誌存放在 Amazon S3、Amazon CloudWatch Logs 和 Amazon CloudWatch Events 中。如需詳細資訊，請參閱[使用 記錄 X-Ray API 呼叫 AWS CloudTrail](xray-api-cloudtrail.md)。

**AWS Config 追蹤**  
AWS X-Ray 與 整合 AWS Config ，以記錄對 X-Ray 加密資源所做的組態變更。您可以使用 AWS Config 清查 X-Ray 加密資源、稽核 X-Ray 組態歷史記錄，並根據資源變更傳送通知。如需詳細資訊，請參閱[使用 追蹤 X-Ray 加密組態變更 AWS Config](xray-api-config.md)。

**Amazon CloudWatch 監控**  
您可以使用適用於 Java 的 X-Ray 開發套件，從收集的 X-Ray 區段發佈未取樣的 Amazon CloudWatch 指標。這些指標衍生自區段的開始和結束時間，以及錯誤、故障和節流狀態標記。您可以使用這些追蹤指標，公開子區段內的重試和相依性問題。如需詳細資訊，請參閱[AWS X-Ray 適用於 Java 的 X-Ray 開發套件的 指標](xray-sdk-java.md#xray-sdk-java-monitoring)。

# 的合規驗證 AWS X-Ray
<a name="compliance-validation"></a>

若要了解 AWS 服務 是否在特定合規計劃範圍內，請參閱[AWS 服務 合規計劃範圍內](https://aws.amazon.com/compliance/services-in-scope/)然後選擇您感興趣的合規計劃。如需一般資訊，請參閱[AWS 合規計劃](https://aws.amazon.com/compliance/programs/)。

您可以使用 下載第三方稽核報告 AWS Artifact。如需詳細資訊，請參閱[下載報告 in AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)

您使用 時的合規責任 AWS 服務 取決於資料的機密性、您公司的合規目標，以及適用的法律和法規。如需使用 時合規責任的詳細資訊 AWS 服務，請參閱 [AWS 安全文件](https://docs.aws.amazon.com/security/)。

# 中的彈性 AWS X-Ray
<a name="disaster-recovery-resiliency"></a>

 AWS 全球基礎設施是以 AWS 區域 和 可用區域為基礎建置。 AWS 區域 提供多個實體分隔和隔離的可用區域，這些區域與低延遲、高輸送量和高備援聯網連接。透過可用區域，您所設計與操作的應用程式和資料庫，就能夠在可用區域之間自動容錯移轉，而不會發生中斷。可用區域的可用性、容錯能力和擴充能力，均較單一或多個資料中心的傳統基礎設施還高。

如需 AWS 區域 和可用區域的詳細資訊，請參閱 [AWS 全球基礎設施](https://aws.amazon.com/about-aws/global-infrastructure/)。

# 中的基礎設施安全 AWS X-Ray
<a name="infrastructure-security"></a>

作為受管服務， AWS X-Ray 受到 AWS 全球網路安全的保護。如需 AWS 安全服務以及 如何 AWS 保護基礎設施的相關資訊，請參閱[AWS 雲端安全](https://aws.amazon.com/security/)。若要使用基礎設施安全的最佳實務來設計您的 AWS 環境，請參閱*安全支柱 AWS Well-Architected Framework* 中的[基礎設施保護](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)。

您可以使用 AWS 發佈的 API 呼叫，透過網路存取 X-Ray。使用者端必須支援下列專案：
+ Transport Layer Security (TLS)。我們需要 TLS 1.2 並建議使用 TLS 1.3。
+ 具備完美轉送私密(PFS)的密碼套件，例如 DHE (Ephemeral Diffie-Hellman)或 ECDHE (Elliptic Curve Ephemeral Diffie-Hellman)。現代系統(如 Java 7 和更新版本)大多會支援這些模式。

# AWS X-Ray 搭配 VPC 端點使用
<a name="xray-security-vpc-endpoint"></a>

如果您使用 Amazon Virtual Private Cloud (Amazon VPC) 託管 AWS 資源，您可以在 VPC 和 X-Ray 之間建立私有連線。這可讓 Amazon VPC 中的資源與 X-Ray 服務通訊，而無需透過公有網際網路。

Amazon VPC 是 AWS 服務 ，可用來在您定義的虛擬網路中啟動 AWS 資源。您可利用 VPC 來控制您的網路設定，例如 IP 地址範圍、子網路、路由表和網路閘道。若要將 VPC 連線至 X-Ray，您可以定義[介面 VPC 端點](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html)。端點為 X-Ray 提供可靠、可擴展的連線，而不需要網際網路閘道、網路位址轉譯 (NAT) 執行個體或 VPN 連接。如需詳細資訊，請參閱《*Amazon VPC 使用者指南》*中的[什麼是 Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/)。

介面 VPC 端點採用 AWS PrivateLink 技術，這項 AWS 技術 AWS 服務 可透過使用具有私有 IP 地址的彈性網路介面，在 之間進行私有通訊。如需詳細資訊，請參閱《*Amazon VPC 使用者指南*》中的 [New – AWS PrivateLink for AWS 服務](https://aws.amazon.com/blogs/aws/new-aws-privatelink-endpoints-kinesis-ec2-systems-manager-and-elb-apis-in-your-vpc/) 部落格文章和[入門](https://docs.aws.amazon.com/vpc/latest/userguide/GetStarted.html)。

為了確保您可以在所選的 X-Ray 中建立 VPC 端點 AWS 區域，請參閱 [支援地區](#xray-vpc-availability)。

## 為 X-Ray 建立 VPC 端點
<a name="create-VPC-endpoint-for-xray"></a>

若要開始搭配 VPC 使用 X-Ray，請為 X-Ray 建立介面 VPC 端點。

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中導覽至**端點**，然後選擇**建立端點**。

1. 搜尋並選取 AWS X-Ray 服務的名稱：`com.amazonaws.region.xray`。  
![\[選取 服務。\]](http://docs.aws.amazon.com/zh_tw/xray/latest/devguide/images/xray-vpc-select-service.png)

1. 選取您想要的 VPC，然後在 VPC 中選取子網路以使用介面端點。端點網路界面會在選取的子網路中建立。您可以指定不同可用區域中的多個子網路 (服務所支援)，協助確保界面端點在可用區域失敗的狀況下保有彈性。如果您這樣做，則會在您指定的每個子網路中建立界面網路界面。  
![\[選取 VPC 和子網路。\]](http://docs.aws.amazon.com/zh_tw/xray/latest/devguide/images/xray-vpc-select-vpc.png)

1. （選用） 預設會為端點啟用私有 DNS，因此您可以使用其預設 DNS 主機名稱向 X-Ray 提出請求。您可以選擇停用它。

1. 指定要與端點網路界面建立關聯的安全群組。  
![\[選取安全群組。\]](http://docs.aws.amazon.com/zh_tw/xray/latest/devguide/images/xray-vpc-select-secgroup.png)

1. （選用） 指定自訂政策以控制存取 X-Ray 服務的許可。根據預設，允許完整存取。

## 控制對 X-Ray VPC 端點的存取
<a name="xray-vpc-endpoint-policy"></a>

當您建立或修改端點時，VPC 端點政策是您連接至端點的 IAM 資源政策。如果您未在建立端點時連接政策，Amazon VPC 會以預設政策連接以允許完整存取服務。端點政策不會覆寫或取代 IAM 使用者政策或服務特定的政策。這個另行區分的政策會控制從端點到所指定之服務的存取。端點政策必須以 JSON 格式撰寫。如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[使用 VPC 端點控制服務的存取](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)。

VPC 端點政策可讓您控制各種 X-Ray 動作的許可。例如，您可以建立政策，僅允許 PutTraceSegment 並拒絕所有其他動作。這會限制 VPC 中的工作負載和服務僅將追蹤資料傳送至 X-Ray，並拒絕任何其他動作，例如擷取資料、變更加密組態或建立/更新群組。

以下是 X-Ray 端點政策的範例。此政策可讓使用者透過 VPC 連線至 X-Ray，將區段資料傳送至 X-Ray，並防止他們執行其他 X-Ray 動作。

```
 {"Statement": [
     {"Sid": "Allow PutTraceSegments",
       "Principal": "*",
       "Action": [
         "xray:PutTraceSegments"
       ],
       "Effect": "Allow",
       "Resource": "*"
     }
   ]
 }
```

**編輯 X-Ray 的 VPC 端點政策**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 如果您尚未建立 X-Ray 的端點，請遵循中的步驟[為 X-Ray 建立 VPC 端點](#create-VPC-endpoint-for-xray)。

1. 選取 **com.amazonaws.*region*.xray** 端點，然後選擇**政策**索引標籤。

1. 選擇 **Edit Policy (編輯政策)**，然後進行變更。

## 支援地區
<a name="xray-vpc-availability"></a>

X-Ray 目前支援下列 VPC 端點 AWS 區域：
+ 美國東部 (俄亥俄)
+ 美國東部 (維吉尼亞北部)
+ 美國西部 (加利佛尼亞北部)
+ 美國西部 (奧勒岡)
+ 非洲 (開普敦)
+ 亞太區域 (香港)
+ 亞太區域 (孟買)
+ 亞太區域 (大阪) 
+ 亞太區域 (首爾) 
+ 亞太區域 (新加坡) 
+ 亞太區域 (雪梨)
+ 亞太區域 (東京)
+ 加拿大 (中部)
+ 歐洲 (法蘭克福)
+ 歐洲 (愛爾蘭)
+ 歐洲 (倫敦)
+ 歐洲 (米蘭)
+ 歐洲 (巴黎)
+ 歐洲 (斯德哥爾摩)
+ 中東 (巴林)
+ 南美洲 (聖保羅)
+ AWS GovCloud （美國東部）
+ AWS GovCloud （美國西部）

# 預防跨服務混淆代理人
<a name="cross-service-confused-deputy-prevention"></a>

混淆代理人問題屬於安全性問題，其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。在 中 AWS，跨服務模擬可能會導致混淆代理人問題。在某個服務 (*呼叫服務*) 呼叫另一個服務 (*被呼叫服務*) 時，可能會發生跨服務模擬。可以操縱呼叫服務來使用其許可，以其不應有存取許可的方式對其他客戶的資源採取動作。為了預防這種情況， AWS 提供的工具可協助您保護所有服務的資料，而這些服務主體已獲得您帳戶中資源的存取權。

我們建議在資源政策中使用 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)、[https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceorgid)、 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)和 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceorgpaths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceorgpaths)全域條件內容索引鍵，以限制 xraylong 為資源提供其他服務的許可。使用 `aws:SourceArn`，僅將一個資源與跨服務存取權相關聯。使用 `aws:SourceAccount`，讓該帳戶中的任何資源都與跨服務使用相關聯。使用 `aws:SourceOrgID`，允許組織內任何帳戶的任何資源與跨服務使用相關聯。使用 `aws:SourceOrgPaths`，將 AWS Organizations 路徑中帳戶的任何資源與跨服務使用相關聯。如需使用和了解路徑的詳細資訊，請參閱[了解 AWS Organizations 實體路徑](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path)。

防範混淆代理人問題的最有效方法是使用 `aws:SourceArn` 全域條件內容索引鍵，以及資源的完整 ARN。如果不知道資源的完整 ARN，或者如果您指定了多個資源，請使用 `aws:SourceArn` 全域內容條件索引鍵搭配萬用字元 (`*`) 來表示 ARN 的未知部分。例如 `arn:aws:servicename:*:123456789012:*`。

如果 `aws:SourceArn` 值不包含帳戶 ID (例如 Amazon S3 儲存貯體 ARN)，您必須同時使用 `aws:SourceAccount` 和 `aws:SourceArn` 來限制許可。

若要大規模防範混淆代理人問題，請在資源型政策中使用 `aws:SourceOrgID` 或 `aws:SourceOrgPaths` 全域條件內容鍵和資源的組織 ID 或組織路徑。當您新增、移除或移動組織中的帳戶時，包含 `aws:SourceOrgID` 或 `aws:SourceOrgPaths` 鍵的政策將會自動包含正確的帳戶，您無需手動更新政策。

下列範例顯示如何在 Xray 中使用 `aws:SourceArn`和 `aws:SourceAccount`全域條件內容索引鍵，以防止混淆代理人問題。

```
{
      "Sid": "BlockCrossAccountUnlessSameSource",
      "Effect": "Deny",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:PrincipalAccount": "123456789012",
          "aws:SourceAccount": "123456789012"
        },
        "ArnNotLike": {
          "aws:SourceArn": "arn:*:*:*:123456789012:*"
        }
      }
    }
```