翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のサービスロール AWS HealthOmics
サービスロールは、 アカウントのリソースにアクセスするためのアクセス許可を AWS サービスに付与する AWS Identity and Access Management (IAM) ロールです。インポートジョブを開始するとき、または実行を開始する AWS HealthOmics ときに、 にサービスロールを指定します。
HealthOmics コンソールで必要なロールを作成できます。HealthOmics API を使用してリソースを管理する場合は、IAM コンソールを使用してサービスロールを作成します。詳細については、「 にアクセス許可を委任するロールを作成する AWS のサービス」を参照してください。
サービスロールには、次の信頼ポリシーが必要です。
信頼ポリシーは、HealthOmics サービスがロールを引き受けることを許可します。
IAM サービスポリシーの例
これらの例では、リソース名とアカウント IDs は、 を実際の値に置き換えるためのプレースホルダーです。
次の例は、実行の開始に使用できるサービスロールのポリシーを示しています。このポリシーは、Amazon S3 出力場所、ワークフローロググループ、および実行用の Amazon ECR コンテナにアクセスするアクセス許可を付与します。
注記
実行にコールキャッシュを使用している場合は、s3 アクセス許可のリソースとして実行キャッシュ Amazon S3 の場所を追加します。
例実行を開始するためのサービスロールポリシー
次の例は、ストアのインポートジョブに使用できるサービスロールのポリシーを示しています。このポリシーは、Amazon S3 の入力場所 にアクセスするためのアクセス許可を付与します。
例リファレンスストアジョブのサービスロール
次の例は、実行メトリクスを CloudWatch に発行するサービスロールのポリシーを示しています。詳細については、「プライベートワークフローのメトリクスを実行する」を参照してください。
例実行メトリクスのサービスロールポリシー
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*" } ] }
セッションポリシーを使用してアクセス許可の範囲を絞り込む
セッションポリシーを使用して、個々のワークフロー実行のサービスロールによって付与されるアクセス許可をさらに制限できます。セッションポリシーは、実行の開始時に指定するインライン IAM ポリシーです。実行の有効なアクセス許可は、サービスロールのアクセス許可とセッションポリシーの共通部分です。
セッションポリシーは、次の場合に便利です。
-
1 回の実行で特定の Amazon S3 バケットまたはオブジェクトへの一時的なアクセスを許可する
-
実行ごとに機密リソースへのアクセスを制限する
-
サービスロールを変更せずに追加のセキュリティコントロールを適用する
重要
セッションポリシーはアクセス許可のみを制限できます。サービスロールが既に許可している範囲を超えてアクセス許可を付与することはできません。HealthOmics は実行の認証情報を使用してロググループを作成および書き込むため、セッションポリシーには Amazon CloudWatch Logs (logs:CreateLogStream および logs:PutLogEvents) のアクセス許可を含める必要があります。
セッションポリシーの最大長は 2,048 文字で、有効な JSON ドキュメントである必要があります。セッションポリシーの詳細については、IAM ユーザーガイドの「セッションポリシー」を参照してください。
例ワークフロー実行のセッションポリシー
次の例は、出力に特定の Amazon S3 プレフィックスにのみアクセスするように実行を制限し、CloudWatch Logs のアクセス許可を必要とするセッションポリシーを示しています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject" ], "Resource": "arn:aws:s3:::my-bucket/workflow-outputs/run-123/*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/omics/WorkflowLog:*" } ] }
HealthOmics API を使用して実行を開始するときにセッションポリシーを指定できます。StartRun API には、インラインポリシーを JSON 文字列として指定するsessionPolicyパラメータが含まれています。バッチ実行の場合、バッチ内のすべての実行DefaultRunSettingに適用されるセッションポリシーを で指定できます。
CloudFormation テンプレートの例
次のサンプル CloudFormation テンプレートは、 というプレフィックスが付いた名前の Amazon S3 バケットにアクセスしomics-、ワークフローログをアップロードするアクセス許可を HealthOmics に付与するサービスロールを作成します。
例リファレンスストア、Amazon S3、CloudWatch Logs のアクセス許可
Parameters: bucketName: Description: Bucket name Type: String Resources: serviceRole: Type: AWS::IAM::Role Properties: Policies: - PolicyName: read-reference PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - omics:* Resource: !Sub arn:${AWS::Partition}:omics:${AWS::Region}:${AWS::AccountId}:referenceStore/* - PolicyName: read-s3 PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - s3:ListBucket Resource: !Sub arn:${AWS::Partition}:s3:::${bucketName} - Effect: Allow Action: - s3:GetObject - s3:PutObject Resource: !Sub arn:${AWS::Partition}:s3:::${bucketName}/* - PolicyName: upload-logs PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - logs:DescribeLogStreams - logs:CreateLogStream - logs:PutLogEvents Resource: !Sub arn:${AWS::Partition}:logs:${AWS::Region}:${AWS::AccountId}:loggroup:/aws/omics/WorkflowLog:log-stream:* - Effect: Allow Action: - logs:CreateLogGroup Resource: !Sub arn:${AWS::Partition}:logs:${AWS::Region}:${AWS::AccountId}:loggroup:/aws/omics/WorkflowLog:* AssumeRolePolicyDocument: | { "Version": "2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Effect": "Allow", "Principal": { "Service": [ "omics.amazonaws.com" ] } } ] }