

• 2026 年 4 月 30 日之後將不再提供 AWS Systems Manager CloudWatch Dashboard。客戶可以繼續使用 Amazon CloudWatch 主控台來檢視、建立和管理其 Amazon CloudWatch 儀表板，就像現在一樣。如需詳細資訊，請參閱 [Amazon CloudWatch Dashboard 文件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

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

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

根據預設， AWS Identity and Access Management (IAM) 實體 （使用者和角色） 沒有建立或修改 AWS Systems Manager 資源的許可。他們也無法使用 Systems Manager 主控台、 AWS Command Line Interface (AWS CLI) 或 AWS API 執行任務。管理員必須建立 IAM 政策，授與使用者和角色在指定資源上執行特定 API 操作所需的許可。管理員接著必須將這些政策連接至需要這些許可的使用者或群組。

以下是許可政策的範例，允許使用者刪除名稱開頭為 的文件**MyDocument-**，在美國東部 （俄亥俄） (us-east-2) AWS 區域。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "ssm:DeleteDocument"
      ],
      "Resource" : [
        "arn:aws:ssm:us-east-1:111122223333:document/MyDocument-*"
      ]
    }
  ]
}
```

------

若要了解如何使用這些範例 JSON 政策文件建立 IAM 身分型政策，請參閱《IAM 使用者指南**》中的[建立 IAM 政策](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)
+ [範例：使用 Systems Manager 主控台的許可](#security_iam_id-based-policy-examples-console)
+ [範例：允許使用者檢視他們自己的許可的許可](#security_iam_id-based-policy-examples-view-own-permissions)
+ [範例：讀取和描述個別參數的許可](#security_iam_id-based-policy-examples-view-one-parameter)
+ [預防跨服務混淆代理人](cross-service-confused-deputy-prevention.md)
+ [客戶管理政策範例](#customer-managed-policies)
+ [根據標籤來檢視 Systems Manager 文件](#security_iam_id-based-policy-examples-view-documents-tags)

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

身分型政策會判斷您帳戶中的某個人員是否可以建立、存取或刪除 Systems Manager 資源。這些動作可能會讓您的 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)。

## 範例：使用 Systems Manager 主控台的許可
<a name="security_iam_id-based-policy-examples-console"></a>

若要存取 Systems Manager 主控台，您必須擁有最低的一組許可。這些許可必須允許您列出和檢視您 AWS 帳戶中 Systems Manager 資源和其他資源的詳細資訊。

如果您建立比最低必要許可更嚴格的身分型政策，則對於具有該政策的 IAM 實體 (使用者或角色) 而言，主控台就無法如預期運作。

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

為了確保使用者和角色仍然可以使用 Systems Manager 主控台，請將 [AmazonSSMFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMFullAccess.html) 或 [AmazonSSMReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMReadOnlyAccess.html) AWS 受管政策連接到實體。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[新增許可到使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)。

## 範例：允許使用者檢視他們自己的許可的許可
<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": "*"
        }
    ]
}
```

## 範例：讀取和描述個別參數的許可
<a name="security_iam_id-based-policy-examples-view-one-parameter"></a>

**Example 讀取和描述一個參數**  
您可以透過將下列政策連接至身分，授予對參數的存取權。    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
  {
    "Effect": "Allow",
    "Action": [
      "ssm:GetParameter",
      "ssm:DescribeParameters"
      ],
    "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/parameter-name"
  }
]
}
```

## 客戶管理政策範例
<a name="customer-managed-policies"></a>

您可以建立獨立的政策，在您自己的 AWS 帳戶進行管理。我們將這些稱為*客戶受管政策*。您可以將這些政策連接到 中的多個委託人實體 AWS 帳戶。將政策連接到主體實體時，便向實體授予了政策中定義的許可。如需詳細資訊，請參閱《[IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/)**》中的[客戶受管政策範例](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)。

下列使用者政策範例授予執行各種 Systems Manager 動作的許可。使用這些政策來限制 IAM 實體 (使用者或角色) 的 Systems Manager 存取。這些政策會在 Systems Manager API、 AWS SDKs或 中執行動作時運作 AWS CLI。使用主控台的使用者，需要授予專屬於主控台的額外許可。如需詳細資訊，請參閱[範例：使用 Systems Manager 主控台的許可](#security_iam_id-based-policy-examples-console)。

**注意**  
所有範例皆使用美國西部 (奧勒岡) 區域 (us-west-2) 並包含虛構帳戶 ID。不應在 AWS 公有文件 （以 開頭的文件） 的 Amazon Resource Name (ARN) 中指定帳戶 ID`AWS-*`。

 **範例** 
+  [範例 1：允許使用者在單一區域執行 Systems Manager 操作](#identity-based-policies-example-1) 
+  [範例 2：允許使用者列出單一區域的文件](#identity-based-policies-example-2) 

### 範例 1：允許使用者在單一區域執行 Systems Manager 操作
<a name="identity-based-policies-example-1"></a>

下列範例會授予許可，僅在美國東部 (俄亥俄) 區域 (us-east-2) 執行 Systems Manager 操作：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:*"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:*"
            ]
        }
    ]
}
```

