

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

# のサービスロール AWS HealthOmics
<a name="permissions-service"></a>

サービスロールは、 アカウントのリソースにアクセスするためのアクセス許可を AWS サービスに付与する AWS Identity and Access Management (IAM) ロールです。インポートジョブを開始するとき、または実行を開始する AWS HealthOmics ときに、 にサービスロールを指定します。

HealthOmics コンソールで必要なロールを作成できます。HealthOmics API を使用してリソースを管理する場合は、IAM コンソールを使用してサービスロールを作成します。詳細については、[「 にアクセス許可を委任するロールを作成する AWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)」を参照してください。

サービスロールには、次の信頼ポリシーが必要です。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "omics.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

信頼ポリシーは、HealthOmics サービスがロールを引き受けることを許可します。

**Topics**
+ [IAM サービスポリシーの例](#permissions-service-samplepolicies)
+ [CloudFormation テンプレートの例](#permissions-service-sampletemplates)

## IAM サービスポリシーの例
<a name="permissions-service-samplepolicies"></a>

これらの例では、リソース名とアカウント IDs は、 を実際の値に置き換えるためのプレースホルダーです。

次の例は、実行の開始に使用できるサービスロールのポリシーを示しています。このポリシーは、Amazon S3 出力場所、ワークフローロググループ、および実行用の Amazon ECR コンテナにアクセスするアクセス許可を付与します。

**注記**  
実行にコールキャッシュを使用している場合は、s3 アクセス許可のリソースとして実行キャッシュ Amazon S3 の場所を追加します。

**Example 実行を開始するためのサービスロールポリシー**    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
      {
          "Effect": "Allow",
          "Action": [
              "s3:GetObject",
              "s3:PutObject"
          ],
          "Resource": [
              "arn:aws:s3:::amzn-s3-demo-bucket1/*"
          ]
      },
      {
          "Effect": "Allow",
          "Action": [
              "s3:ListBucket"
          ],
          "Resource": [
              "arn:aws:s3:::amzn-s3-demo-bucket1"
          ]
      },
      {
          "Effect": "Allow",
          "Action": [
              "logs:DescribeLogStreams",
              "logs:CreateLogStream",
              "logs:PutLogEvents"
          ],
          "Resource": [
              "arn:aws:logs:us-east-1:123456789012:log-group:/aws/omics/WorkflowLog:log-stream:*"
          ]
      },
      {
          "Effect": "Allow",
          "Action": [
              "logs:CreateLogGroup"
          ],
          "Resource": [
              "arn:aws:logs:us-east-1:123456789012:log-group:/aws/omics/WorkflowLog:*"
          ]
      },
      {
          "Effect": "Allow",
          "Action": [
              "ecr:BatchGetImage",
              "ecr:GetDownloadUrlForLayer",
              "ecr:BatchCheckLayerAvailability"
          ],
          "Resource": [
              "arn:aws:ecr:us-east-1:123456789012:repository/*"
          ]
      }
    ]
}
```

次の例は、ストアのインポートジョブに使用できるサービスロールのポリシーを示しています。このポリシーは、Amazon S3 の入力場所 にアクセスするためのアクセス許可を付与します。

**Example リファレンスストアジョブのサービスロール**    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },

        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        }

    ]
}
```

## CloudFormation テンプレートの例
<a name="permissions-service-sampletemplates"></a>

次のサンプル CloudFormation テンプレートは、 というプレフィックスが付いた名前の Amazon S3 バケットにアクセスし`omics-`、ワークフローログをアップロードするアクセス許可を HealthOmics に付与するサービスロールを作成します。

**Example リファレンスストア、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"
                ]
              }
            }
          ]
        }
```