

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

# 將 Terraform 狀態檔案匯入至 AWS Resilience Hub
<a name="security-iam-resilience-hub-terraform-secondary"></a>

AWS Resilience Hub 支援匯入使用伺服器端加密 (SSE) 搭配 Amazon Simple Storage Service 受管金鑰 (SSE-S3) 或受 AWS Key Management Service 管金鑰 (SSE-KMS) 加密的 Terraform 狀態檔案。如果您的 Terraform 狀態檔案使用客戶提供的加密金鑰 (SSE-C) 加密，您將無法使用 匯入它們 AWS Resilience Hub。

匯入 Terraform 狀態檔案到 AWS Resilience Hub 需要下列 IAM 政策，具體取決於您的狀態檔案所在的位置。

## 從主要帳戶中的 Amazon S3 儲存貯體匯入 Terraform 狀態檔案
<a name="w2aac21c23c48b7"></a>

需要下列 Amazon S3 儲存貯體政策和 IAM 政策，才能允許 AWS Resilience Hub 讀取位於主要帳戶 Amazon S3 儲存貯體中的 Terraform 狀態檔案。
+ 儲存貯體政策 – 目標 Amazon S3 儲存貯體上的儲存貯體政策，位於主要帳戶中。如需詳細資訊，請參閱下列範例。
+ 身分政策 – 針對此應用程式定義的 Invoker 角色，或主要 AWS 帳戶 AWS Resilience Hub 上 AWS 目前 IAM 角色的關聯身分政策。如需詳細資訊，請參閱下列範例。

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::<s3-bucket-name>/<path-to-state-file>"
      },
      {
        "Effect": "Allow",
        "Action": "s3:ListBucket",
        "Resource": "arn:aws:s3:::<s3-bucket-name>"
      }
    ]
  }
  ```

------
**注意**  
如果您使用的是 `AWSResilienceHubAsssessmentExecutionPolicy`受管政策，則不需要 `ListBucket` 許可。

**注意**  
如果您的 Terraform 狀態檔案使用 KMS 加密，您必須新增下列`kms:Decrypt`許可。  

```
{
      "Effect": "Allow",
      "Action": [
              "kms:Decrypt",
      ],
      "Resource": "<arn_of_kms_key>"
}
```

## 從次要帳戶中的 Amazon S3 儲存貯體匯入 Terraform 狀態檔案
<a name="w2aac21c23c48b9"></a>
+ 儲存貯體政策 – 目標 Amazon S3 儲存貯體上的儲存貯體政策，位於其中一個次要帳戶中。如需詳細資訊，請參閱下列範例。
+ 身分政策 – 帳戶角色的 AWS 關聯身分政策，在主要 AWS 帳戶 AWS Resilience Hub 上執行。如需詳細資訊，請參閱下列範例。
**注意**  
如果您使用的是 `AWSResilienceHubAsssessmentExecutionPolicy`受管政策，則不需要 `ListBucket` 許可。

**注意**  
如果您的 Terraform 狀態檔案使用 KMS 加密，您必須新增下列`kms:Decrypt`許可。  

```
{
      "Effect": "Allow",
      "Action": [
              "kms:Decrypt",
      ],
      "Resource": "<arn_of_kms_key>"
}
```