

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

# EMR Serverless のユーザーアクセスポリシーの例
<a name="security-iam-user-access-policies"></a>

EMR Serverless アプリケーションを操作する際に各ユーザーに実行させるアクションに応じて、ユーザーに対してきめ細かくポリシーを設定できます。次のポリシーは、ユーザーに適切なアクセス許可を設定するのに役立つ可能性のある例です。このセクションでは、EMR Serverless ポリシーのみに焦点を当てます。EMR Studio ユーザーポリシーのサンプルについては、「[Configure EMR Studio user permissions](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-user-permissions.html#emr-studio-advanced-permissions-policy)」を参照してください。IAM ユーザー (プリンシパル) にポリシーをアタッチする方法の詳細については、「IAM ユーザーガイド」の「[IAM ポリシーを管理する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html)」を参照してください。

## パワーユーザーポリシー
<a name="security-iam-user-access-policies-full-access"></a>

EMR Serverless に必要なすべてのアクションを付与するには、`AmazonEMRServerlessFullAccess` ポリシーを作成して必要な IAM ユーザー、ロール、またはグループにアタッチします。

以下の例は、パワーユーザーが EMR Serverless アプリケーションを作成、変更したり、ジョブの送信やデバッグなどのアクションを実行したりできるようにするポリシーです。EMR Serverless がその他のサービスに必要とするすべてのアクションを明らかにします。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EMRServerlessActions",
      "Effect": "Allow",
      "Action": [
        "emr-serverless:CreateApplication",
        "emr-serverless:UpdateApplication",
        "emr-serverless:DeleteApplication",
        "emr-serverless:ListApplications",
        "emr-serverless:GetApplication",
        "emr-serverless:StartApplication",
        "emr-serverless:StopApplication",
        "emr-serverless:StartJobRun",
        "emr-serverless:CancelJobRun",
        "emr-serverless:ListJobRuns",
        "emr-serverless:GetJobRun"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

VPC へのネットワーク接続を有効にすると、EMR Serverless アプリケーションは VPC リソースと通信するための Amazon EC2 Elastic Network Interface (ENI) を作成します。次のポリシーは、新しい EC2 ENI が EMR Serverless アプリケーションのコンテキストでのみ作成されることを保証します。

**注記**  
EMR Serverless アプリケーションを起動する場合を除き、ユーザーが EC2 ENI を作成できないように、このポリシーを設定することを強くお勧めします。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowEC2ENICreationWithEMRTags",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:network-interface/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com"
        }
      }
    }
  ]
}
```

------

EMR Serverless アクセスを特定のサブネットに制限する場合は、各サブネットにタグ条件を付けることができます。この IAM ポリシーにより、EMR Serverless アプリケーションは許可されたサブネット内でのみ EC2 ENI を作成できるようになります。

```
{
    "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags",
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterface"
    ],
    "Resource": [
        "arn:aws:ec2:*:*:subnet/*",
        "arn:aws:ec2:*:*:security-group/*"
    ],
    "Condition": {
        "StringEquals": {
            "aws:ResourceTag/KEY": "VALUE"
        }
    }
}
```

**重要**  
管理者またはパワーユーザーが最初のアプリケーションを作成している場合は、EMR Serverless サービスにリンクされたロールを作成できるようにアクセス許可ポリシーを設定する必要があります。詳細については、[EMR Serverless のサービスリンクロールの使用](using-service-linked-roles.md) を参照してください。

次の IAM ポリシーでは、アカウントに対して EMR Serverless サービスにリンクされたロールの作成を許可します。

```
{
   "Sid":"AllowEMRServerlessServiceLinkedRoleCreation",
   "Effect":"Allow",
   "Action":"iam:CreateServiceLinkedRole",
   "Resource":"arn:aws:iam::account-id:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless"
}
```

## データエンジニアポリシー
<a name="security-iam-user-access-policies-read-only-access"></a>

以下の例は、EMR Serverless アプリケーションに対する読み取り専用アクセス許可と、ジョブの送信とデバッグをユーザーに許可するポリシーです。このポリシーは明示的にアクションを拒否しないため、別のポリシーステートメントが指定したアクションへのアクセス許可に使用される場合があることに注意してください。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EMRServerlessActions",
      "Effect": "Allow",
      "Action": [
        "emr-serverless:ListApplications",
        "emr-serverless:GetApplication",
        "emr-serverless:StartApplication",
        "emr-serverless:StartJobRun",
        "emr-serverless:CancelJobRun",
        "emr-serverless:ListJobRuns",
        "emr-serverless:GetJobRun"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

## アクセスコントロールにタグを使用する
<a name="security-iam-user-access-policies-using-tags"></a>

きめ細かいアクセスコントロールのためにタグ条件を使用できます。例えば、1 つのチームからユーザーを制限して、チーム名でタグ付けされた EMR Serverless アプリケーションにのみジョブを送信できるようにすることができます。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EMRServerlessActions",
      "Effect": "Allow",
      "Action": [
        "emr-serverless:ListApplications",
        "emr-serverless:GetApplication",
        "emr-serverless:StartApplication",
        "emr-serverless:StartJobRun",
        "emr-serverless:CancelJobRun",
        "emr-serverless:ListJobRuns",
        "emr-serverless:GetJobRun"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------