

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

# 設定 AWS HealthLake
<a name="getting-started-setting-up"></a>

在本章中，您可以使用 AWS 管理主控台 來設定開始使用 AWS HealthLake 和建立資料存放區所需的許可。若要設定建立資料存放區的許可，您可以建立屬於資料湖管理員和 HealthLake 管理員的 IAM 使用者或角色。您會讓此使用者成為 AWS Lake Formation 中的資料湖管理員。資料湖管理員授予 Lake Formation 使用 Amazon Athena 查詢資料存放區所需的資源存取權。建立 HealthLake 資料存放區之後，您可以設定匯入和匯出檔案的許可。

**Topics**
+ [

## 註冊 AWS 帳戶
](#sign-up-for-aws)
+ [

## 建立具有管理存取權的使用者
](#create-an-admin)
+ [

## 設定 IAM 使用者或角色以使用 HealthLake (IAM 管理員）
](#setting-up-configure-iam)
+ [

## 在 Lake Formation 中將使用者或角色新增為 Data Lake 管理員 (IAM 管理員）
](#setting-up-add-lake-formation)
+ [

## 建立 S3 儲存貯體
](#setting-up-create-s3-buckets)
+ [

## 建立資料存放區
](#setting-up-create-data-store)
+ [

## 設定匯入任務的許可
](#setting-up-import-permissions)
+ [

## 設定匯出任務的許可
](#setting-up-export-permissions)
+ [

## 安裝 AWS CLI
](#setting-up-install-cli)

## 註冊 AWS 帳戶
<a name="sign-up-for-aws"></a>

如果您沒有 AWS 帳戶，請完成下列步驟來建立一個。

**註冊 AWS 帳戶**

1. 開啟 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 請遵循線上指示進行。

   部分註冊程序需接收來電或簡訊，並在電話鍵盤輸入驗證碼。

   當您註冊 時 AWS 帳戶，*AWS 帳戶根使用者*會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務，請將管理存取權指派給使用者，並且僅使用根使用者來執行[需要根使用者存取權的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時登錄 [https://aws.amazon.com/](https://aws.amazon.com/) 並選擇**我的帳戶**，以檢視您目前的帳戶活動並管理帳戶。

## 建立具有管理存取權的使用者
<a name="create-an-admin"></a>

註冊 後 AWS 帳戶，請保護 AWS 帳戶根使用者、啟用 AWS IAM Identity Center和建立管理使用者，以免將根使用者用於日常任務。

**保護您的 AWS 帳戶根使用者**

1.  選擇**根使用者**並輸入 AWS 帳戶 您的電子郵件地址，以帳戶擁有者[AWS 管理主控台](https://console.aws.amazon.com/)身分登入 。在下一頁中，輸入您的密碼。

   如需使用根使用者登入的說明，請參閱 *AWS 登入 使用者指南*中的[以根使用者身分登入](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 若要在您的根使用者帳戶上啟用多重要素驗證 (MFA)。

   如需說明，請參閱《*IAM 使用者指南*》中的[為您的 AWS 帳戶 根使用者 （主控台） 啟用虛擬 MFA 裝置](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**建立具有管理存取權的使用者**

1. 啟用 IAM Identity Center。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[啟用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，將管理存取權授予使用者。

   如需使用 IAM Identity Center 目錄 做為身分來源的教學課程，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[使用預設值設定使用者存取 IAM Identity Center 目錄](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理存取權的使用者身分登入**
+ 若要使用您的 IAM Identity Center 使用者簽署，請使用建立 IAM Identity Center 使用者時傳送至您電子郵件地址的簽署 URL。

  如需使用 IAM Identity Center 使用者登入的說明，請參閱*AWS 登入 《 使用者指南*》中的[登入 AWS 存取入口網站](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**指派存取權給其他使用者**

1. 在 IAM Identity Center 中，建立一個許可集來遵循套用最低權限的最佳實務。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[建立許可集](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 將使用者指派至群組，然後對該群組指派單一登入存取權。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[新增群組](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

## 設定 IAM 使用者或角色以使用 HealthLake (IAM 管理員）
<a name="setting-up-configure-iam"></a>

**人物：IAM 管理員**  
可建立 IAM 使用者和角色，並可新增資料湖管理員的使用者。

本主題中的這些步驟必須由 IAM 管理員執行。

若要將 HealthLake 資料存放區連線至 Athena，您需要建立 IAM 使用者或角色，其為資料湖管理員和 HealthLake 管理員。此新使用者或角色會透過 AWS Lake Formation 授予資料存放區中資源的存取權，並將 `AmazonHealthLakeFullAccess` AWS 受管政策新增至其使用者或角色。

**重要**  
作為資料湖管理員的 IAM 使用者或角色*無法*建立新的資料湖管理員。若要新增其他資料湖管理員，您必須使用已授予`AdministratorAccess`存取權的 IAM 使用者或角色。

**建立管理員**

1. 將 **AmazonHealthlakeFullAccess** IAM AWS 受管政策新增至組織中的使用者或角色。

   如果您不熟悉建立 IAM 使用者，請參閱《[IAM 使用者指南》中的建立 IAM 使用者](https://docs.aws.amazon.com//IAM/latest/UserGuide/Using_SettingUpUser.html#Using_CreateUser_console)和 [AWS IAM 政策概觀](https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html)。 **

1. 授予 IAM 使用者或角色對 AWS Lake Formation 的存取權。
   + 將下列 IAM AWS 受管政策新增至組織中的使用者或角色： **AWSLakeFormationDataAdmin**
**注意**  
此`AWSLakeFormationDataAdmin`政策會授予所有 AWS Lake Formation 資源的存取權。建議您一律使用完成任務所需的最低許可。如需詳細資訊，請參《[IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)》中的 *IAM 最佳實務*。

1. 將下列內嵌政策新增至使用者或角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[內嵌政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies)。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
                   "arn:aws:s3:::amzn-s3-demo-logging-bucket/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ram:GetResourceShareInvitations",
                   "ram:AcceptResourceShareInvitation",
                   "glue:CreateDatabase",
                   "glue:DeleteDatabase"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

如需`AWSLakeFormationDataAdmin`政策的詳細資訊，請參閱 [Lake Formation 開發人員指南中的 Lake Formation 角色和 IAM 許可參考](https://docs.aws.amazon.com/)。 *AWS *

## 在 Lake Formation 中將使用者或角色新增為 Data Lake 管理員 (IAM 管理員）
<a name="setting-up-add-lake-formation"></a>

**注意**  
如果您要整合 ，則需要此步驟[SQL 索引和查詢](integrating-athena.md)。

接著，IAM 管理員必須將上一個步驟中建立的使用者或角色新增為 Lake Formation 中的資料湖管理員。

**將 IAM 使用者或角色新增為資料湖管理員**

1. 開啟 AWS Lake Formation 主控台：https：//[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)
**注意**  
如果這是您第一次造訪 Lake Formation，會出現**歡迎使用 Lake Formation** 對話方塊，要求您定義 Lake Formation 管理員。  

![\[對話方塊的影像，要求您定義湖泊形成管理員\]](http://docs.aws.amazon.com/zh_tw/healthlake/latest/devguide/images/lf-landing-page.png)


1. 將新使用者或角色指派為 AWS Lake Formation 資料湖管理員。
   + *選項 1：*如果您收到**歡迎使用 Lake Formation** 對話方塊。

     1. 選擇**新增其他 AWS 使用者或角色**。

     1. 選擇**向下箭頭 (▼)**。

     1. 選擇您想要同時成為 Lake Formation 管理員的 HealthLake 管理員。

     1. 選擇**開始使用**。
   + *選項 2：*使用**導覽窗格 (☰)**。

     1. 選擇**導覽窗格 (☰)**。

     1. 在**許可**下，選擇**管理角色和任務**。

     1. 在**資料湖管理員**區段中，選取**選擇管理員。 **

     1. 在**管理資料湖管理員**對話方塊中，選擇**向下箭頭 (▼)**。

     1. 接著，選取或搜尋您也想要成為 Lake Formation 管理員的 HealthLake 管理員使用者或角色。

     1. 選擇**儲存**。

1. 變更要由 Lake Formation 管理的預設安全設定。HealthLake 資料存放區資源需要由 Lake Formation *而非* IAM 管理。若要更新，請參閱 *AWS Lake Formation 開發人員指南*中的[變更預設許可模型](https://docs.aws.amazon.com/lake-formation/latest/dg/getting-started-setup.html#setup-change-cat-settings)。

## 建立 S3 儲存貯體
<a name="setting-up-create-s3-buckets"></a>

若要將 FHIR R4 資料匯入 AWS HealthLake，建議使用兩個 Amazon S3 儲存貯體。Amazon S3 輸入儲存貯體會保留要匯入的 FHIR 資料，且 HealthLake 會從此儲存貯體讀取資料。Amazon S3 輸出儲存貯體會將匯入任務和 HealthLake 寫入 （日誌） 的處理結果儲存到此儲存貯體。

**注意**  
由於 AWS Identity and Access Management (IAM) 政策，您的 Amazon S3 儲存貯體名稱必須是唯一的。如需詳細資訊，請參閱《Amazon Simple Storage Service 使用者指南》**中的[儲存貯體命名規則](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)。

為了本指南的目的，我們會在本節稍後設定[匯入許可](#setting-up-import-permissions)時指定下列 Amazon S3 輸入和輸出儲存貯體。
+ 輸入儲存貯體： `arn:aws:s3:::amzn-s3-demo-source-bucket`
+ 輸出儲存貯體： `arn:aws:s3:::amzn-s3-demo-logging-bucket`

如需詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[建立儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)體。

## 建立資料存放區
<a name="setting-up-create-data-store"></a>

HealthLake 資料存放區是位於單一 AWS 區域內的 FHIR R4 資料的儲存庫。 AWS 帳戶可以有零或多個資料存放區。HealthLake 支援兩種資料存放區[授權策略]()。

**Important (重要)**  
建立 HealthLake 資料存放區之前，請檢閱 AWS 組織中可能限制建立或管理 HealthLake 資源[的服務控制政策 (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)。SCPs可以防止成功建立 HealthLake 資料存放區，即使您的 IAM 許可設定正確。  
當您建立 HealthLake 資料存放區時，`datastoreID`會產生 。在本節稍後設定[匯入許可](#setting-up-import-permissions)`datastoreID`時，您必須使用 。

若要建立 HealthLake 資料存放區，請參閱 [建立 HealthLake 資料存放區](managing-data-stores-create.md)。

## 設定匯入任務的許可
<a name="setting-up-import-permissions"></a>

將檔案匯入資料存放區之前，您必須授予 HealthLake 許可，才能存取 Amazon S3 中的輸入和輸出儲存貯體。若要授予 HealthLake 存取權，您可以為 HealthLake 建立 IAM 服務角色、將信任政策新增至角色以授予 HealthLake 擔任角色許可，並將許可政策連接至角色，以授予其存取您的 Amazon S3 儲存貯體。

 當您建立匯入任務時，您可以為 指定此角色的 Amazon Resource Name (ARN)`DataAccessRoleArn`。如需 IAM 角色和信任政策的詳細資訊，請參閱 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。

設定許可之後，您就可以使用匯入任務將檔案匯入資料存放區。如需詳細資訊，請參閱[啟動 FHIR 匯入任務](importing-fhir-data-start.md)。

**設定匯入許可**

1. 如果尚未建立輸出日誌檔案的目的地 Amazon S3 儲存貯體。Amazon S3 儲存貯體必須與服務位於相同的 AWS 區域，且所有選項都必須開啟封鎖公開存取。若要進一步了解，請參閱[使用 Amazon S3 封鎖公開存取](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html)。Amazon 擁有或客戶擁有的 KMS 金鑰也必須用於加密。若要進一步了解如何使用 KMS 金鑰，請參閱 [Amazon Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)。

1. 為 HealthLake 建立資料存取服務角色，並授予 HealthLake 服務使用下列信任政策擔任該角色的許可。HealthLake 使用此值來寫入輸出 Amazon S3 儲存貯體。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "healthlake.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": "accountID"
                   },
                   "ArnEquals": {
                       "aws:SourceArn": "arn:aws:healthlake:us-west-2:111122223333:datastore/fhir/datastoreID"
                   }
               }
           }
       ]
   }
   ```

------

1. 將許可政策新增至資料存取角色，以允許其存取 Amazon S3 儲存貯體。`amzn-s3-demo-bucket` 以儲存貯體的名稱取代 。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Action": [
               "s3:ListBucket",
               "s3:GetBucketPublicAccessBlock",
               "s3:GetEncryptionConfiguration"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-source-bucket"
           ],
           "Effect": "Allow"
       },
       {
           "Action": [
               "s3:PutObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-logging-bucket/*"
           ],
           "Effect": "Allow"
       },
       {
           "Action": [
               "kms:DescribeKey",
               "kms:GenerateDataKey*"
           ],
           "Resource": [
               "arn:aws:kms:us-east-1:012345678910:key/d330e7fc-b56c-4216-a250-f4c43ef46e83"
           ],
           "Effect": "Allow"
       }]
   }
   ```

------

## 設定匯出任務的許可
<a name="setting-up-export-permissions"></a>

從資料存放區匯出檔案之前，您必須授予 HealthLake 在 Amazon S3 中存取輸出儲存貯體的許可。若要授予 HealthLake 存取權，您可以為 HealthLake 建立 IAM 服務角色、將信任政策新增至角色以授予 HealthLake 擔任角色許可，並將許可政策連接至角色，以授予其存取您的 Amazon S3 儲存貯體。

如果您已為 HealthLake 建立角色，您可以重複使用該角色，並授予此主題中列出的匯出 Amazon S3 儲存貯體的其他許可。若要進一步了解 IAM 角色和信任政策，請參閱 [IAM 政策和許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。

**Important (重要)**  
HealthLake 同時支援[原生 SDK 匯出請求](exporting-fhir-data.md)和 [FHIR R4 `$export`](reference-fhir-operations-export.md) 操作。必須根據您決定使用的匯出 API，提供個別的 IAM 動作。這可讓您分別處理 `allow`和 `deny`許可。如果您想要同時限制 HealthLake SDK 和 FHIR REST API 匯出，您必須將拒絕許可套用至個別的 IAM 動作。如果您提供使用者 HealthLake 的完整存取權，則不需要 IAM 使用者許可變更。  
下列原生 HealthLake 動作可用於使用 AWS CLI 和 AWS SDKs 從資料存放區匯出資料：
`StartFHIRExportJob`
`DescribeFHIRExportJob`
`ListFHIRExportJobs`
下列 IAM 動作可用於從 HealthLake 資料存放區匯出資料，以及使用 FHIR `$export`操作取消 （刪除） 匯出任務：
`POST`:  
`StartFHIRExportJobWithPost`
`GET`:  
`StartFHIRExportJobWithGet`
`DescribeFHIRExportJobWithGet`
`GetExportedFile`
`DELETE`:  
`CancelFHIRExportJobWithDelete`

設定許可的使用者或角色必須具有建立角色、建立政策以及將政策連接至角色的許可。下列 IAM 政策會授予這些許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": "iam:PassRole",
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "healthlake.amazonaws.com"
                }
            }
        }
    ]
}
```

------

**設定匯出許可**

1. 如果尚未，請為您要從資料存放區匯出的資料建立目的地 Amazon S3 儲存貯體。Amazon S3 儲存貯體必須與 服務位於相同的 AWS 區域，且所有選項都必須開啟封鎖公開存取。若要進一步了解，請參閱[使用 Amazon S3 封鎖公開存取](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html)。Amazon 擁有或客戶擁有的 KMS 金鑰也必須用於加密。若要進一步了解如何使用 KMS 金鑰，請參閱 [Amazon Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)。

1. 如果您尚未建立 HealthLake 的資料存取服務角色，並授予 HealthLake 服務使用下列信任政策擔任該角色的許可。HealthLake 使用此值來寫入輸出 Amazon S3 儲存貯體。如果您已在 中建立一個[設定匯入任務的許可](#setting-up-import-permissions)，則可以重複使用它，並在下一個步驟中授予 Amazon S3 儲存貯體的許可。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "healthlake.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": "accountID"
                   },
                   "ArnEquals": {
                       "aws:SourceArn": "arn:aws:healthlake:us-west-2:111122223333:datastore/fhir/data store ID"
                   }
               }
           }
       ]
   }
   ```

------

1. 將許可政策新增至資料存取角色，以允許它存取您的輸出 Amazon S3 儲存貯體。`amzn-s3-demo-bucket` 以儲存貯體的名稱取代 。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Action": [
               "s3:ListBucket",
               "s3:GetBucketPublicAccessBlock",
               "s3:GetEncryptionConfiguration"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-source-bucket"
           ],
           "Effect": "Allow"
       },
       {
           "Action": [
               "s3:PutObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-logging-bucket/*"
           ],
           "Effect": "Allow"
       },
       {
           "Action": [
               "kms:DescribeKey",
               "kms:GenerateDataKey*"
           ],
           "Resource": [
               "arn:aws:kms:us-east-1:012345678910:key/d330e7fc-b56c-4216-a250-f4c43ef46e83"
           ],
           "Effect": "Allow"
       }]
   }
   ```

------

## 安裝 AWS CLI
<a name="setting-up-install-cli"></a>

 AWS CLI 需要描述和列出 HealthLake 匯入和匯出任務屬性。您也可以使用 HealthLake SDKs請求此資訊。

**若要設定 AWS CLI**

1. 下載和設定 AWS CLI。如需說明，請參閱*《AWS Command Line Interface 使用者指南》*中的下列主題。
   + [安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
   + [開始使用 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. 在 AWS CLI `config`檔案中，新增管理員的具名設定檔。您在執行 AWS CLI 命令時使用此設定檔。在最低權限的安全原則下，我們建議您建立具有所執行任務特定權限的個別 IAM 角色。如需具名設定檔的詳細資訊，請參閱*AWS Command Line Interface 《 使用者指南*》中的[組態和登入資料檔案設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)。

   ```
   [default]
   aws_access_key_id = default access key ID
   aws_secret_access_key = default secret access key
   region = region
   ```

1. 使用以下`help`命令驗證設定。

   ```
   aws healthlake help
   ```

   如果 AWS CLI 設定正確，您會看到 的 AWS HealthLake 簡短描述和可用命令的清單。