本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
資源許可
AWS HealthOmics 當您執行任務或建立存放區時, 會代表您建立和存取其他 服務中的資源。在某些情況下,您需要在其他 服務中設定許可,以存取資源或允許 HealthOmics 存取資源。
Amazon ECR 許可
在 HealthOmics 服務從您的私有 Amazon ECR 儲存庫在容器中執行工作流程之前,您可以為容器建立資源政策。政策會授予 HealthOmics 服務使用容器的許可。您可以將此資源政策新增至工作流程參考的每個私有儲存庫。
注意
私有儲存庫和工作流程必須位於相同區域。
下列各節說明必要的政策組態。
建立 Amazon ECR 儲存庫的資源政策
建立資源政策,以允許 HealthOmics 服務使用儲存庫中的容器執行工作流程。此政策會授予 HealthOmics 服務主體存取所需 Amazon ECR 動作的許可。
請依照下列步驟建立政策:
-
在 Amazon ECR 主控台中開啟私有儲存庫
頁面,然後選取您要授予存取權的儲存庫。 -
從側邊列導覽中,選取許可。
-
選擇編輯 JSON。
-
選擇新增陳述式。
-
新增下列政策陳述式,然後選取儲存政策。
使用跨帳戶容器執行工作流程
如果不同的 AWS 帳戶擁有工作流程和容器,您需要設定下列跨帳戶許可:
-
更新儲存庫的 Amazon ECR 政策,將許可明確授予擁有工作流程的帳戶。
-
更新擁有工作流程的帳戶的服務角色,以授予容器映像的存取權。
下列範例示範 Amazon ECR 資源政策,授予擁有工作流程之帳戶的存取權。
在此範例中:
-
工作流程帳戶 ID:111122223333
-
容器儲存庫帳戶 ID:444455556666
-
容器名稱:samtools
若要完成設定,請將下列政策陳述式新增至擁有工作流程之帳戶的服務角色。此政策授予服務角色存取「samtools」容器映像的許可。請務必使用您自己的值取代帳戶號碼、容器名稱和區域。
{ "Sid": "CrossAccountEcrRepoPolicy", "Effect": "Allow", "Action": ["ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer"], "Resource": "arn:aws:ecr:us-west-2:444455556666:repository/samtools" }
共用工作流程的 Amazon ECR 儲存庫政策
注意
HealthOmics 會自動允許共用工作流程存取工作流程擁有者帳戶中的 Amazon ECR 儲存庫,而工作流程是在訂閱者的帳戶中執行。您不需要為共用工作流程授予其他儲存庫存取權。如需詳細資訊,請參閱共用 HealthOmics 工作流程。
根據預設,訂閱者無法存取 Amazon ECR 儲存庫來使用基礎容器。或者,您可以將條件索引鍵新增至儲存庫的資源政策,以自訂對 Amazon ECR 儲存庫的存取。以下各節提供範例政策。
限制對特定工作流程的存取
您可以在條件陳述式中列出個別工作流程,因此只有這些工作流程可以使用儲存庫中的容器。SourceArn 條件金鑰指定共用工作流程的 ARN。下列範例會授予指定工作流程使用此儲存庫的許可。
限制對特定帳戶的存取
您可以在條件陳述式中列出訂閱者帳戶,以便只有這些帳戶具有在儲存庫中使用容器的許可。SourceAccount 條件索引鍵會指定訂閱 AWS 帳戶 者的 。下列範例會授予指定帳戶使用此儲存庫的許可。
您也可以拒絕特定訂閱者的 Amazon ECR 許可,如下列範例政策所示。
Lake Formation 許可
在 HealthOmics 中使用分析功能之前,請在 Lake Formation 中設定預設資料庫設定。
在 Lake Formation 中設定資源許可
-
在 Lake Formation 主控台中開啟資料目錄設定
頁面。 -
在新建立的資料庫和資料表的預設許可下,取消勾選資料庫和資料表的 IAM 存取控制需求。
-
選擇儲存。
如果您的服務政策具有正確的 RAM 許可,HealthOmics Analytics 會自動接受資料,例如下列範例。