Skip to main content
所有雲端提供者
  • 亞馬遜網路服務
  • Google雲
  • 微軟 Azure
  • 所有雲端提供者
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

設定Cloud Volumes ONTAP以在 AWS 中使用客戶管理的金鑰

貢獻者 netapp-manini

如果您想要將 Amazon Web Services (AWS) 加密與 Cloud Volumes ONTAP 搭配使用,則需要設定 AWS 關鍵管理服務 (KMS)。

客戶主金鑰 (CMK) 可由 AWS 或客戶管理。它可以與 NetApp Console 和 Cloud Volumes ONTAP 位於同一 AWS 帳戶中,也可以位於不同的 AWS 帳戶(共享的帳戶)中。AWS 僅透過 AWS 主控台啟用金鑰管理。如需更多資訊,請參閱 "AWS 金鑰管理服務"

開始之前
  • 請確保您已掌握有關 NetApp Console 代理程式身份識別與存取管理 (IAM) 角色的資訊,適用於 AWS。

  • 確保存在有效的 CMK。

為單一帳戶設定客戶管理的 KMS 金鑰

當 Console 代理程式和 Cloud Volumes ONTAP 位於同一個 AWS 帳戶時,請完成下列步驟:

步驟
  1. 授予 Console 代理程式的 IAM 角色 S3 加密權限。將 `s3:PutEncryptionConfiguration`行動新增至 IAM 角色原則:

    {
      "Sid": "cvoServicePolicy",
      "Effect": "Allow",
      "Action": [
        "s3:PutEncryptionConfiguration"
      ],
      "Resource": "*"
    }
  2. 啟用 Console 代理程式對客戶管理的加密金鑰 (CMEK) 的存取。在 AWS Console 上使用下列方法之一:

將該角色新增為關鍵用戶(建議)
  1. 在 AWS Console 中,前往 KMS > Customer managed keys,然後選擇您的 CMEK 金鑰。

  2. 在「關鍵使用者」區段中,選取「新增」。

  3. 選擇您的 Console 代理程式執行個體角色,例如, occm-role,然後按一下「新增」。

  4. 儲存變更。

更新 KMS 金鑰原則
  1. 在 AWS 主控台中,前往 KMS,然後搜尋您的金鑰。

  2. 選擇 Key policy 索引標籤,然後選擇 Edit

  3. 尋找允許存取金鑰的聲明 AllowUseOfTheKey,並將 Console 代理程式角色 Amazon Resource Name (ARN) 附加至 `Principal`陣列。將以下範例中的佔位符替換為您的值:

    • YOUR-ACCOUNT-ID:您的 12 位數 AWS 帳戶 ID

    • YOUR-AGENT-ROLE-NAME:Console 代理程式的 IAM 角色名稱

      {
        "Sid": "AllowUseOfTheKey",
        "Effect": "Allow",
        "Principal": {
          "AWS": [
            "arn:aws:iam::`YOUR-ACCOUNT-ID`:role/`YOUR-AGENT-ROLE-NAME`"
          ]
        },
        "Action": [
          "kms:Encrypt",
          "kms:Decrypt",
          "kms:ReEncrypt*",
          "kms:GenerateDataKey*",
          "kms:CreateGrant",
          "kms:DescribeKey",
          "kms:ListKeys"
        ],
        "Resource": "*"
      }
  4. 儲存變更。

為共享的帳戶設定客戶管理的 KMS 金鑰

當 Console 代理程式在一個 AWS 帳戶(帳戶 A)中執行,而 Cloud Volumes ONTAP 部署在另一個 AWS 帳戶(帳戶 B)時,請先完成帳戶 A 的所有單一帳戶步驟,然後再完成這些步驟。

步驟
  1. 將 `s3:PutEncryptionConfiguration`行動新增至帳戶 B 的假定角色。這是必要的,因為 FabricPool 儲存桶加密呼叫是在帳戶 B 的假定角色下執行的。此權限涵蓋在用於分層的 S3 儲存桶上啟用預設加密。

    {
      "Sid": "cvoServicePolicy",
      "Effect": "Allow",
      "Action": [
        "s3:PutEncryptionConfiguration"
      ],
      "Resource": "*"
    }
  2. 如果 CMEK 金鑰儲存在帳戶 B 中,則帳戶 A 的代理程式角色需要直接存取才能使用該金鑰。帳戶 B 中的 KMS 金鑰原則授予了這種跨帳戶存取。

    1. 在帳戶 B 的 AWS Console 中,前往 KMS > Customer managed keys,然後選擇用於 Cloud Volumes ONTAP 部署的 CMEK 金鑰。

    2. 開啟 金鑰原則 索引標籤,然後選取 編輯

    3. 新增一條聲明,授予帳戶 A 的 IAM 角色存取金鑰的權限:

      {
        "Sid": "Allow use of the key from the agent account",
        "Effect": "Allow",
        "Principal": {
          "AWS": "arn:aws:iam::ACCOUNT-A-ID:role/`YOUR-AGENT-ROLE-NAME`"
        },
        "Action": [
          "kms:Encrypt",
          "kms:Decrypt",
          "kms:ReEncrypt*",
          "kms:GenerateDataKey*",
          "kms:CreateGrant",
          "kms:DescribeKey",
          "kms:ListKeys",
          "kms:ListAliases"
        ],
        "Resource": "*"
      }
      註 帳戶 B 的金鑰原則控制帳戶 A 的 Console 代理程式角色是否可以被信任使用該金鑰。除了帳戶 A 的 IAM 原則之外,還需要此原則聲明。
  3. 更新帳戶 A 的 Console 代理程式的 IAM 原則,允許對帳戶 B 的金鑰呼叫 KMS API。

    1. 在帳戶 A 的 AWS Console 中,前往 IAM > Roles,然後選擇 Console 代理程式角色,例如, occm-roleNetAppCloudManagerRole

    2. 新增或更新帳戶 B 金鑰的 KMS 權限:

      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "kms:List*",
              "kms:Describe*",
              "kms:Encrypt",
              "kms:Decrypt",
              "kms:ReEncrypt*",
              "kms:GenerateDataKey*",
              "kms:CreateGrant"
            ],
            "Resource": [
              "arn:aws:kms:*:ACCOUNT-B-ID:key/*",
              "arn:aws:kms:*:ACCOUNT-B-ID:alias/*"
            ]
          }
        ]
      }
      註 帳戶 B 中的金鑰原則控制對金鑰的存取。帳戶 A 中的 IAM 原則允許 Console 代理程式角色進行 KMS API 呼叫。如果任一帳戶缺少組態,AWS 將限制存取。
  4. 在帳戶 B 的 CMEK 中,將帳戶 A 新增為允許的外部 AWS 帳戶。

    1. 在帳戶 B 的 AWS KMS 主控台中,開啟目標 KMS 金鑰,找到「其他 AWS 帳戶」部分。

    2. 選擇 Add other AWS accounts ,然後輸入帳戶 A 的 AWS 帳戶 ID。

      此螢幕截圖顯示了 AWS KMS 控制台中的「新增其他 AWS 帳戶」按鈕。

    此螢幕截圖顯示了 AWS KMS 控制台中的「其他 AWS 帳戶」對話方塊。