セットアップ AWS HealthLake - AWS HealthLake

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

セットアップ AWS HealthLake

この章では、 AWS Management Console を使用して、 の使用を開始 AWS HealthLake してデータストアを作成するために必要なアクセス許可を設定します。データストアを作成するアクセス許可を設定するには、データレイク管理者および HealthLake 管理者である IAM ユーザーまたはロールを作成します。このユーザーを AWS Lake Formation のデータレイク管理者にします。データレイク管理者は、Amazon Athena を使用してデータストアをクエリするために必要なリソースへのアクセス権を Lake Formation に付与します。HealthLake データストアを作成したら、ファイルのインポートとエクスポートのアクセス許可を設定できます。

にサインアップする AWS アカウント

がない場合は AWS アカウント、次の手順を実行して作成します。

にサインアップするには AWS アカウント
  1. https://portal.aws.amazon.com/billing/signup を開きます。

  2. オンラインの手順に従います。

    サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

    にサインアップすると AWS アカウント、 AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、ルートユーザーアクセスが必要なタスクの実行にはルートユーザーのみを使用するようにしてください。

AWS は、サインアッププロセスの完了後に確認 E メールを送信します。https://aws.amazon.com/[マイアカウント] をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

管理アクセスを持つユーザーを作成する

にサインアップしたら AWS アカウント、日常的なタスクにルートユーザーを使用しないように AWS アカウントのルートユーザー、 を保護し AWS IAM Identity Center、 を有効にして管理ユーザーを作成します。

を保護する AWS アカウントのルートユーザー
  1. ルートユーザーを選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者AWS Management Consoleとして にサインインします。次のページでパスワードを入力します。

    ルートユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドルートユーザーとしてサインインするを参照してください。

  2. ルートユーザーの多要素認証 (MFA) を有効にします。

    手順については、IAM ユーザーガイドの AWS アカウント 「ルートユーザー (コンソール) の仮想 MFA デバイスを有効にする」を参照してください。

管理アクセスを持つユーザーを作成する
  1. IAM アイデンティティセンターを有効にします。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Centerの有効化」を参照してください。

  2. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

    を ID ソース IAM アイデンティティセンターディレクトリ として使用する方法のチュートリアルについては、AWS IAM Identity Center 「 ユーザーガイド」の「デフォルトを使用してユーザーアクセスを設定する IAM アイデンティティセンターディレクトリ」を参照してください。

管理アクセス権を持つユーザーとしてサインインする
  • IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

    IAM Identity Center ユーザーを使用してサインインする方法については、AWS サインイン 「 ユーザーガイド」の AWS 「 アクセスポータルにサインインする」を参照してください。

追加のユーザーにアクセス権を割り当てる
  1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成するを参照してください

  2. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「グループの結合」を参照してください。

HealthLake を使用するように IAM ユーザーまたはロールを設定する (IAM 管理者)

ペルソナ: IAM 管理者

IAM ユーザーとロールを作成し、データレイク管理者を追加できるユーザー。

このトピックのこれらのステップは、IAM 管理者が実行する必要があります。

HealthLake データストアを Athena に接続するには、データレイク管理者および HealthLake 管理者である IAM ユーザーまたはロールを作成する必要があります。この新しいユーザーまたはロールは、 AWS Lake Formation を介してデータストアにあるリソースへのアクセスを許可し、AmazonHealthLakeFullAccess AWS 管理ポリシーをユーザーまたはロールに追加します。

重要

データレイク管理者である IAM ユーザーまたはロールは、新しいデータレイク管理者を作成できません。データレイク管理者を追加するには、AdministratorAccessアクセス権が付与された IAM ユーザーまたはロールを使用する必要があります。

管理者を作成するには
  1. IAM AmazonHealthlakeFullAccess AWS 管理ポリシーを組織内のユーザーまたはロールに追加します。

    IAM ユーザーの作成に慣れていない場合は、IAM ユーザーガイド「IAM ユーザーの作成」および「IAM AWS ポリシーの概要」を参照してください。

  2. AWS Lake Formation へのアクセス権を IAM ユーザーまたはロールに付与します。

    • 次の IAM AWS 管理ポリシーを組織内のユーザーまたはロールに追加します。 AWSLakeFormationDataAdmin

      注記

      このAWSLakeFormationDataAdminポリシーは、すべての AWS Lake Formation リソースへのアクセスを許可します。常に必要最小限のアクセス許可を使用してタスクを達成してください。詳細については、「IAM ユーザーガイド」の「IAM のベストプラクティス」を参照してください。

  3. ユーザーまたはロールに次のインラインポリシーを追加します。詳細については、IAM ユーザーガイドインラインポリシーを参照してください。

    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 アクセス許可リファレンス」を参照してください。 AWS

