Snow 系列主控台和建立任務的存取控制 - AWS Snowball Edge 開發人員指南

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

Snow 系列主控台和建立任務的存取控制

與所有 AWS 服務一樣,存取 AWS Snowball 需要 AWS 可用於驗證請求的憑證。這些憑證必須具有存取 AWS 資源的許可,例如 Amazon S3 儲存貯體或 AWS Lambda function. AWS Snowball differs,方法有兩種:

  1. 中的任務 AWS Snowball 沒有 Amazon Resource Names (ARNs)。

  2. 控制裝置現場部署的實體和網路存取是您的責任。

的身分和存取管理 AWS Snow Family 如需如何使用 AWS Identity and Access Management (IAM) 的詳細資訊,請參閱 AWS Snowball ,並控制誰可以在 中存取資源 AWS 雲端,以及本機存取控制建議,以協助保護您的資源。

管理 資源的存取權概觀 AWS 雲端

每個 AWS 資源都由 擁有 AWS 帳戶,而建立或存取資源的許可受許可政策的約束。帳戶管理員可以將許可政策連接到身分 IAM (即使用者、群組和角色),而且某些服務 (例如 AWS Lambda) 也支援將許可政策連接到 資源。

注意

帳戶管理員 (或管理員使用者) 是具有管理員權限的使用者。如需詳細資訊,請參閱 IAM 使用者指南 中的IAM最佳實務

資源與操作

在 中 AWS Snowball,主要資源是任務 。 AWS Snowball 也有 Snowball 和 AWS Snowball Edge 裝置等裝置,但您只能在現有任務的背景下使用這些裝置。Amazon S3 儲存貯體和 Lambda 函數分別是 Amazon S3 和 Lambda 的資源。

如前所述,任務沒有與其相關聯的 Amazon Resource Names (ARNs)。不過,其他 服務的資源,例如 Amazon S3 儲存貯體,確實具有與其相關聯的唯一 (ARNs),如下表所示。

資源類型 ARN 格式
S3 儲存貯體 arn:aws:s3:region:account-id:BucketName/ObjectName

AWS Snowball 提供一組操作來建立和管理任務。如需可用操作的清單,請參閱AWS Snowball API參考

了解資源所有權

AWS 帳戶 擁有在帳戶中建立的資源,無論誰建立資源。具體而言,資源擁有者是驗證資源建立請求 AWS 帳戶 的主要實體 (即根帳戶、IAM使用者或IAM角色) 的 。下列範例說明其如何運作:

  • 如果您使用 AWS 帳戶 的根帳戶憑證來建立 S3 儲存貯體,則您的 AWS 帳戶 是資源的擁有者 (在 中 AWS Snowball,資源是 任務)。

  • 如果您在 中建立IAM使用者, AWS 帳戶 並授予許可來建立任務,以向該使用者訂購 Snow Family 裝置,則使用者可以建立任務來訂購 Snow Family 裝置。不過,使用者所屬 AWS 帳戶的 擁有任務資源。

  • 如果您在 AWS 帳戶 具有建立任務許可的 中建立IAM角色,則任何可以擔任該角色的人都可以建立任務來訂購 Snow Family 裝置。角色所屬 AWS 帳戶的 擁有任務資源。

管理 中 資源的存取 AWS 雲端

許可政策描述誰可以存取哪些資源。下一節說明可用來建立許可政策的選項。

注意

本節討論在 內容IAM中使用 AWS Snowball。它不會提供有關 IAM服務的詳細資訊。如需完整IAM文件,請參閱 使用者指南 中的什麼是 IAM?IAM 如需IAM政策語法和描述的相關資訊,請參閱 IAM 使用者指南 中的AWS IAM政策參考

附加至IAM身分的政策稱為身分型政策 (IAM政策),附加至資源的政策稱為資源型政策。 僅 AWS Snowball 支援身分型政策 (IAM 政策)。

資源型政策

其他服務 (例如 Amazon S3) 也支援以資源為基礎的許可政策。例如,您可以將政策連接至 S3 儲存貯體,以管理該儲存貯體的存取許可。 AWS Snowball 不支援資源型政策。 

指定政策元素:動作、效果和委託人

對於每個任務 (請參閱 資源與操作),服務會定義一組API操作 (請參閱AWS Snowball API參考 ),以建立和管理該任務。若要授予這些API操作的許可, AWS Snowball 會定義一組您可以在政策中指定的動作。例如,會針對任務定義以下動作:CreateJobCancelJobDescribeJob。請注意,執行API操作可能需要多個動作的許可。

