

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

# 共享 CloudWatch 儀表板
<a name="cloudwatch-dashboard-sharing"></a>

如何與無法直接存取您的 AWS 帳戶的人員共享您的 CloudWatch 儀表板。這樣一來，您即可跨小組、與利害關係人以及組織外部人員共享儀表板。您甚至可以在小組區域的大螢幕上顯示儀表板，或將儀表板嵌入 Wiki 和其他網頁中。

**警告**  
與您共享儀表板的所有人員都會授予帳戶 [授予與您共享儀表板之人員的許可](#share-cloudwatch-dashboard-iamrole) 中所列的許可。如果您公開共享許可儀表板，則擁有儀表板連結的所有人都會擁有這些許可。  
`cloudwatch:GetMetricData` 和 `ec2:DescribeTags` 許可的範圍無法限制為特定指標或 EC2 執行個體，因此可存取儀表板的人員可以查詢所有 CloudWatch 指標，以及帳戶中所有 EC2 執行個體的名稱和標籤。

共享儀表板時，您可以透過三種方式指定可以檢視儀表板的人員：
+ 共享單一儀表板，並指定最多五個可檢視儀表板之人員的電子郵件地址。這些使用者都會建立自己的密碼，並且他們必須輸入密碼才能檢視儀表板。
+ 公開共享單一儀表板，讓擁有該連結的任何人員都可以檢視儀表板。
+ 共享帳戶中的所有 CloudWatch 儀表板，並指定第三方單一登入(SSO) 提供者來存取儀表板。屬於此 SSO 供應商名單的成員的所有使用者都可以存取帳戶中的所有儀表板。若要啟用此功能，請將 SSO 供應商與 Amazon Cognito 整合。SSO 供應商必須支援安全性聲明標記語言 (SAML)。如需 Amazon Cognito 定價的相關資訊，請參閱 [什麼是 Amazon Cognito？](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html)

共用儀表板不會產生費用，但共用儀表板內的小工具將按標準 CloudWatch 費率計費。如需 CloudWatch 定價的詳細資訊，請參閱 [Amazon CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

當您共用儀表板時，Amazon Cognito 資源會在美國東部 (維吉尼亞北部) 區域建立。

**重要**  
請勿修改透過儀表板共用程序建立的資源名稱和識別符。這包括 Amazon Cognito 和 IAM 資源。修改這些資源可能會導致共用儀表板出現非預期和不正確的功能。

**注意**  
如果您共用的儀表板具有帶警示註釋的指標小工具，則您與之共用儀表板的人員將不會看到這些小工具。他們將看到一個空白小工具，且文字寫著小工具不可用。自行檢視儀表板時，您仍會看到帶有警示註釋的指標小工具。

## 共享儀表板所需的許可
<a name="share-cloudwatch-permissions-required"></a>

若要能夠使用下列任何方法共用儀表板並查看已共用哪些儀表板，您必須以使用者身分或具有特定許可的 IAM 角色登入。

若要能夠共用儀表板，您的使用者或 IAM 角色必須包含下列政策陳述式中包含的許可：

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateRole",
        "iam:CreatePolicy",
        "iam:AttachRolePolicy",
        "iam:PassRole"
    ],
    "Resource": [
        "arn:aws:iam::*:role/service-role/CWDBSharing*",
        "arn:aws:iam::*:policy/*"
    ]
},
{
    "Effect": "Allow",
    "Action": [
        "cognito-idp:*",
        "cognito-identity:*",
    ],
    "Resource": [
        "*"
    ]
},
{
    "Effect": "Allow",
    "Action": [
        "cloudwatch:GetDashboard",
    ],
    "Resource": [
        "*"
        // or the ARNs of dashboards that you want to share
    ]
}
```

若要能夠查看已共用哪些儀表板，但無法共用儀表板，使用者或 IAM 角色可以包含類似下列內容的政策陳述式：

```
{
    "Effect": "Allow",
    "Action": [
        "cognito-idp:*",
        "cognito-identity:*"
    ],
    "Resource": [
        "*"
    ]
},
{
    "Effect": "Allow",
    "Action": [
        "cloudwatch:ListDashboards",
    ],
    "Resource": [
        "*" 
    ]
}
```

## 授予與您共享儀表板之人員的許可
<a name="share-cloudwatch-dashboard-iamrole"></a>

當您共享儀表板時，CloudWatch 會在帳戶中建立 IAM 角色，讓您與其共享儀表板的人員擁有下列許可：
+ `cloudwatch:GetInsightRuleReport`
+ `cloudwatch:GetMetricData`
+ `cloudwatch:DescribeAlarms`
+ `ec2:DescribeTags`

**警告**  
與您共享儀表板的所有人員都會授予帳戶的這些許可。如果您公開共享許可儀表板，則擁有儀表板連結的所有人都會擁有這些許可。  
`cloudwatch:GetMetricData` 和 `ec2:DescribeTags` 許可的範圍無法限制為特定指標或 EC2 執行個體，因此可存取儀表板的人員可以查詢所有 CloudWatch 指標，以及帳戶中所有 EC2 執行個體的名稱和標籤。

當您共享儀表板時，CloudWatch 建立的許可預設會限制共享儀表板上的警示和 Contributor Insights 規則的存取許可。如果您將新的警示或 Contributor Insights 規則新增至儀表板，並希望與您共享儀表板的人員也能看到這些規則，則必須更新政策以允許這些資源。

## 允許您共享的對象查看複合警示
<a name="share-cloudwatch-dashboard-composite-alarms"></a>

當您共享儀表板時，根據預設，與您共享儀表板的人員無法看見儀表板上的任何複合警示小工具。為了使複合警示小工具可見，您需要將 `DescribeAlarms: *` 許可新增至儀表板共享政策。該許可如下所示：

```
{
    "Effect": "Allow",
    "Action": "cloudwatch:DescribeAlarms",
    "Resource": "*"
}
```

**警告**  
上述政策陳述式可讓您存取帳戶中所有警示。若要減少 `cloudwatch:DescribeAlarms` 的範圍，您必須使用 `Deny` 陳述式。您可以將 `Deny` 陳述式新增至政策，並指定您要鎖定之警示的 ARN。拒絕陳述式應類似以下內容：  

```
{
    "Effect": "Allow",
    "Action": "cloudwatch:DescribeAlarms",
    "Resource": "*"
},
{   
    "Effect": "Deny",
    "Action": "cloudwatch:DescribeAlarms",
    "Resource": [
        "SensitiveAlarm1ARN",
        "SensitiveAlarm1ARN"
    ]
}
```

## 允許您與其共享的對象查看日誌表小工具
<a name="share-cloudwatch-dashboard-logwidget"></a>

當您共享儀表板時，根據預設，與您共享儀表板的人員無法看見儀表板上的 CloudWatch Logs Insights 小工具。這會影響現在存在的 CloudWatch Logs Insights 小工具，以及您共享後新增至儀表板的任何小工具。

如果您希望這些人員能夠看到 CloudWatch Logs 小工具，則必須為 IAM 角色新增許可以進行儀表板共享。

**若要允許您共享儀表板的對象查看 CloudWatch Logs 小工具**

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇 **Dashboards** (儀表板)。

1. 選擇共享儀表板的名稱。

1. 選擇 **Actions** (動作)，**Share dashboard** (共享儀表板)。

1. 在 **Resources** (資源) 下，選擇 **IAM Role** (IAM 角色)。

1. 在 IAM 主控台，選擇顯示的政策。

1. 選擇 **Edit policy** (編輯政策)，然後新增下列陳述式。在新的陳述式中，我們建議您指定只有您想要共享的日誌群組的 ARN。請參閱以下範例。

   ```
   {
               "Effect": "Allow",
               "Action": [
                   "logs:FilterLogEvents",
                   "logs:StartQuery",
                   "logs:StopQuery",
                   "logs:GetLogRecord",
                   "logs:GetQueryResults",
                   "logs:DescribeLogGroups"
               ],
               "Resource": [
                   "{{SharedLogGroup1ARN}}",
                   "{{SharedLogGroup2ARN}}"
              ]
           },
   ```

1. 選擇 **Save Changes** (儲存變更)。

如果您的儀表板共享的 IAM 政策已包含以 `*` 作為資源的這五個許可，強烈建議您變更政策，並僅指定您想要共享之日誌群組的 ARN。例如，如果這些許可的 `Resource` 區段如下所示：

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

變更政策以僅指定您要共享之日誌群組的 ARN，如下列範例所示：

```
"Resource": [
  "{{SharedLogGroup1ARN}}",
  "{{SharedLogGroup2ARN}}"
]
```

## 允許您與其共享的對象查看自訂小工具
<a name="share-cloudwatch-dashboard-customwidget"></a>

當您共享儀表板時，根據預設，與您共享儀表板的人員無法看見儀表板上的自訂小工具。這會影響現在存在的自訂小工具，以及您共享後新增至儀表板的任何小工具。

如果您希望這些人員能夠看到自訂小工具，則必須為 IAM 角色新增許可以進行儀表板共享。

**若要允許您共享儀表板的對象查看自訂小工具**

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇 **Dashboards** (儀表板)。

1. 選擇共享儀表板的名稱。

1. 選擇 **Actions** (動作)，**Share dashboard** (共享儀表板)。

1. 在 **Resources** (資源) 下，選擇 **IAM Role** (IAM 角色)。

1. 在 IAM 主控台，選擇顯示的政策。

1. 選擇 **Edit policy** (編輯政策)，然後新增下列陳述式。在新的陳述式中，我們建議您指定只有您想要共享的 Lambda 函數的 ARN。請參閱以下範例。

   ```
   {
     "Sid": "Invoke",
     "Effect": "Allow",
     "Action": [
         "lambda:InvokeFunction"
     ],
     "Resource": [
       "LambdaFunction1ARN",
       "LambdaFunction2ARN"
     ]
    }
   ```

1. 選擇 **Save Changes** (儲存變更)。

如果您的儀表板共享的 IAM 政策已包含以 `*` 作為資源的許可，我們強烈建議您變更政策，並僅指定您想要共享之 Lambda 函數的 ARN。例如，如果這些許可的 `Resource` 區段如下所示：

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

變更政策以僅指定您要共享之自訂小工具的 ARN，如下列範例所示：

```
"Resource": [
  "{{LambdaFunction1ARN}}",
  "{{LambdaFunction2ARN}}"
]
```