Lake Formation で Data Lake 管理者としてユーザーまたはロールを追加する (IAM 管理者)

注記

を統合する場合は、このステップが必要ですSQL インデックスとクエリ

次に、IAM 管理者は、前のステップで作成したユーザーまたはロールを Lake Formation のデータレイク管理者として追加する必要があります。

データレイク管理者として IAM ユーザーまたはロールを追加するには
  1. AWS Lake Formation コンソールを開きます: https://console.aws.amazon.com/lakeformation/

    注記

    Lake Formation を初めて訪問する場合は、Lake Formation 管理者の定義を求める「Lake Formation へようこそ」ダイアログボックスが表示されます。

    レイクフォーメーション管理者の定義を求めるダイアログボックスの画像
  2. AWS Lake Formation データレイク管理者に新しいユーザーまたはロールを割り当てます。

    • オプション 1: Welcome to Lake Formation ダイアログボックスが表示された場合。

      1. 他のユーザー AWS またはロールの追加 を選択します。

      2. 下矢印 (▼) を選択します。

      3. Lake Formation 管理者にもなりたい HealthLake 管理者を選択します。

      4. [開始する] を選択します。

    • オプション 2: ナビゲーションペイン (☰) を使用します。

      1. ナビゲーションペイン (☰) を選択します。

      2. アクセス許可で管理ロールとタスクを選択します。

      3. データレイク管理者セクションで、管理者の選択 を選択します。

      4. データレイク管理者の管理ダイアログボックスで、下矢印 (▼) を選択します。

      5. 次に、Lake Formation 管理者にする HealthLake 管理者のユーザーまたはロールを選択または検索します。

      6. [保存] を選択します。

  3. Lake Formation によって管理されるデフォルトのセキュリティ設定を変更します。HealthLake データストアリソースは、IAM ではなく Lake Formation によって管理される必要があります。更新するには、AWS 「Lake Formation デベロッパーガイド」の「デフォルトのアクセス許可モデルを変更する」を参照してください。

S3 バケットを作成する

FHIR R4 データを にインポートするには AWS HealthLake、2 つの Amazon S3 バケットをお勧めします。Amazon S3 入力バケットは、インポートする FHIR データを保持し、HealthLake はこのバケットから読み取ります。Amazon S3 出力バケットは、インポートジョブの処理結果と、このバケットへの HealthLake の書き込み (ログ) を保存します。

注記

AWS Identity and Access Management (IAM) ポリシーにより、Amazon S3 バケット名は一意である必要があります。詳細については、「Amazon Simple Storage Service ユーザーガイド」の「バケットの名前付け」を参照してください。

このガイドでは、このセクションの後半でインポートアクセス許可を設定するときに、次の Amazon S3 入出力バケットを指定します。

  • 入力バケット: arn:aws:s3:::amzn-s3-demo-source-bucket

  • 出力バケット: arn:aws:s3:::amzn-s3-demo-logging-bucket

詳細については、「Amazon S3 ユーザーガイド」の「バケットの作成」を参照してください。

データストアの作成

HealthLake データストアは、単一の AWS リージョン内に存在する FHIR R4 データのリポジトリです。 AWS アカウントには、ゼロまたは多数のデータストアを含めることができます。HealthLake は、2 つのデータストア認可戦略をサポートしています。

[重要]

HealthLake データストアを作成する前に、HealthLake リソースの作成または管理を制限する可能性のある AWS Organization のサービスコントロールポリシー (SCPs) を確認してください。SCPsは、IAM アクセス許可が正しく設定されていても、HealthLake データストアが正常に作成されないようにすることができます。

HealthLake データストアを作成すると、 datastoreIDが生成されます。このセクションの後半でインポートアクセス許可を設定するdatastoreIDときは、 を使用する必要があります。

HealthLake データストアを作成するには、「」を参照してくださいHealthLake データストアの作成

インポートジョブのアクセス許可の設定

データストアにファイルをインポートする前に、Amazon S3 の入出力バケットにアクセスする許可を HealthLake に付与する必要があります。 Amazon S3 HealthLake アクセスを許可するには、HealthLake の IAM サービスロールを作成し、ロールに信頼ポリシーを追加して HealthLake のロール継承アクセス許可を付与し、Amazon S3 バケットへのアクセスを許可するアクセス許可ポリシーをロールにアタッチします。

