翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
セットアップ
この章では、 AWS マネジメントコンソール を使用して、 AWS HealthLake データ変換の使用とデータ変換ジョブの実行を開始するために必要なアクセス許可を設定します。
AWS アカウントにサインアップする
の使用を開始するには AWS、 AWS アカウントが必要です。 AWS アカウントの作成の詳細については、「 AWS アカウント管理リファレンスガイド」の「 アカウントの開始方法」を参照してください。 AWS
HealthLake データ変換を使用するように IAM ユーザーまたはロールを設定する
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "healthlake:CreateDataTransformationProfile", "healthlake:GetDataTransformationProfile", "healthlake:UpdateDataTransformationProfile", "healthlake:PublishDataTransformationProfile", "healthlake:ListDataTransformationProfileVersions", "healthlake:UpdateProfileWithAgent", "healthlake:TransformData", "healthlake:ValidateSource", "healthlake:StartDataTransformationJob", "healthlake:DescribeDataTransformationJob", "healthlake:DeleteDataTransformationProfile", "healthlake:ListDataTransformationProfiles", "healthlake:ListDataTransformationJobs" ], "Resource": "*" } ] }
本番環境では、リソースを * ではなく特定のプロファイルとジョブ ARNs にスコープします。
データ変換ジョブを実行するためのアクセス許可の設定
一括データ変換ジョブを実行する前に、ソースおよび出力 Amazon S3 バケットにアクセスする権限を HealthLake に付与する必要があります。 Amazon S3 HealthLake アクセスを許可するには、IAM サービスロールを作成し、HealthLake がロールを引き受けることを許可する信頼ポリシーを追加し、ソースデータへの読み取りアクセスと出力場所への書き込みアクセスを許可するアクセス許可ポリシーをアタッチします。
データ変換ジョブを開始するときは、DataAccessRoleArn パラメータにこのロールの Amazon リソースネーム (ARN) を指定します。IAM ロールと信頼ポリシーの詳細については、「IAM ロール」を参照してください。
HealthLake のインポートまたはエクスポートジョブ用のデータアクセスロールを既に作成している場合は、それを再利用できます。ソースと出力の Amazon S3 バケットに、以下のステップ 3 にリストされているアクセス許可を追加します。
注記
このロールは、スタンドアロン変換ジョブ (StartDataTransformationJob) と複合convert-and-ingestジョブ (ProfileId を持つ StartFHIRImportJob) の両方に使用されます。
データ変換ジョブのアクセス許可を設定するには
-
まだ作成していない場合は、ソースを作成し、Amazon S3 バケットを出力します。Amazon S3 バケットは サービスと同じ AWS リージョンにあり、すべてのオプションでブロックパブリックアクセスを有効にする必要があります。詳細については、「Amazon Amazon S3 のパブリックアクセスブロックの使用」を参照してください。ジョブ出力を暗号化するには、カスタマーマネージド AWS KMS キーを使用する必要があります。 AWS KMS キーの使用の詳細については、「Amazon Key Management Service」を参照してください。
-
HealthLake 用のデータアクセスサービスロールを作成し、次の信頼ポリシーを使用してそのロールを引き受けるアクセス許可を HealthLake サービスに付与します。
注記
123456789012 を AWS アカウント ID に置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "healthlake.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] } -
ソースバケットへの読み取りアクセス、出力バケットへの書き込みアクセス、およびデータの暗号化と復号に必要な AWS KMS アクセス許可を付与するアクセス許可ポリシーをデータアクセスロールに追加します。バケット名と AWS KMS キー ARN を独自の値に置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadSourceData", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-source-bucket", "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Sid": "WriteOutputData", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-output-bucket", "arn:aws:s3:::amzn-s3-demo-output-bucket/*" ] }, { "Sid": "KMSPermissions", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/your-kms-key-id" } ] }
アクセス許可の説明:
-
ソースバケットの s3:GetObject と s3:ListBucket: HealthLake が入力ファイルを読み取ることを許可します。
-
出力バケットの s3:PutObject: HealthLake が変換された FHIR ファイル、エラーレポート、マニフェスト、ドリフトレポートを書き込むことを許可します。
-
出力バケットの s3:GetObject と s3:ListBucket: HealthLake は、複数ステップの処理中に中間変換結果を読み取ることができます。
-
kms:Decrypt: ソースバケットがカスタマーマネージド AWS KMS キーを使用している場合、HealthLake はソースファイルを復号できます。
-
kms:GenerateDataKey: HealthLake が OutputDataConfig.S3Configuration.KmsKeyId で指定した AWS KMS キーを使用して出力ファイルを暗号化できるようにします。 OutputDataConfig.S3Configuration.KmsKeyId.
-
kms:DescribeKey: HealthLake が AWS KMS キーが有効でアクセス可能であることを確認することを許可します。
重要
ソースと出力が同じバケットである場合は、Amazon S3 ステートメントを 1 つに結合できます。異なる AWS KMS キーを使用する場合は、キー ARN ごとに個別の AWS KMS ステートメントを追加します。
ヒント
本番環境では、リソース値をできるだけ絞り込みます。バケット全体へのアクセスを許可するのではなく、ジョブが使用する正確な Amazon S3 プレフィックスを指定します。
データストアのセットアップの詳細については、「 のセットアップ AWS HealthLake」を参照してください。