

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

# PCS AWS の最小アクセス許可
<a name="security-min-permissions"></a>

このセクションでは、IAM ID (ユーザー、グループ、またはロール) がサービスを使用するために必要な最小限の IAM アクセス許可について説明します。

**Contents**
+ [API アクションを使用するための最小限のアクセス許可](#security-min-permissions_api)
+ [タグを使用するための最小限のアクセス許可](#security-min-permissions_tagging)
+ [ログをサポートする最小アクセス許可](#security-min-permissions_logging)
+ [キャパシティブロックを使用するための最小限のアクセス許可](#security-min-permissions_capacity-blocks)
+ [サービス管理者の最小アクセス許可](#security-min-permissions_admin-policy)

## API アクションを使用するための最小限のアクセス許可
<a name="security-min-permissions_api"></a>


| API アクション | 最小アクセス許可 | コンソールの追加アクセス許可 | 
| --- | --- | --- | 
| CreateCluster |  <pre>ec2:CreateNetworkInterface,<br />ec2:DescribeVpcs,<br />ec2:DescribeSubnets,<br />ec2:DescribeSecurityGroups, <br />ec2:GetSecurityGroupsForVpc, <br />iam:CreateServiceLinkedRole,<br />secretsmanager:CreateSecret,<br />secretsmanager:TagResource,<br />secretsmanager:RotateSecret,<br />pcs:CreateCluster</pre>  |  | 
| ListClusters |  <pre>pcs:ListClusters</pre>  |  | 
| GetCluster |  <pre>pcs:GetCluster</pre>  |  <pre>ec2:DescribeSubnets</pre>  | 
| DeleteCluster |  <pre>pcs:DeleteCluster</pre>  |  | 
| CreateComputeNodeGroup |  <pre>ec2:DescribeVpcs,<br />ec2:DescribeSubnets,<br />ec2:DescribeSecurityGroups,<br />ec2:DescribeLaunchTemplates,<br />ec2:DescribeLaunchTemplateVersions,<br />ec2:DescribeInstanceTypes,<br />ec2:DescribeInstanceTypeOfferings,<br />ec2:RunInstances,<br />ec2:CreateFleet,<br />ec2:CreateTags,<br />iam:PassRole,<br />iam:GetInstanceProfile,<br />pcs:CreateComputeNodeGroup</pre>  |  <pre>iam:ListInstanceProfiles,<br />ec2:DescribeImages,<br />pcs:GetCluster</pre>  | 
| ListComputerNodeGroups |  <pre>pcs:ListComputeNodeGroups</pre>  |  <pre>pcs:GetCluster</pre>  | 
| GetComputeNodeGroup |  <pre>pcs:GetComputeNodeGroup</pre>  |  <pre>ec2:DescribeSubnets</pre>  | 
| UpdateComputeNodeGroup |  <pre>ec2:DescribeVpcs,<br />ec2:DescribeSubnets,<br />ec2:DescribeSecurityGroups,<br />ec2:DescribeLaunchTemplates,<br />ec2:DescribeLaunchTemplateVersions,<br />ec2:DescribeInstanceTypes,<br />ec2:DescribeInstanceTypeOfferings,<br />ec2:RunInstances,<br />ec2:CreateFleet,<br />ec2:CreateTags,<br />iam:PassRole,<br />iam:GetInstanceProfile,<br />pcs:UpdateComputeNodeGroup</pre>  |  <pre>pcs:GetComputeNodeGroup,<br />iam:ListInstanceProfiles,<br />ec2:DescribeImages,<br />pcs:GetCluster</pre>  | 
| DeleteComputeNodeGroup |  <pre>pcs:DeleteComputeNodeGroup</pre>  |  | 
| CreateQueue |  <pre>pcs:CreateQueue</pre>  |  <pre>pcs:ListComputeNodeGroups,<br />pcs:GetCluster</pre>  | 
| ListQueues |  <pre>pcs:ListQueues</pre>  |  <pre>pcs:GetCluster</pre>  | 
| GetQueue |  <pre>pcs:GetQueue</pre>  |  | 
| UpdateQueue |  <pre>pcs:UpdateQueue</pre>  |  <pre>pcs:ListComputeNodeGroups,<br />pcs:GetQueue</pre>  | 
| DeleteQueue |  <pre>pcs:DeleteQueue</pre>  |  | 

## タグを使用するための最小限のアクセス許可
<a name="security-min-permissions_tagging"></a>

 AWS PCS のリソースでタグを使用するには、次のアクセス許可が必要です。

```
pcs:ListTagsForResource,
pcs:TagResource,
pcs:UntagResource
```

## ログをサポートする最小アクセス許可
<a name="security-min-permissions_logging"></a>

AWS PCS は Amazon CloudWatch Logs (CloudWatch Logs) にログデータを送信します。ID に CloudWatch Logs を使用するための最小限のアクセス許可があることを確認する必要があります。詳細については、「Amazon [ CloudWatch Logs ユーザーガイド」の「CloudWatch Logs リソースへのアクセス許可の管理の概要](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html)」を参照してください。 *Amazon CloudWatch *

サービスが CloudWatch Logs にログを送信するために必要なアクセス許可については、「Amazon CloudWatch Logs ユーザーガイド」の[AWS 「サービスからのログ記録の有効化](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions-V2)」を参照してください。 *Amazon CloudWatch *

## キャパシティブロックを使用するための最小限のアクセス許可
<a name="security-min-permissions_capacity-blocks"></a>

Amazon EC2 Capacity Blocks for ML は、短期間のワークロードをサポートするために、特定の日時範囲内で GPU ベースの高速コンピューティングインスタンスを事前に予約するための Amazon EC2 購入オプションです。詳細については、「[PCS での ML での Amazon EC2 AWS キャパシティブロックの使用](capacity-blocks.md)」を参照してください。

コンピューティングノードグループを作成または更新するときに、キャパシティブロックを使用することを選択します。コンピューティングノードグループを作成または更新するために使用する IAM ID には、次のアクセス許可が必要です。

```
ec2:DescribeCapacityReservations,
ec2:DescribeCapacityBlocks,
ec2:DescribeCapacityBlockStatus
```

## サービス管理者の最小アクセス許可
<a name="security-min-permissions_admin-policy"></a>

次の IAM ポリシーは、IAM ID (ユーザー、グループ、またはロール) が PCS AWS サービスを設定および管理するために必要な最小限のアクセス許可を指定します。

**注記**  
サービスを設定および管理しないユーザーには、これらのアクセス許可は必要ありません。ジョブのみを実行するユーザーは、セキュアシェル (SSH) を使用してクラスターに接続します。 AWS Identity and Access Management (IAM) は SSH の認証または認可を処理しません。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "PCSAccess",
      "Effect": "Allow",
      "Action": [
        "pcs:*"
      ],
      "Resource": "*"
    },
    {
      "Sid": "EC2Access",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:DescribeImages",
        "ec2:GetSecurityGroupsForVpc",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeVpcs",
        "ec2:DescribeLaunchTemplates",
        "ec2:DescribeLaunchTemplateVersions",
        "ec2:DescribeInstanceTypes",
        "ec2:DescribeInstanceTypeOfferings",
        "ec2:RunInstances",
        "ec2:CreateFleet",
        "ec2:CreateTags",
        "ec2:DescribeCapacityReservations",
        "ec2:DescribeCapacityBlocks",
        "ec2:DescribeCapacityBlockStatus"
      ],
      "Resource": "*"
    },
    {
      "Sid": "IamInstanceProfile",
      "Effect": "Allow",
      "Action": [
        "iam:GetInstanceProfile"
      ],
      "Resource": "*"
    },
    {
      "Sid": "IamPassRole",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/*/AWSPCS*",
        "arn:aws:iam::*:role/AWSPCS*",
        "arn:aws:iam::*:role/aws-pcs/*",
        "arn:aws:iam::*:role/*/aws-pcs/*"
      ],
      "Condition": {
        "StringEquals": {
           "iam:PassedToService": [
             "ec2.amazonaws.com"
           ]
        }
      }
    },
    {
      "Sid": "SLRAccess",
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/aws-service-role/pcs.amazonaws.com/AWSServiceRoleFor*",
        "arn:aws:iam::*:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleFor*"
      ],
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": [
            "pcs.amazonaws.com",
            "spot.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "AccessKMSKey",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:Encrypt",
        "kms:GenerateDataKey",
        "kms:CreateGrant",
        "kms:DescribeKey"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SecretManagementAccess",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:CreateSecret",
        "secretsmanager:TagResource",
        "secretsmanager:UpdateSecret",
        "secretsmanager:RotateSecret"
      ],
      "Resource": "*"
    },
    { 
       "Sid": "ServiceLogsDelivery",
       "Effect": "Allow",
       "Action": [
         "pcs:AllowVendedLogDeliveryForResource",
         "logs:PutDeliverySource",
         "logs:PutDeliveryDestination",
         "logs:CreateDelivery"
       ],
       "Resource": "*"
    }
  ]
}
```