インポートジョブを作成するときは、 のこのロールの Amazon リソースネーム (ARN) を指定しますDataAccessRoleArn。IAM ロールと信頼ポリシーの詳細については、「IAM ロール」を参照してください。

アクセス許可を設定したら、インポートジョブを使用してデータストアにファイルをインポートする準備が整います。詳細については、「FHIR インポートジョブの開始」を参照してください。

インポート許可を設定するには
  1. まだ作成していない場合は、出力ログファイルの送信先 Amazon S3 バケットを作成します。Amazon S3 バケットは サービスと同じ AWS リージョンにあり、すべてのオプションでブロックパブリックアクセスを有効にする必要があります。詳細については、Amazon S3のパブリックアクセスブロックの使用」を参照してください。Amazon 所有または顧客所有の KMS キーも暗号化に使用する必要があります。KMS キーの使用の詳細については、「Amazon Key Management Service」を参照してください。

  2. 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" } } } ] }
  3. データアクセスロールにアクセス許可ポリシーを追加して、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" }] }

エクスポートジョブのアクセス許可の設定

データストアからファイルをエクスポートする前に、Amazon S3 の出力バケットにアクセスする権限を HealthLake に付与する必要があります。 Amazon S3 HealthLake アクセスを許可するには、HealthLake の IAM サービスロールを作成し、ロールに信頼ポリシーを追加して HealthLake のロール継承アクセス許可を付与し、Amazon S3 バケットへのアクセスを許可するアクセス許可ポリシーをロールにアタッチします。

HealthLake のロールを既に作成している場合は、そのロールを再利用して、このトピックにリストされている Amazon S3 バケットをエクスポートするための追加のアクセス許可を付与できます。IAM ロールと信頼ポリシーの詳細については、「IAM でのポリシーとアクセス許可」を参照してください。

[重要]

HealthLake は、ネイティブ SDK エクスポートリクエストFHIR R4 $export オペレーションの両方をサポートしています。使用するエクスポート API に応じて、個別の IAM アクションを指定する必要があります。これにより、 allowおよび アクセスdeny許可を個別に処理できます。HealthLake SDK と FHIR REST API の両方のエクスポートを制限する場合は、個別の IAM アクションに拒否アクセス許可を適用する必要があります。HealthLake へのフルアクセスをユーザーに付与する場合、IAM ユーザーアクセス許可の変更は必要ありません。

AWS CLI および AWS SDKsの使用:

以下のネイティブ HealthLake アクションは、 AWS CLI および AWS SDKs を使用してデータストアからデータをエクスポートするために使用できます。

  • StartFHIRExportJob

  • DescribeFHIRExportJob

  • ListFHIRExportJobs

FHIR APIs の使用:

次の 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のパブリックアクセスブロックの使用」を参照してください。Amazon 所有または顧客所有の KMS キーも暗号化に使用する必要があります。KMS キーの使用の詳細については、「Amazon Key Management Service」を参照してください。

  2. まだ作成していない場合は、HealthLake のデータアクセスサービスロールを作成し、HealthLake サービスに次の信頼ポリシーで引き受けるアクセス許可を付与します。HealthLake はこれを使用して出力 Amazon S3 バケットを書き込みます。で作成済みの場合はインポートジョブのアクセス許可の設定、再利用して、次のステップで 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" } } } ] }
  3. 出力 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

AWS CLI は、HealthLake のインポートおよびエクスポートジョブのプロパティを記述および一覧表示するために必要です。HealthLake SDKs を使用してこの情報をリクエストすることもできます。

をセットアップするには AWS CLI
  1. AWS CLIをダウンロードして設定します。手順については、AWS Command Line Interface ユーザーガイド の次のトピックを参照してください。

  2. AWS CLI config ファイルで、管理者の名前付きプロファイルを追加します。 AWS CLI コマンドを実行するときは、このプロファイルを使用します。最小特権というセキュリティ原則のもと、実行中のタスクに固有の権限を持つ IAM ロールを別途作成することをお勧めします。名前付きプロファイルの詳細については、「AWS Command Line Interface ユーザーガイド」の「設定ファイルと認証情報ファイルの設定」を参照してください。

    [default] aws_access_key_id = default access key ID aws_secret_access_key = default secret access key region = region
  3. 次の help コマンドを使用して設定を確認します。

    aws healthlake help

    が正しく設定されている場合 AWS CLI は、 の AWS HealthLake 簡単な説明と使用可能なコマンドのリストが表示されます。