

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

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

# 共用快照
<a name="working-with-snapshot-share-snapshot"></a>

您可以透過授權存取快照，與其他 AWS 客戶帳戶共用現有的手動快照。每個快照最多可授權 20 個，每個 AWS Key Management Service (AWS KMS) 金鑰最多可授權 100 個。也就是說，如果您有 10 個使用單一 KMS 金鑰加密的快照，則可以授權 10 個 AWS 帳戶還原每個快照，或其他組合，這些組合最多可新增 100 個帳戶，且每個快照不超過 20 個帳戶。在其中一個已授權帳戶登入為使用者的人員，接下來可以描述快照或將其還原，以在其帳戶下建立新的 Amazon Redshift 叢集。例如，如果您使用個別 AWS 的客戶帳戶進行生產和測試，使用者可以使用生產帳戶登入，並與測試帳戶中的使用者共用快照。某人若以測試帳戶使用者身分登入，他接下來可以還原快照以建立由測試帳戶所擁有的新叢集，以進行測試或診斷工作。

手動快照由建立該快照 AWS 的客戶帳戶永久擁有。僅有在帳戶中擁有快照的使用者，方可授權或撤銷其他帳戶存取該快照。在已授權帳戶中的使用者僅可描述或還原任何與他們分享的快照；他們不得複製或刪除與他們分享的快照。授權將持續生效，除非快照擁有者撤銷之。若授權被撤銷，之前授權的使用者將無法看見該快照，也不能啟動任何參考該快照的新動作。若存取權被撤銷時帳戶正在還原該快照，則該還原會持續進執行至完成。您不得刪除有主動授權的快照；您必須先撤銷所有的授權。

AWS 客戶帳戶一律有權存取帳戶擁有的快照。試圖授權或撤銷擁有者帳戶的存取權將會收到錯誤。您無法還原或描述非作用中 AWS 客戶帳戶擁有的快照。

在您授權存取 AWS 客戶帳戶之後，該帳戶中的任何使用者都無法在快照上執行任何動作，除非他們擔任具有允許他們這樣做之政策的角色。
+ 只有當快照擁有者帳戶中的使用者所擔任的角色有 IAM 政策允許他們執行使用包含快照的資源規格動作，他們才可授權或撤銷快照的存取權。例如，下列政策允許 AWS 帳戶中的使用者或角色`012345678912`授權其他帳戶存取名為 的快照`my-snapshot20130829`：

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement":[
      {
        "Effect":"Allow",
        "Action":[
            "redshift:AuthorizeSnapshotAccess",
            "redshift:RevokeSnapshotAccess"
            ],
        "Resource":[
             "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829"
            ]
      }
    ]
  }
  ```

------
+ 已共用快照 AWS 之帳戶中的使用者無法對該快照執行動作，除非他們具有允許這些動作的許可。您可以透過將政策指派給某個角色並擔任該角色來執行此操作。
  + 列出或描述快照；他們必須擁有允許 `DescribeClusterSnapshots` 動作的 IAM 政策。下列代碼顯示了範例：

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

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
        {
          "Effect":"Allow",
          "Action":[
              "redshift:DescribeClusterSnapshots"
              ],
          "Resource":[
               "*"
              ]
        }
      ]
    }
    ```

------
  + 若要還原快照，使用者所擔任的角色必須擁有允許 `RestoreFromClusterSnapshot` 動作的 IAM 政策，並擁有涵蓋嘗試建立的叢集與快照的資源元素。例如，若帳戶 `012345678912` 中的使用者已經與帳戶 `my-snapshot20130829` 分享快照 `219876543210`，以透過還原快照來建立叢集，則帳戶 `219876543210` 中的使用者所擔任的角色必須擁有的政策如下所示：

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

****  

    ```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
        {
          "Effect":"Allow",
          "Action":[
              "redshift:RestoreFromClusterSnapshot"
              ],
          "Resource":[
               "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829",
               "arn:aws:redshift:us-east-1:219876543210:cluster:from-another-account"
              ]
        }
      ]
    }
    ```

------
  + 從 AWS 帳戶撤銷快照的存取權後，該帳戶中的任何使用者都無法存取快照。即使這些帳戶有 IAM 政策允許對之前共用的快照資源執行動作也一樣。

## 使用主控台共用叢集快照
<a name="snapshot-share"></a>

在主控台上，您可授權其他使用者存取您所擁有的手動快照，之後不需要時也可撤銷存取權。

**與其他帳戶共用快照**

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

1. 在導覽功能表上，選擇**叢集**、**快照**，然後選擇要共用的手動快照。

1. 針對 **Actions (動作)**，選擇 **Manual snapshot settings (手動快照設定)** 以顯示手動快照的屬性。

1. 在 **Manage access (管理存取)** 區段輸入要共用的一或多個帳戶，然後選擇 **Save (儲存)**。

## 共用加密快照時的安全考量
<a name="snapshot-share-access-kms-key"></a>

 當您提供加密快照的存取權時，Redshift 會要求將用來建立快照的 AWS KMS 客戶受管金鑰共用給執行還原的一或多個帳戶。如果金鑰未共用，嘗試還原快照會導致存取遭拒錯誤。接收帳戶不需要任何額外權限即可還原共用快照。當您授權快照存取權並共用金鑰時，授權存取權的身分必須具有用來加密快照之金鑰的 `kms:DescribeKey` 許可。[AWS KMS 權限](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html)中有此許可的更詳細描述。如需詳細資訊，請參閱 Amazon Redshift AI 參考文件中的 [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)。

客戶受管金鑰政策可透過程式設計方式或在 AWS Key Management Service 主控台上更新。

**注意**  
如果您使用預設 KMS 金鑰，則不需要在 AWS KMS 中執行動作或變更任何內容，即可共用快照。

### 允許存取加密快照的 AWS KMS 金鑰
<a name="snapshot-share-access-kms-key-allowing-access"></a>

若要共用加密快照的 AWS KMS 客戶受管金鑰，請執行下列步驟來更新金鑰政策：

1. 將 KMS 金鑰政策更新為您在 KMS 金鑰政策中，當作 `Principal` 共用之 AWS 帳戶的 Amazon Resource Name (ARN)。

1.  允許 `kms:Decrypt` 動作。

在以下金鑰政策範例中，使用者 `111122223333` 是 KMS 金鑰的擁有者，使用者 `444455556666` 是與其共用該金鑰的帳戶。此金鑰政策可讓 AWS 帳戶存取範例 KMS 金鑰，方法是將使用者的根 AWS 帳戶身分 ARN `444455556666`做為政策`Principal`的 ，以及允許 `kms:Decrypt`動作。

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

****  

```
{
    "Id": "key-policy-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/KeyUser",
                    "arn:aws:iam::444455556666:root"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------

將存取權授予客戶受管 KMS 金鑰後，還原加密快照的帳戶必須建立 AWS Identity and Access Management (IAM) 角色，如果尚未擁有使用者，則必須建立該角色或使用者。此外，該 AWS 帳戶也必須將 IAM 政策連接至該 IAM 角色或使用者，以允許他們使用您的 KMS 金鑰還原加密的資料庫快照。

如需授予 AWS KMS 金鑰存取權的詳細資訊，請參閱開發人員指南中的[允許其他帳戶中的使用者使用 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console)。 AWS Key Management Service 

如需金鑰政策的概觀，請參閱 [Amazon Redshift 如何使用 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-redshift.html)。