以下是最基本的政策元素:

  • 資源 – 在政策中,您可以使用 Amazon Resource Name (ARN) 來識別政策適用的資源。如需詳細資訊,請參閱資源與操作

    注意

    Amazon S3、Amazon EC2、 AWS Lambda AWS KMS和許多其他服務都支援此功能。

    Snowball 不支援在IAM政策陳述式的 Resource元素ARN中指定資源。若要允許存取 Snowball,請在政策“Resource”: “*”中指定 。

  • 動作:使用動作關鍵字識別您要允許或拒絕的資源操作。例如,根據指定的 Effectsnowball:* 允許或拒絕使用者執行所有操作的許可。

    注意

    Amazon EC2、Amazon S3 和 支援此功能IAM。

  • 效果 - 您可以指定使用者要求特定動作時會有什麼效果;可為允許或拒絕。如果您未明確授予存取 (允許) 資源,則隱含地拒絕存取。您也可以明確拒絕資源存取,這樣做可確保使用者無法存取資源,即使不同政策授予存取也是一樣。

    注意

    Amazon EC2、Amazon S3 和 支援此功能IAM。

  • 主體 – 在身分型政策 (IAM 政策) 中,附加政策的使用者是隱含主體。對於資源型政策,您可以指定要接收許可的使用者、帳戶、服務或其他實體 (僅適用於資源型政策)。 AWS Snowball 不支援資源型政策。

若要進一步了解IAM政策語法和描述,請參閱 IAM 使用者指南 中的AWS IAM政策參考

如需顯示所有動作的 AWS Snowball API資料表,請參閱 AWS Snowball API 許可:動作、資源和條件參考

在政策中指定條件

當您授予許可時,您可以使用IAM政策語言來指定政策何時生效的條件。例如,建議只在特定日期之後套用政策。如需以政策語言指定條件的詳細資訊,請參閱 IAM 使用者指南 中的條件

欲表示條件,您可以使用預先定義的條件金鑰。沒有 AWS Snowball特定的條件金鑰。不過,您可以視需要使用 AWS全局條件金鑰。如需 AWS全局金鑰的完整清單,請參閱 IAM 使用者指南 中的可用金鑰條件

AWS- AWS Snowball Edge 的受管 (預先定義) 政策

AWS 透過提供由 建立和管理的獨立IAM政策來解決許多常見的使用案例 AWS。受管政策授與常見使用案例中必要的許可,讓您免於查詢需要哪些許可。如需詳細資訊,請參閱 IAM 使用者指南 中的 AWS 受管政策

您可以搭配 使用下列 AWS受管政策 AWS Snowball。

建立 Snowball Edge IAM的角色政策

必須建立角色IAM政策,並具有 Amazon S3 儲存貯體的讀取和寫入許可。此IAM角色也必須與 Snowball 具有信任關係。擁有信任關係表示 AWS 可以根據您要匯入或匯出資料,在 Snowball 和 Amazon S3 儲存貯體中寫入資料。

當您在 中建立任務以訂購 Snow Family 裝置時 AWS Snow 系列管理主控台,建立必要的IAM角色會在許可區段的步驟 4 中發生。此為自動程序。您允許 Snowball 擔任IAM的角色,只有在傳輸資料的 Snowball 到達 時,才會用來將資料寫入儲存貯體 AWS。該程序概述如下。

為您的 i 建立IAM角色
  1. 登入 AWS Management Console 並在 開啟 AWS Snowball 主控台https://console.aws.amazon.com/importexport/

  2. 選擇建立作業

  3. 在第一個步驟中,填寫匯入任務到 Amazon S3 的詳細資訊,然後選擇下一步。

  4. 在第二個步驟中,在許可 下,選擇建立/選取IAM角色

    IAM 管理主控台隨即開啟,顯示用來將物件複製到您指定 Amazon S3 儲存貯體IAM的角色 AWS 。

  5. 檢閱此頁面上的詳細資訊,然後選擇 Allow (允許)

    您會返回 AWS Snow 系列管理主控台,其中選取的IAM角色ARN包含您剛建立之IAM角色的 Amazon Resource Name (ARN)。

  6. 選擇下一步以完成建立您的IAM角色。

上述程序會建立角色,該IAM角色具有您計劃匯入資料的 Amazon S3 儲存貯體的寫入許可。建立IAM的角色具有下列其中一個結構,取決於其是否用於匯入任務或匯出任務。

IAM 匯入任務的角色

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketPolicy", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:PutObjectAcl", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" } ] }

如果您使用伺服器端加密搭配 AWS KMS–受管金鑰 (SSE-KMS) 來加密與匯入任務相關聯的 Amazon S3 儲存貯體,您也需要將下列陳述式新增至您的IAM角色。

{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

如果物件大小較大,則用於匯入程序的 Amazon S3 用戶端會使用分段上傳。如果您使用 SSE- 啟動分段上傳KMS,則所有上傳的分段都會使用指定的 AWS KMS 金鑰加密。由於每個部分都經過加密,因此必須先解密之後才能組裝,以完成分段上傳。因此,當您使用 SSE- 執行分段上傳至 Amazon S3 時,您必須擁有解密 AWS KMS 金鑰 (kms:Decrypt) 的許可KMS。

以下是需要kms:Decrypt許可的匯入任務所需的IAM角色範例。

{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey","kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

以下是匯出任務所需的IAM角色範例。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetBucketPolicy", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" } ] }

如果您使用伺服器端加密搭配 AWS KMS受管金鑰來加密與匯出任務相關聯的 Amazon S3 儲存貯體,您也需要將下列陳述式新增至您的IAM角色。

{ "Effect": "Allow", "Action": [ “kms:Decrypt” ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

您可以建立自己的自訂IAM政策,以允許API作業 AWS Snowball 管理的操作許可。您可以將這些自訂政策連接至需要這些許可IAM的使用者或群組。