------

### 範例 2：允許使用者列出單一區域的文件
<a name="identity-based-policies-example-2"></a>

以下範例會授予許可，列出在美國東部 (俄亥俄) 區域 (us-east-2) 中所有以 **Update** 開頭的文件名稱：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:ListDocuments"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/Update*"
            ]
        }
    ]
}
```

------

### 範例 3：允許使用者使用特定 SSM 文件，以在特定受管節點上執行命令
<a name="identity-based-policies-example-3"></a>

以下範例為 IAM 政策允許使用者美國東部 (俄亥俄) 區域 (us-east-2) 中執行以下操作：
+ 列出 Systems Manager 文件 (SSM 文件) 和文件版本。
+ 查看文件的詳細資訊。
+ 使用此政策中指定的文件傳送命令。文件的名稱取決於以下項目。

  ```
  arn:aws:ssm:us-east-2:aws-account-ID:document/Systems-Manager-document-name
  ```
+ 將命令傳送到三個節點。節點取決於第二個 `Resource` 區段中的下列項目。

  ```
  "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-02573cafcfEXAMPLE",
  "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-0471e04240EXAMPLE",
  "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-07782c72faEXAMPLE"
  ```
+ 命令傳送後查看其詳細資訊。
+ 在 Automation ( AWS Systems Manager中的工具) 中啟動和停止工作流程。
+ 取得有關 Automation 工作流程的資訊。

如果想要授予使用者許可，讓他們可使用此文件來在使用者有權存取的任何節點上傳送命令，您可以在 `Resource` 區段中指定與以下類似的項目，並移除其他節點項目。以下範例會使用美國東部 (俄亥俄) 區域 (US-east-2)。

```
"arn:aws:ec2:us-east-2:*:instance/*"
```

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:ListDocuments",
                "ssm:ListDocumentVersions",
                "ssm:DescribeDocument",
                "ssm:GetDocument",
                "ssm:DescribeInstanceInformation",
                "ssm:DescribeDocumentParameters",
                "ssm:DescribeInstanceProperties"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": "ssm:SendCommand",
            "Effect": "Allow",
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ec2:us-east-1:111122223333:instance/i-0471e04240EXAMPLE",
                "arn:aws:ec2:us-east-1:111122223333:instance/i-07782c72faEXAMPLE",
                
                "arn:aws:ssm:us-east-1:111122223333:document/Systems-Manager-document-name"
            ]
        },
        {
            "Action": [
                "ssm:CancelCommand",
                "ssm:ListCommands",
                "ssm:ListCommandInvocations"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": "ec2:DescribeInstanceStatus",
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": "ssm:StartAutomationExecution",
            "Effect": "Allow",
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/*",
                "arn:aws:ssm:us-east-1:111122223333:automation-execution/*"
            ]
        },
        {
            "Action": "ssm:DescribeAutomationExecutions",
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        },
        {
            "Action": [
                "ssm:StopAutomationExecution",
                "ssm:GetAutomationExecution"
            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## 根據標籤來檢視 Systems Manager 文件
<a name="security_iam_id-based-policy-examples-view-documents-tags"></a>

您可以在身分型政策中使用條件，以根據標籤控制存取 Systems Manager 資源。此範例會示範如何建立政策，允許檢視 SSM 文件。但是，只有在文件標籤 `Owner` 值是該使用者的使用者名稱時，才會授予許可。此政策也會授予在主控台完成此動作的必要許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListDocumentsInConsole",
            "Effect": "Allow",
            "Action": "ssm:ListDocuments",
            "Resource": "*"
        },
        {
            "Sid": "ViewDocumentIfOwner",
            "Effect": "Allow",
            "Action": "ssm:GetDocument",
            "Resource": "arn:aws:ssm:*:*:document/*",
            "Condition": {
                "StringEquals": {"ssm:ResourceTag/Owner": "${aws:username}"}
            }
        }
    ]
}
```

------

您可以將此政策連接到您帳戶中的 使用者。如果名為 `richard-roe` 的使用者嘗試檢視 Systems Manager 文件，則必須將文件標記為 `Owner=richard-roe` 或 `owner=richard-roe`。否則，其會被拒絕存取。條件標籤鍵 `Owner` 符合 `Owner` 和 `owner`，因為條件索引鍵名稱不區分大小寫。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM JSON 政策元素：條件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。