

• 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)。

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

# 使用 IAM 政策限制對 Parameter Store 參數的存取
<a name="sysman-paramstore-access"></a>

您可以使用 AWS Identity and Access Management (IAM) 限制對 AWS Systems Manager 參數的存取。具體而言，您可以建立 IAM 政策以限制存取以下 API 操作：
+ [DeleteParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeleteParameter.html)
+ [DeleteParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeleteParameters.html)
+ [DescribeParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html)
+ [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html)
+ [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html)
+ [GetParameterHistory](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameterHistory.html)
+ [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html)
+ [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html)

使用 IAM 政策限制對 Systems Manager 參數的存取時，我們建議您建立和使用*限制性* IAM 政策。例如，以下政策可讓使用者為有限的一組資源呼叫 `DescribeParameters` 和 `GetParameters` API 操作。這表示使用者可以取得相關資訊，以及使用以 `prod-*` 開頭的所有參數。

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

****  

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

------

**重要**  
如果使用者擁有路徑的存取權限，則該使用者可存取該路徑的所有層級。例如，如果使用者擁有存取路徑 `/a` 的許可，則該使用者也可以存取 `/a/b`。雖然使用者在 IAM 中被明確拒絕存取參數 `/a/b`，但他們仍能夠以遞迴方式呼叫 `/a` 的 `GetParametersByPath` API 操作，並檢視 `/a/b`。

針對信任的管理員，您可以使用類似以下範例的政策，提供所有 Systems Manager 參數 API 操作的完整存取。此政策可讓使用者完整存取所有以 `dbserver-prod-*` 開頭的生產參數。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter",
                "ssm:DeleteParameter",
                "ssm:GetParameterHistory",
                "ssm:GetParametersByPath",
                "ssm:GetParameters",
                "ssm:GetParameter",
                "ssm:DeleteParameters"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/dbserver-prod-*"
        },
        {
            "Effect": "Allow",
            "Action": "ssm:DescribeParameters",
            "Resource": "*"
        }
    ]
}
```

------

## 拒絕許可
<a name="sysman-paramstore-deny-permissions"></a>

每個 API 都是唯一的，且具有不同的操作和許可，您可以單獨允許或拒絕它們。任何政策中的明確拒絕會覆寫任何允許。

**注意**  
default AWS Key Management Service (AWS KMS) 金鑰具有 內所有 IAM 主體的`Decrypt`許可 AWS 帳戶。如果您希望對帳戶中的 `SecureString` 參數擁有不同的存取級別，不建議您使用預設金鑰。

如果您希望擷取參數值的所有 API 操作具有相同的行為，那麼您可以在政策中使用 `GetParameter*` 等模式。下列範例會顯示如何拒絕以 `prod-*` 開頭的所有參數的 `GetParameter`、`GetParameters`、`GetParameterHistory` 以及 `GetParametersByPath`。

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

****  

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

------

下列範例顯示如何拒絕某些命令，同時允許使用者在以 `prod-*` 開頭的所有參數中執行其他命令。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "ssm:PutParameter",
                "ssm:DeleteParameter",
                "ssm:DeleteParameters",
                "ssm:DescribeParameters"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParametersByPath",
                "ssm:GetParameters",
                "ssm:GetParameter",
                "ssm:GetParameterHistory"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
        }
    ]
}
```

------

**注意**  
參數歷程包含所有參數版本，包括目前的參數版本。因此，如果 `GetParameter`、`GetParameters` 和 `GetParameterByPath` 的使用者許可遭到拒絕、但允許 `GetParameterHistory` 的許可，則透過使用 `GetParameterHistory`，他們可以看到當前參數，包括 `SecureString` 參數。

## 僅允許特定參數在節點上執行
<a name="sysman-paramstore-access-inst"></a>

您可以控制存取，讓受管節點僅可執行您指定的參數。

如果您在建立`SecureString`參數時選擇 參數類型，Systems Manager 會使用 AWS KMS 來加密參數值。 會使用 AWS 受管金鑰 或客戶受管金鑰來 AWS KMS 加密值。如需 AWS KMS 和 的詳細資訊 AWS KMS key，請參閱 *[AWS Key Management Service 開發人員指南](https://docs.aws.amazon.com/kms/latest/developerguide/)*。

您可以從 AWS 受管金鑰 執行下列命令來檢視 AWS CLI。

```
aws kms describe-key --key-id alias/aws/ssm
```

下列範例允許節點僅取得以 `prod-` 開頭的參數的參數值。如果參數為 `SecureString` 參數，則節點會使用 AWS KMS來解密字串。

**注意**  
執行個體政策 (例如以下範例) 會指派給 IAM 中的執行個體角色。如需設定存取 Systems Manager 功能的詳細資訊，包括如何將政策指派給使用者和執行個體，請參閱 [使用 Systems Manager 管理 EC2 執行個體](systems-manager-setting-up-ec2.md)。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameters"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/4914ec06-e888-4ea5-a371-5b88eEXAMPLE"
            ]
        }
    ]
}
```

------

## 使用 AWS 預設金鑰和客戶受管金鑰的 IAM 許可
<a name="ps-kms-permissions"></a>

Parameter Store `SecureString` 參數會使用 AWS KMS 金鑰加密和解密。您可以選擇使用 AWS KMS key 或 提供的預設 KMS 金鑰來加密`SecureString`參數 AWS。

使用客戶受管金鑰時，授予使用者存取參數或參數路徑的 IAM 政策必須提供金鑰的明確 `kms:Encrypt` 許可。例如，以下政策允許使用者建立、更新和檢視在指定 AWS 區域 和 `prod-`中以 開頭的`SecureString`參數 AWS 帳戶。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter",
                "ssm:GetParameter",
                "ssm:GetParameters"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:Encrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE"
            ]
        }
    ]
}
```

------

**注意**  
使用指定的客戶自管金鑰建立加密的進階參數時，需要 `kms:GenerateDataKey` 許可。

相反地，客戶帳戶中的所有使用者都可以存取預設的 AWS 受管金鑰。如果您使用此預設金鑰加密 `SecureString` 參數，但不希望使用者使用 `SecureString` 參數，則其 IAM 政策必須明確拒絕對預設金鑰的存取，如下列政策範例所示。

**注意**  
您可以在 [AWS 受管金鑰](https://console.aws.amazon.com/kms/home#/kms/defaultKeys)頁面的 AWS KMS 主控台中找到預設金鑰的 Amazon Resource Name (ARN)。預設金鑰在**別名**資料欄中用 `aws/ssm` 標識。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/abcd1234-ab12-cd34-ef56-abcdeEXAMPLE"
            ]
        }
    ]
}
```

------

如果您需要對帳戶中的 `SecureString` 參數進行細微的存取控制，應該使用客戶受管金鑰來保護和限制對這些參數的存取。我們也建議使用 AWS CloudTrail 來監控`SecureString`參數活動。

如需詳細資訊，請參閱下列主題：
+ 《IAM 使用者指南**》中的[政策評估邏輯](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)
+ 使用《AWS Key Management Service 開發人員指南》**中的[金鑰政策 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)
+ 如需詳細資訊，請參閱《*AWS CloudTrail 使用者指南*》中的[使用 CloudTrail 事件歷史記錄檢視事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。