

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

# EMR Studio の設定
<a name="emr-studio-set-up"></a>

EMR Studio を設定するには、以下のステップを完了します。

**開始する前に**

**注記**  
Amazon EMR on EKS で EMR Studio を使用する予定の場合は、Studio を設定する前に EMR Studio に Amazon EMR on EKS を設定することをお勧めします。

EMR Studio を設定する前に、以下のものがあることを確認してください。
+  AWS アカウント。手順については、「[Amazon EMR を設定する前に](emr-setting-up.md)」を参照してください。
+ EMR Studio を作成および管理するためのアクセス許可。詳細については、「[EMR Studio を作成および管理するための管理者のアクセス許可](emr-studio-admin-permissions.md)」を参照してください。
+ EMR Studio が Studio 内の Workspace とノートブックファイルをバックアップできる Amazon S3 バケット。手順については、「*Amazon Simple Storage Service (S3) ユーザーガイド*」の「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)」を参照してください。
+ Amazon EMR on EC2 または Amazon EMR on EKS にアタッチする場合、または Git リポジトリを使用する場合は、Studio 用の Amazon 仮想プライベートクラウド (VPC) と、最大 5 つのサブネットが必要です。EMR Studio を EMR Serverless で使用する VPC は必要ありません。ネットワークの設定方法に関するヒントについては、「[EMR Studio の VPC とサブネットのベストプラクティス](emr-studio-vpc-subnet-best-practices.md)」を参照してください。

**EMR Studio を設定するには**

1.  [Amazon EMR Studio の認証モードの選択](emr-studio-authentication.md)

1. 次の Studio リソースを作成します。
   + [EMR Studio サービスロールを作成する](emr-studio-service-role.md)
   + [Amazon EC2 または Amazon EKS 用の EMR Studio ユーザーアクセス許可の設定](emr-studio-user-permissions.md)
   + (オプション) [EMR Studio ネットワークトラフィックを制御するセキュリティグループを定義する](emr-studio-security-groups.md)。

1. [EMR Studio の作成](emr-studio-create-studio.md)

1. [EMR Studio にユーザーまたはグループを割り当てる](emr-studio-manage-users.md#emr-studio-assign-users-groups)

設定ステップを完了すると、「[Amazon EMR Studio を使用する](use-an-emr-studio.md)」を行うことができます。

# Amazon EMR Studio の認証モードの選択
<a name="emr-studio-authentication"></a>

EMR Studio は、IAM 認証モードと IAM Identity Center 認証モードという 2 つの認証モードをサポートしています。IAM モードは AWS Identity and Access Management (IAM) を使用し、IAM Identity Center モードは を使用します AWS IAM アイデンティティセンター。EMR Studio を作成するときは、その Studio のすべてのユーザーの認証モードを選択します。各種認証モードの詳細については、「[認証とユーザーログイン](how-emr-studio-works.md#emr-studio-login)」を参照してください。

次の表を使用して、EMR Studio の認証モードを選択します。


****  

| 状況 | 推奨設定 | 
| --- | --- | 
| IAM 認証またはフェデレーションに精通している、または以前に設定したことがある |  [IAM 認証モード](#emr-studio-iam-authentication)。以下のような利点があります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-studio-authentication.html)  | 
|  AWS または Amazon EMR を初めて使用する場合 |  [IAM Identity Center 認証モード](#emr-studio-enable-sso)。次の特長があります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-studio-authentication.html)  | 

## Amazon EMR Studio の IAM 認証モードの設定
<a name="emr-studio-iam-authentication"></a>

IAM 認証モードでは、IAM 認証または IAM フェデレーションを使用できます。IAM *認証*では、IAM のユーザー、グループ、ロールなどの IAM ID を管理できます。IAM アクセス許可ポリシーおよび[属性ベースのアクセスコントロール (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) を使用して Studio へのアクセス権をユーザーに付与します。IAM *フェデレーション*を使用すると、サードパーティー ID プロバイダー (IdP) と の間の信頼を確立 AWS して、IdP を介してユーザー ID を管理できます。

**注記**  
 AWS リソースへのアクセスを制御するために IAM を既に使用している場合、または IAM の ID プロバイダー (IdP) を既に設定している場合は、EMR Studio の IAM 認証モードを使用するときにユーザーアクセス許可を設定する [IAM 認証モードのユーザーアクセス許可](how-emr-studio-works.md#emr-studio-iam-authorization) を参照してください。

### Amazon EMR Studio での IAM フェデレーションの使用
<a name="emr-studio-iam-federation"></a>

EMR Studio で IAM フェデレーションを使用するには、 AWS アカウント と ID プロバイダー (IdP) の間に信頼関係を作成し、フェデレーティッドユーザーが にアクセスできるようにします AWS マネジメントコンソール。この信頼関係を作成するために実行する手順は、ご使用の IdP のフェデレーション標準によって異なります。

一般に、外部 IdP とのフェデレーションを設定するには、次のタスクを実行します。詳細な手順については、「*AWS Identity and Access Management ユーザーガイド*」の「[SAML 2.0 フェデレーティッドユーザーが AWS マネジメントコンソールにアクセス可能にする](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html)」および「[カスタム ID ブローカーに対する AWS マネジメントコンソールへのアクセスの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)」を参照してください。

1. IdP から情報を収集します。これは通常、IdP からの SAML 認証リクエストを検証するためのメタデータドキュメントを生成することを意味します。

1. ID プロバイダーの IAM エンティティを作成して、IdP に関する情報を保存します。手順については、「[IAM ID プロバイダーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create.html)」を参照してください。

1. IdP のために 1 つ以上の IAM ロールを作成します。EMR Studio は、ユーザーのログイン時にフェデレーティッドユーザーにロールを割り当てます。このロールで、IdP が AWSにアクセスするための一時的なセキュリティ認証情報をリクエストできるようにします。手順については、「[サードパーティー ID プロバイダー (フェデレーション) 用のロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html)」を参照してください。ロールに割り当てるアクセス許可ポリシーによって、フェデレーティッドユーザーが EMR Studio AWS および で実行できる操作が決まります。詳細については、「[IAM 認証モードのユーザーアクセス許可](how-emr-studio-works.md#emr-studio-iam-authorization)」を参照してください。

1. (SAML プロバイダーの場合) に関する情報 AWS とフェデレーティッドユーザーが引き受けるロールを使用して IdP を設定して、SAML 信頼を完了します。この設定プロセスでは、IdP と の間に*証明書利用者の信頼*が作成されます AWS。詳細については、「[証明書利用者の信頼およびクレームの追加によって SAML 2.0 IdP を設定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html)」を参照してください。

**IdP ポータルの SAML アプリケーションとして EMR Studio を設定するには**

Studio へのディープリンクを使用して、特定の EMR Studio を SAML アプリケーションとして設定できます。これにより、ユーザーは、Amazon EMR コンソールでナビゲートする代わりに、IdP ポータルにログインして、特定の Studio を起動できます。
+ SAML アサーション検証後のランディング URL として EMR Studio へのディープリンクを設定するには、次の形式を使用します。

  ```
  https://console.aws.amazon.com/emr/home?region=<aws-region>#studio/<your-studio-id>/start
  ```

## Amazon EMR Studio の IAM Identity Center 認証モードの設定
<a name="emr-studio-enable-sso"></a>

EMR Studio AWS IAM アイデンティティセンター を準備するには、ID ソースを設定し、ユーザーとグループをプロビジョニングする必要があります。プロビジョニングとは、ユーザーおよびグループの情報を IAM Identity Center および IAM Identity Center を使用するアプリケーションで使用できるようにするプロセスです。詳細については、「[ユーザーおよびグループのプロビジョニング](https://docs.aws.amazon.com/singlesignon/latest/userguide/users-groups-provisioning.html#user-group-provision)」を参照してください。

EMR Studio では、IAM Identity Center の次の ID プロバイダーの使用をサポートしています。
+ **AWS Managed Microsoft AD およびセルフマネージド Active Directory** – 詳細については、[「Microsoft AD ディレクトリに接続する](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-ad.html)」を参照してください。
+ **SAML ベースのプロバイダー** — 詳細なリストについては、「[Supported identity providers](https://docs.aws.amazon.com/singlesignon/latest/userguide/supported-idps.html)」を参照してください。
+ **IAM Identity Center ディレクトリ** — 詳細については、「[IAM Identity Center での ID の管理](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-sso.html)」を参照してください。

**EMR Studio 用に IAM Identity Center を設定するには**

1. EMR Studio 用に IAM Identity Center を設定するには、次のものが必要です。
   +  AWS 組織内で複数のアカウントを使用する場合の、組織内の管理アカウント。
**注記**  
管理アカウントを使用するのは、IAM Identity Center を有効にする場合とユーザーおよびグループを*プロビジョニング*する場合のみにしてください。IAM Identity Center の設定後、メンバーアカウントを使用して EMR Studio を作成し、ユーザーとグループを*割り当て*ます。 AWS 用語の詳細については、[AWS Organizations 「用語と概念](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html)」を参照してください。
   + 2019 年 11 月 25 日より前に IAM アイデンティティセンターを有効にした場合は、 AWS 組織内のアカウントに対して IAM アイデンティティセンターを使用するアプリケーションを有効にする必要がある場合があります。詳細については、[AWS 「アカウントで IAM Identity Center 統合アプリケーションを有効にする](https://docs.aws.amazon.com/singlesignon/latest/userguide/app-enablement.html#enable-app-enablement)」を参照してください。
   + 「[IAM Identity Center prerequisites](https://docs.aws.amazon.com/singlesignon/latest/userguide/prereqs.html)」ページに示されている前提条件を満たしていることを確認します。

1. [「IAM アイデンティティセンターを有効にする](https://docs.aws.amazon.com/singlesignon/latest/userguide/step1.html)」の手順に従って、EMR Studio を作成する AWS リージョン で IAM アイデンティティセンターを有効にします。

1. IAM Identity Center を ID プロバイダーに接続して、Studio に割り当てるユーザーとグループをプロビジョニングします。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-studio-authentication.html)

これで、ID ストアのユーザーおよびグループを EMR Studio に割り当てることができるようになりました。手順については、「[EMR Studio にユーザーまたはグループを割り当てる](emr-studio-manage-users.md#emr-studio-assign-users-groups)」を参照してください。

# EMR Studio サービスロールを作成する
<a name="emr-studio-service-role"></a>

## EMR Studio サービスロールについて
<a name="emr-studio-about-service-role"></a>

各 EMR Studio は、Studio が他の AWS サービスとやり取りできるようにするアクセス許可を持つ IAM ロールを使用します。このサービスロールには、EMR Studio が Workspace とクラスター間の安全なネットワークチャネルを確立し、ノートブックファイルを に保存し Amazon S3 Control、Workspace を Git リポジトリにリンク AWS Secrets Manager しながら にアクセスできるようにするアクセス許可が含まれている必要があります。

(セッションポリシーの代わりに) Studio サービスロールを使用して、ノートブックファイルを保存するためのすべての Amazon S3 アクセス許可を定義し、 AWS Secrets Manager アクセス許可を定義します。

## Amazon EC2 または Amazon EKS で EMR Studio 用にサービスロールを作成する方法
<a name="emr-studio-service-role-instructions"></a>

1. [AWS 「 サービスにアクセス許可を委任するロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)」の手順に従って、次の信頼ポリシーを使用してサービスロールを作成します。
**重要**  
次の信頼ポリシーには、EMR Studio に付与するアクセス許可をアカウント内の特定のリソースに制限するための [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) および [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) グローバル条件キーが含まれています。そうすることで、[「混乱した代理」問題](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)から保護できます。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "sts:AssumeRole"
         ],
         "Resource": "arn:aws:iam::123456789012:role/EMRStudioServiceRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "123456789012"
           },
           "ArnLike": {
             "aws:SourceArn": "arn:aws:elasticmapreduce:*:123456789012:*"
           }
         },
         "Sid": "AllowSTSAssumerole"
       }
     ]
   }
   ```

------

1. デフォルトのロールアクセス許可を削除します。次に、次のサンプル IAM アクセス許可ポリシーのアクセス許可を含めます。または、[EMR Studio サービスロールのアクセス許可](#emr-studio-service-role-permissions-table) を使用するカスタムポリシーを作成できます。
**重要**  
による Amazon EC2 タグベースのアクセスコントロールを EMR Studio と連携させるには、次のポリシーに示すように `ModifyNetworkInterfaceAttribute` API へのアクセスを設定する必要があります。
EMR Studio がサービス ロールを操作するには、次のステートメント `AllowAddingEMRTagsDuringDefaultSecurityGroupCreation` および `AllowAddingTagsDuringEC2ENICreation` を変更しないでください。
サンプルポリシーを使用するには、キー `"for-use-with-amazon-emr-managed-policies"` および値 `"true"` を使用して次のリソースにタグ付けする必要があります。  
EMR Studio の Amazon Virtual Private Cloud (VPC)。
Studio で使用する各サブネット。
カスタム EMR Studio セキュリティグループ。EMR Studio のプレビュー期間中に作成したセキュリティグループを引き続き使用する場合は、そのセキュリティグループにタグを付ける必要があります。
Studio ユーザーが Git リポジトリを Workspace にリンクするために使用する で保持 AWS Secrets Manager されているシークレット。
 AWS マネジメントコンソールの関連するリソース画面の **[Tag]** (タグ) タブを使用してリソースにタグを適用できます。

   該当する場合は、以下のポリシーの `"Resource":"*"` で `*` を変更して、ご使用のユースケースでステートメントがカバーする 1 つ以上のリソースの Amazon リソースネーム (ARN) を指定します。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowEMRReadOnlyActions",
         "Effect": "Allow",
         "Action": [
           "elasticmapreduce:ListInstances",
           "elasticmapreduce:DescribeCluster",
           "elasticmapreduce:ListSteps"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Sid": "AllowEC2ENIActionsWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateNetworkInterfacePermission",
           "ec2:DeleteNetworkInterface"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:network-interface/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowEC2ENIAttributeAction",
         "Effect": "Allow",
         "Action": [
           "ec2:ModifyNetworkInterfaceAttribute"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:instance/*",
           "arn:aws:ec2:*:*:network-interface/*",
           "arn:aws:ec2:*:*:security-group/*"
         ]
       },
       {
         "Sid": "AllowEC2SecurityGroupActionsWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:AuthorizeSecurityGroupEgress",
           "ec2:AuthorizeSecurityGroupIngress",
           "ec2:RevokeSecurityGroupEgress",
           "ec2:RevokeSecurityGroupIngress",
           "ec2:DeleteNetworkInterfacePermission"
         ],
         "Resource": [
           "*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowDefaultEC2SecurityGroupsCreationWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateSecurityGroup"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:security-group/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowDefaultEC2SecurityGroupsCreationInVPCWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateSecurityGroup"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:vpc/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowAddingEMRTagsDuringDefaultSecurityGroupCreation",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateTags"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:security-group/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
             "ec2:CreateAction": "CreateSecurityGroup"
           }
         }
       },
       {
         "Sid": "AllowEC2ENICreationWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateNetworkInterface"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:network-interface/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateNetworkInterface"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:subnet/*",
           "arn:aws:ec2:*:*:security-group/*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowAddingTagsDuringEC2ENICreation",
         "Effect": "Allow",
         "Action": [
           "ec2:CreateTags"
         ],
         "Resource": [
           "arn:aws:ec2:*:*:network-interface/*"
         ],
         "Condition": {
           "StringEquals": {
             "ec2:CreateAction": "CreateNetworkInterface"
           }
         }
       },
       {
         "Sid": "AllowEC2ReadOnlyActions",
         "Effect": "Allow",
         "Action": [
           "ec2:DescribeSecurityGroups",
           "ec2:DescribeNetworkInterfaces",
           "ec2:DescribeTags",
           "ec2:DescribeInstances",
           "ec2:DescribeSubnets",
           "ec2:DescribeVpcs"
         ],
         "Resource": [
           "*"
         ]
       },
       {
         "Sid": "AllowSecretsManagerReadOnlyActionsWithEMRTags",
         "Effect": "Allow",
         "Action": [
           "secretsmanager:GetSecretValue"
         ],
         "Resource": [
           "arn:aws:secretsmanager:*:*:secret:*"
         ],
         "Condition": {
           "StringEquals": {
             "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
           }
         }
       },
       {
         "Sid": "AllowWorkspaceCollaboration",
         "Effect": "Allow",
         "Action": [
           "iam:GetUser",
           "iam:GetRole",
           "iam:ListUsers",
           "iam:ListRoles",
           "sso:GetManagedApplicationInstance",
           "sso-directory:SearchUsers"
         ],
         "Resource": [
           "*"
         ]
       }
     ]
   }
   ```

------

1. EMR Studio の Amazon S3 の場所への読み取りおよび書き込みアクセス権をサービスロールに付与します。次の最小アクセス許可セットを使用します。詳細は、「[Amazon S3: S3 バケットのオブジェクトへの読み取りおよび書き込みアクセスをプログラムによりコンソールで許可する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_s3_rw-bucket-console.html)」の例を参照してください。

   ```
   "s3:PutObject",
   "s3:GetObject",
   "s3:GetEncryptionConfiguration",
   "s3:ListBucket",
   "s3:DeleteObject"
   ```

   Amazon S3 バケットを暗号化する場合は、 AWS Key Management Serviceの以下のアクセス許可を含めます。

   ```
   "kms:Decrypt",
   "kms:GenerateDataKey",
   "kms:ReEncryptFrom",
   "kms:ReEncryptTo",
   "kms:DescribeKey"
   ```

1. Git シークレットへのアクセスをユーザーレベルで制御する場合は、EMR Studio **ユーザーロールポリシー**で `secretsmanager:GetSecretValue` へタグベースのアクセス許可を追加し、EMR Studio **サービスロールポリシー**から `secretsmanager:GetSecretValue` ポリシーへのアクセス許可を削除します。きめ細かいユーザーのアクセス許可の設定方法の詳細については、「[EMR Studio ユーザーのアクセス許可ポリシーの作成](emr-studio-user-permissions.md#emr-studio-permissions-policies)」を参照してください。

## EMR Serverless の最小限のサービスロール
<a name="emr-studio-service-role-serverless"></a>

EMR Studio ノートブックを介して EMR Serverless でインタラクティブなワークロードを実行する場合は、前のセクション ([Amazon EC2 または Amazon EKS で EMR Studio 用にサービスロールを作成する方法](#emr-studio-service-role-instructions)) で EMR Studio の設定に使用したのと同じ信頼ポリシーを使用します。

IAM ポリシーでは、実用最小限のポリシーには次のようなアクセス許可があります。EMR Studio と Workspace を設定するときに使用する予定のバケットの名前で `bucket-name` を更新します。EMR Studio はこのバケットを使用して Studio 内の Workspace とノートブックファイルをバックアップします。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ObjectActions",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::bucket-name/*"
      ]
    },
    {
      "Sid": "BucketActions",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetEncryptionConfiguration"
      ],
      "Resource": [
        "arn:aws:s3:::bucket-name"
      ]
    }
  ]
}
```

------

暗号化された Amazon S3 バケットを使用する場合は、ポリシーに以下のアクセス許可を追加します。

```
"kms:Decrypt",
"kms:GenerateDataKey",
"kms:ReEncryptFrom",
"kms:ReEncryptTo",
"kms:DescribeKey"
```

## EMR Studio サービスロールのアクセス許可
<a name="emr-studio-service-role-permissions-table"></a>

次の表に、EMR Studio がサービスロールを使用して実行するオペレーションと、各オペレーションに必要な IAM アクションを示します。


| 運用 | アクション | 
| --- | --- | 
| Workspace と EMR クラスターの間にセキュアネットワークチャネルを確立し、必要なクリーンアップアクションを実行する。 |  <pre>"ec2:CreateNetworkInterface", <br />"ec2:CreateNetworkInterfacePermission", <br />"ec2:DeleteNetworkInterface", <br />"ec2:DeleteNetworkInterfacePermission", <br />"ec2:DescribeNetworkInterfaces", <br />"ec2:ModifyNetworkInterfaceAttribute", <br />"ec2:AuthorizeSecurityGroupEgress", <br />"ec2:AuthorizeSecurityGroupIngress", <br />"ec2:CreateSecurityGroup",<br />"ec2:DescribeSecurityGroups", <br />"ec2:RevokeSecurityGroupEgress",<br />"ec2:DescribeTags",<br />"ec2:DescribeInstances",<br />"ec2:DescribeSubnets",<br />"ec2:DescribeVpcs",<br />"elasticmapreduce:ListInstances", <br />"elasticmapreduce:DescribeCluster", <br />"elasticmapreduce:ListSteps"</pre>  | 
| に保存されている Git 認証情報 AWS Secrets Manager を使用して、Git リポジトリを Workspace にリンクします。 |  <pre>"secretsmanager:GetSecretValue"</pre>  | 
| セキュアネットワークチャネルの設定中に EMR Studio が作成するネットワークインターフェイスとデフォルトのセキュリティグループに AWS タグを適用します。詳細については、「[AWS リソースのタグ付け](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)」を参照してください。 |  <pre>"ec2:CreateTags"</pre>  | 
| ノートブックファイルとメタデータにアクセスする、それらを Amazon S3 にアップロードする。 |  <pre>"s3:PutObject",<br />"s3:GetObject",<br />"s3:GetEncryptionConfiguration",<br />"s3:ListBucket",<br />"s3:DeleteObject" </pre> 暗号化された Amazon S3 バケットを使用する場合は、以下のアクセス許可を含めます。 <pre>"kms:Decrypt",<br />"kms:GenerateDataKey",<br />"kms:ReEncryptFrom",<br />"kms:ReEncryptTo",<br />"kms:DescribeKey"</pre>  | 
| Workspace コラボレーションを有効にして設定します。 |  <pre>"iam:GetUser",<br />"iam:GetRole",<br />"iam:ListUsers",<br />"iam:ListRoles",<br />"sso:GetManagedApplicationInstance",<br />"sso-directory:SearchUsers",<br />"sso:DescribeApplication",<br />"sso:DescribeInstance"</pre>  | 
| [ でカスタマーマネージドキー (CMK) を使用して EMR Studio ワークスペースノートブックとファイルを暗号化する AWS Key Management Service](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-workspace-storage-encryption)  |  <pre>"kms:Decrypt",<br />"kms:GenerateDataKey",<br />"kms:ReEncryptFrom",<br />"kms:ReEncryptTo",<br />"kms:DescribeKey"</pre>  | 

# Amazon EC2 または Amazon EKS 用の EMR Studio ユーザーアクセス許可の設定
<a name="emr-studio-user-permissions"></a>

きめ細かなユーザーおよびグループのアクセス許可を設定できるように、Amazon EMR Studio のユーザーアクセス許可ポリシーを設定する必要があります。EMR Studio でのユーザーアクセス許可の仕組みについては、「[Amazon EMR Studio の仕組み](how-emr-studio-works.md)」の「[アクセスコントロール](how-emr-studio-works.md#emr-studio-access-control)」を参照してください。

**注記**  
このセクションで説明するアクセス許可は、データアクセスコントロールを適用しません。入力データセットへのアクセスを管理するには、Studio が使用するクラスターのアクセス許可を設定する必要があります。詳細については、「[Amazon EMR でのセキュリティ](emr-security.md)」を参照してください。

## IAM Identity Center 認証モードの EMR Studio ユーザーロールの作成
<a name="emr-studio-create-user-role"></a>

IAM Identity Center 認証モードを使用する場合、EMR Studio ユーザーロールを作成する必要があります。

**EMR Studio のユーザーロールを作成するには**

1. [「 ユーザーガイド」の AWS 「 サービスにアクセス許可を委任](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)するロールの作成」の手順に従って、ユーザーロールを作成します。 *AWS Identity and Access Management *

   ロールを作成する場合、次の信頼関係ポリシーを使用します。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "sts:AssumeRole",
           "sts:SetContext"
         ],
         "Resource": "arn:aws:iam::123456789012:role/EMRStudioServiceRole",
         "Sid": "AllowSTSAssumerole"
       }
     ]
   }
   ```

------

1. デフォルトのロールアクセス許可およびポリシーを削除します。

1. ユーザーとグループを Studio に割り当てる前に、EMR Studio セッションポリシーをユーザーロールにアタッチします。セッションポリシーを作成する方法の手順については、「[EMR Studio ユーザーのアクセス許可ポリシーの作成](#emr-studio-permissions-policies)」を参照してください。

## EMR Studio ユーザーのアクセス許可ポリシーの作成
<a name="emr-studio-permissions-policies"></a>

EMR Studio のアクセス許可ポリシーを作成するには、次のセクションを参照してください。

**Topics**
+ [アクセス許可ポリシーを作成します。](#emr-studio-permissions-policies-create)
+ [Workspace コラボレーションの所有権の設定](#emr-studio-workspace-collaboration-permissions)
+ [ユーザーレベルの Git シークレットポリシーの作成](#emr-studio-permissions-policies-git)
+ [アクセス許可ポリシーを IAM ID にアタッチする](#emr-studio-permissions-policies-attach)

**注記**  
ノートブックファイルを保存するための Amazon S3 アクセス許可および Workspace を Git リポジトリにリンクしているときにシークレットを読み取るための AWS Secrets Manager アクセス許可を設定するには、EMR Studio サービスロールを使用します。

### アクセス許可ポリシーを作成します。
<a name="emr-studio-permissions-policies-create"></a>

ユーザーが Studio で実行できるアクションを指定する、1 つ以上の IAM アクセス許可ポリシーを作成します。たとえば、このページのサンプルポリシーを使用して、[基本]()、[中級]()、[上級]()の Studio ユーザーに対して 3 つの個別のポリシーを作成できます。

ユーザーが実行する可能性のある各 Studio 操作の内訳と、各操作を実行するために必要な最小限の IAM アクションについては、「[AWS Identity and Access Management EMR Studio ユーザーの アクセス許可](#emr-studio-iam-permissions-table)」を参照してください。ポリシーを作成する手順については、「*IAM ユーザー ガイド*」の「[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)」を参照してください。

アクセス許可ポリシーには以下のステートメントを含める必要があります。

```
{
            "Sid": "AllowAddingTagsOnSecretsWithEMRStudioPrefix",
            "Effect": "Allow",
            "Action": "secretsmanager:TagResource",
            "Resource": "arn:aws:secretsmanager:*:*:secret:emr-studio-*"
},
{
            "Sid": "AllowPassingServiceRoleForWorkspaceCreation",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::*:role/your-emr-studio-service-role"
            ],
            "Effect": "Allow"
}
```

### Workspace コラボレーションの所有権の設定
<a name="emr-studio-workspace-collaboration-permissions"></a>

Workspace コラボレーションでは、複数のユーザーは同じワークスペースで同時に作業できます。コラボレーションは Workspace UI の **[コラボレーション]** パネルを使用して設定できます。**[コラボレーション]** パネルを表示して使用する場合、ユーザーには以下のアクセス許可が必要です。これらのアクセス許可を持つユーザーなら誰でも **[コラボレーション]** パネルを表示して使用できます。

```
"elasticmapreduce:UpdateEditor",
"elasticmapreduce:PutWorkspaceAccess",
"elasticmapreduce:DeleteWorkspaceAccess",
"elasticmapreduce:ListWorkspaceAccessIdentities"
```

**[コラボレーション]** パネルへのアクセスを制限するには、タグベースのアクセス制御を使用します。ユーザーが Workspace を作成すると、EMR Studio は、Workspace を作成したユーザーの ID を値とする `creatorUserId` のキーの付いたデフォルトタグを適用します。

**注記**  
EMR Studio は、2021 年 11 月 16 日以降に作成されたワークスペースに `creatorUserId` タグを追加します。この日付より前に作成したワークスペースに対してコラボレーションを構成できるユーザーを制限するには、`creatorUserId` タグを Workspace に手動で追加してから、ユーザーアクセス許可ポリシーでタグベースのアクセス制御を使用することをお勧めします。

次のステートメント例では、ユーザーはユーザーの ID (ポリシー変数 `aws:userId` で指定) と一致する値を持つタグキー `creatorUserId` がある Workspace にコラボレーションを設定できます。つまり、このステートメントにより、ユーザーは自分で作成した Workspace にコラボレーションを設定できます。ポリシー変数の詳細については、「*IAM ユーザーガイド*」の「[IIAM ポリシーの要素: 変数とタグ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)」を参照してください。

```
    {
        "Sid": "UserRolePermissionsForCollaboration",
        "Action": [
            "elasticmapreduce:UpdateEditor",
            "elasticmapreduce:PutWorkspaceAccess",
            "elasticmapreduce:DeleteWorkspaceAccess",
            "elasticmapreduce:ListWorkspaceAccessIdentities"
        ],
        "Resource": "*",
        "Effect": "Allow",
        "Condition": {
            "StringEquals": {
                "elasticmapreduce:ResourceTag/creatorUserId": "${aws:userid}"
            }
        }
    }
```

### ユーザーレベルの Git シークレットポリシーの作成
<a name="emr-studio-permissions-policies-git"></a>

**Topics**
+ [ユーザーレベルのアクセス許可を使用するには](#emr-studio-permissions-policies-user)
+ [サービスレベルの権限からユーザーレベルの権限に移行するには](#emr-studio-permissions-policies-transition)
+ [サービスレベルのアクセス許可を使用するには](#emr-studio-permissions-policies-service)

#### ユーザーレベルのアクセス許可を使用するには
<a name="emr-studio-permissions-policies-user"></a>

EMR Studio は Git シークレットを作成するときに自動的に `for-use-with-amazon-emr-managed-user-policies` タグを追加します。Git シークレットへのアクセスをユーザーレベルで制御する場合は、以下の [サービスレベルの権限からユーザーレベルの権限に移行するには](#emr-studio-permissions-policies-transition) セクションに示すように、`secretsmanager:GetSecretValue` を使用して EMR Studio **ユーザーロールポリシー**にタグベースのアクセス許可を追加します。

EMR Studio **サービスロールポリシー**に既存の `secretsmanager:GetSecretValue` のアクセス許可がある場合は、それらのアクセス許可を削除する必要があります。

#### サービスレベルの権限からユーザーレベルの権限に移行するには
<a name="emr-studio-permissions-policies-transition"></a>

**注記**  
`for-use-with-amazon-emr-managed-user-policies` タグにより、以下の **[ステップ 1]** からのアクセス許可は、ワークスペースの作成者に Git シークレットへのアクセス許可を確実に付与します。ただし、2023 年 9 月 1 日より前に Git リポジトリをリンクした場合、対応する Git シークレットには `for-use-with-amazon-emr-managed-user-policies` タグが適用されていないためアクセスが拒否されます。ユーザーレベルの権限を適用するには、JupyterLab から古いシークレットを再作成し、適切な Git リポジトリを再度リンクする必要があります。  
ポリシー変数に関する詳細については、*IAM ユーザーガイド*の「[IAM ポリシー要素: 変数およびタグ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)」を参照してください。

1. [EMR Studio **ユーザーロールポリシー**](emr-studio-service-role.md)に次の権限を追加します。値 `"${aws:userid}"` のある `for-use-with-amazon-emr-managed-user-policies` キーを使用します。

   ```
   {
      "Sid": "AllowSecretsManagerReadOnlyActionsWithEMRTags",
       "Effect": "Allow",
       "Action": "secretsmanager:GetSecretValue",
       "Resource": "arn:aws:secretsmanager:*:*:secret:*",
       "Condition": {
           "StringEquals": {
               "secretsmanager:ResourceTag/for-use-with-amazon-emr-managed-user-policies": "${aws:userid}"
           }
       }
   }
   ```

1. 存在する場合は、[EMR Studio **サービスロールポリシー**](emr-studio-service-role.md)から次のアクセス許可を削除します。サービスロールポリシーは各ユーザーが定義したすべてのシークレットに適用されるため、この操作は 1 回のみで済みます。

   ```
   {
       "Sid": "AllowSecretsManagerReadOnlyActionsWithEMRTags", 
       "Effect": "Allow", 
       "Action": [ 
           "secretsmanager:GetSecretValue" 
        ], 
       "Resource": "arn:aws:secretsmanager:*:*:secret:*", 
       "Condition": {
           "StringEquals": {
               "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true" 
           } 
       } 
   }
   ```

#### サービスレベルのアクセス許可を使用するには
<a name="emr-studio-permissions-policies-service"></a>

2023 年 9 月 1 日以降、EMR Studio はユーザーレベルのアクセス制御用の `for-use-with-amazon-emr-managed-user-policies` タグを自動的に追加します。これは追加機能であるため、[EMR Studio サービスロール](emr-studio-service-role.md)の `GetSecretValue` アクセス許可を通じて利用できるサービスレベルのアクセスを引き続き使用できます。

2023 年 9 月 1 日より前に作成されたシークレットについては、EMR Studio は `for-use-with-amazon-emr-managed-user-policies` タグを追加しませんでした。サービスレベルのアクセス許可を引き続き使用するには、既存の [EMR Studio サービスロール](emr-studio-service-role.md)とユーザーロールのアクセス許可を保持するだけです。ただし、個々のシークレットにアクセスできるユーザーを制限するには、[ユーザーレベルのアクセス許可を使用するには](#emr-studio-permissions-policies-user) の手順に従って `for-use-with-amazon-emr-managed-user-policies` タグをシークレットに手動で追加してから、ユーザーアクセス許可ポリシーでタグベースのアクセス制御を使用することをお勧めします。

ポリシー変数に関する詳細については、*IAM ユーザーガイド*の「[IAM ポリシー要素: 変数およびタグ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)」を参照してください。

### アクセス許可ポリシーを IAM ID にアタッチする
<a name="emr-studio-permissions-policies-attach"></a>

次の表は、EMR Studio 認証モードに応じて、アクセス許可ポリシーをアタッチする IAM ID をまとめたものです。ポリシーをアタッチする方法については、「[IAM ID のアクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。


****  

| 使用するもの | ポリシーのアタッチ先 | 
| --- | --- | 
| IAM 認証 | IAM ID (ユーザー、ユーザーのグループ、ロール)。例えば、 AWS アカウントのユーザーにアクセス許可ポリシーをアタッチできます。 | 
| 外部 ID プロバイダー (IdP) による IAM フェデレーション |  外部 IdP 用に作成した 1 つ以上の IAM ロール。例えば、SAML 2.0 フェデレーション用の IAM などです。 EMR Studio は、Studio へのフェデレーションアクセス権を持つユーザーに対して、IAM ロールにアタッチしたアクセス許可を使用します。  | 
| IAM アイデンティティセンター | Amazon EMR Studio ユーザーロール。 | 

## ユーザーポリシーの例
<a name="emr-studio-example-policies"></a>

次の基本ユーザーポリシーでは、ほとんどの EMR Studio アクションが許可されますが、ユーザーが新しい Amazon EMR クラスターを作成することはできません。

### 基本的なポリシー
<a name="basic"></a>

**重要**  
サンプルポリシーには、`CreateStudioPresignedUrl` アクセス許可が含まれていません。このアクセス許可は、IAM 認証モードを使用する場合はユーザーに許可する必要があります。詳細については、「[EMR Studio にユーザーまたはグループを割り当てる](emr-studio-manage-users.md#emr-studio-assign-users-groups)」を参照してください。

サンプルポリシーには、EMR Studio のサンプルサービスロールでポリシーを使用できるように、タグベースのアクセスコントロール (TBAC) を適用する `Condition` 要素が含まれています。詳細については、「[EMR Studio サービスロールを作成する](emr-studio-service-role.md)」を参照してください。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowDefaultEC2SecurityGroupsCreationInVPCWithEMRTags",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateSecurityGroup"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:vpc/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "AllowAddingEMRTagsDuringDefaultSecurityGroupCreation",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:security-group/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true",
          "ec2:CreateAction": "CreateSecurityGroup"
        }
      }
    },
    {
      "Sid": "AllowSecretManagerListSecrets",
      "Action": [
        "secretsmanager:ListSecrets"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowSecretCreationWithEMRTagsAndEMRStudioPrefix",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:CreateSecret"
      ],
      "Resource": [
        "arn:aws:secretsmanager:*:*:secret:emr-studio-*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "AllowAddingTagsOnSecretsWithEMRStudioPrefix",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:TagResource"
      ],
      "Resource": [
        "arn:aws:secretsmanager:*:*:secret:emr-studio-*"
      ]
    },
    {
      "Sid": "AllowPassingServiceRoleForWorkspaceCreation",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/your-emr-studio-service-role>"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowS3ListAndLocationPermissions",
      "Action": [
        "s3:ListAllMyBuckets",
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowS3ReadOnlyAccessToLogs",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::aws-logs-aws-111122223333>-region>/elasticmapreduce/*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowConfigurationForWorkspaceCollaboration",
      "Action": [
        "elasticmapreduce:UpdateEditor",
        "elasticmapreduce:PutWorkspaceAccess",
        "elasticmapreduce:DeleteWorkspaceAccess",
        "elasticmapreduce:ListWorkspaceAccessIdentities"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow",
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/creatorUserId": "${aws:userId}"
        }
      }
    },
    {
      "Sid": "DescribeNetwork",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcs",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "ListIAMRoles",
      "Effect": "Allow",
      "Action": [
        "iam:ListRoles"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

次の中級ユーザーポリシーでは、ほとんどの EMR Studio アクションが許可され、ユーザーはクラスターテンプレートを使用して新しい Amazon EMR クラスターを作成できます。

### 中級ポリシー
<a name="intermediate"></a>

**重要**  
サンプルポリシーには、`CreateStudioPresignedUrl` アクセス許可が含まれていません。このアクセス許可は、IAM 認証モードを使用する場合はユーザーに許可する必要があります。詳細については、「[EMR Studio にユーザーまたはグループを割り当てる](emr-studio-manage-users.md#emr-studio-assign-users-groups)」を参照してください。

サンプルポリシーには、EMR Studio のサンプルサービスロールでポリシーを使用できるように、タグベースのアクセスコントロール (TBAC) を適用する `Condition` 要素が含まれています。詳細については、「[EMR Studio サービスロールを作成する](emr-studio-service-role.md)」を参照してください。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowEMRBasicActions",
      "Action": [
        "elasticmapreduce:CreateEditor",
        "elasticmapreduce:DescribeEditor",
        "elasticmapreduce:ListEditors",
        "elasticmapreduce:StartEditor",
        "elasticmapreduce:StopEditor",
        "elasticmapreduce:DeleteEditor",
        "elasticmapreduce:OpenEditorInConsole",
        "elasticmapreduce:AttachEditor",
        "elasticmapreduce:DetachEditor",
        "elasticmapreduce:CreateRepository",
        "elasticmapreduce:DescribeRepository",
        "elasticmapreduce:DeleteRepository",
        "elasticmapreduce:ListRepositories",
        "elasticmapreduce:LinkRepository",
        "elasticmapreduce:UnlinkRepository",
        "elasticmapreduce:DescribeCluster",
        "elasticmapreduce:ListInstanceGroups",
        "elasticmapreduce:ListBootstrapActions",
        "elasticmapreduce:ListClusters",
        "elasticmapreduce:ListSteps",
        "elasticmapreduce:CreatePersistentAppUI",
        "elasticmapreduce:DescribePersistentAppUI",
        "elasticmapreduce:GetPersistentAppUIPresignedURL",
        "elasticmapreduce:GetOnClusterAppUIPresignedURL"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowEMRContainersBasicActions",
      "Action": [
        "emr-containers:DescribeVirtualCluster",
        "emr-containers:ListVirtualClusters",
        "emr-containers:DescribeManagedEndpoint",
        "emr-containers:ListManagedEndpoints",
        "emr-containers:DescribeJobRun",
        "emr-containers:ListJobRuns"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowRetrievingManagedEndpointCredentials",
      "Effect": "Allow",
      "Action": [
        "emr-containers:GetManagedEndpointSessionCredentials"
      ],
      "Resource": [
        "arn:aws:emr-containers:us-west-1:123456789012:/virtualclusters/virtual-cluster-id/endpoints/managed-endpoint-id"
      ],
      "Condition": {
        "StringEquals": {
          "emr-containers:ExecutionRoleArn": [
            "arn:aws:iam::123456789012:role/emr-on-eks-execution-role"
          ]
        }
      }
    },
    {
      "Sid": "AllowSecretManagerListSecrets",
      "Action": [
        "secretsmanager:ListSecrets"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowSecretCreationWithEMRTagsAndEMRStudioPrefix",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:CreateSecret"
      ],
      "Resource": [
        "arn:aws:secretsmanager:*:*:secret:emr-studio-*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "AllowAddingTagsOnSecretsWithEMRStudioPrefix",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:TagResource"
      ],
      "Resource": [
        "arn:aws:secretsmanager:*:*:secret:emr-studio-*"
      ]
    },
    {
      "Sid": "AllowClusterTemplateRelatedIntermediateActions",
      "Action": [
        "servicecatalog:DescribeProduct",
        "servicecatalog:DescribeProductView",
        "servicecatalog:DescribeProvisioningParameters",
        "servicecatalog:ProvisionProduct",
        "servicecatalog:SearchProducts",
        "servicecatalog:UpdateProvisionedProduct",
        "servicecatalog:ListProvisioningArtifacts",
        "servicecatalog:ListLaunchPaths",
        "servicecatalog:DescribeRecord",
        "cloudformation:DescribeStackResources"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowPassingServiceRoleForWorkspaceCreation",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/your-emr-studio-service-role"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowS3ListAndLocationPermissions",
      "Action": [
        "s3:ListAllMyBuckets",
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowS3ReadOnlyAccessToLogs",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::aws-logs-123456789012-us-east-1/elasticmapreduce/*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowConfigurationForWorkspaceCollaboration",
      "Action": [
        "elasticmapreduce:UpdateEditor",
        "elasticmapreduce:PutWorkspaceAccess",
        "elasticmapreduce:DeleteWorkspaceAccess",
        "elasticmapreduce:ListWorkspaceAccessIdentities"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow",
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/creatorUserId": "${aws:userId}"
        }
      }
    },
    {
      "Sid": "DescribeNetwork",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcs",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "ListIAMRoles",
      "Effect": "Allow",
      "Action": [
        "iam:ListRoles"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AllowServerlessActions",
      "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",
        "emr-serverless:GetDashboardForJobRun",
        "emr-serverless:AccessInteractiveEndpoints"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowPassingRuntimeRoleForRunningServerlessJob",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/serverless-runtime-role"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------

次のアドバンストユーザーポリシーでは、すべての EMR Studio アクションが許可され、ユーザーはクラスターテンプレートを使用するか、クラスター設定を提供して新しい Amazon EMR クラスターを作成できます。

### アドバンストポリシー
<a name="advanced"></a>

**重要**  
サンプルポリシーには、`CreateStudioPresignedUrl` アクセス許可が含まれていません。このアクセス許可は、IAM 認証モードを使用する場合はユーザーに許可する必要があります。詳細については、「[EMR Studio にユーザーまたはグループを割り当てる](emr-studio-manage-users.md#emr-studio-assign-users-groups)」を参照してください。

サンプルポリシーには、EMR Studio のサンプルサービスロールでポリシーを使用できるように、タグベースのアクセスコントロール (TBAC) を適用する `Condition` 要素が含まれています。詳細については、「[EMR Studio サービスロールを作成する](emr-studio-service-role.md)」を参照してください。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowEMRBasicActions",
      "Action": [
        "elasticmapreduce:CreateEditor",
        "elasticmapreduce:DescribeEditor",
        "elasticmapreduce:ListEditors",
        "elasticmapreduce:StartEditor",
        "elasticmapreduce:StopEditor",
        "elasticmapreduce:DeleteEditor",
        "elasticmapreduce:OpenEditorInConsole",
        "elasticmapreduce:AttachEditor",
        "elasticmapreduce:DetachEditor",
        "elasticmapreduce:CreateRepository",
        "elasticmapreduce:DescribeRepository",
        "elasticmapreduce:DeleteRepository",
        "elasticmapreduce:ListRepositories",
        "elasticmapreduce:LinkRepository",
        "elasticmapreduce:UnlinkRepository",
        "elasticmapreduce:DescribeCluster",
        "elasticmapreduce:ListInstanceGroups",
        "elasticmapreduce:ListBootstrapActions",
        "elasticmapreduce:ListClusters",
        "elasticmapreduce:ListSteps",
        "elasticmapreduce:CreatePersistentAppUI",
        "elasticmapreduce:DescribePersistentAppUI",
        "elasticmapreduce:GetPersistentAppUIPresignedURL",
        "elasticmapreduce:GetOnClusterAppUIPresignedURL"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowEMRContainersBasicActions",
      "Action": [
        "emr-containers:DescribeVirtualCluster",
        "emr-containers:ListVirtualClusters",
        "emr-containers:DescribeManagedEndpoint",
        "emr-containers:ListManagedEndpoints",
        "emr-containers:DescribeJobRun",
        "emr-containers:ListJobRuns"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowRetrievingManagedEndpointCredentials",
      "Effect": "Allow",
      "Action": [
        "emr-containers:GetManagedEndpointSessionCredentials"
      ],
      "Resource": [
        "arn:aws:emr-containers:*:123456789012:/virtualclusters/virtual-cluster-id/endpoints/managed-endpoint-id"
      ],
      "Condition": {
        "StringEquals": {
          "emr-containers:ExecutionRoleArn": [
            "arn:aws:iam::123456789012:role/emr-on-eks-execution-role"
          ]
        }
      }
    },
    {
      "Sid": "AllowSecretManagerListSecrets",
      "Action": [
        "secretsmanager:ListSecrets"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowSecretCreationWithEMRTagsAndEMRStudioPrefix",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:CreateSecret"
      ],
      "Resource": [
        "arn:aws:secretsmanager:*:*:secret:emr-studio-*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true"
        }
      }
    },
    {
      "Sid": "AllowAddingTagsOnSecretsWithEMRStudioPrefix",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:TagResource"
      ],
      "Resource": [
        "arn:aws:secretsmanager:*:*:secret:emr-studio-*"
      ]
    },
    {
      "Sid": "AllowClusterTemplateRelatedIntermediateActions",
      "Action": [
        "servicecatalog:DescribeProduct",
        "servicecatalog:DescribeProductView",
        "servicecatalog:DescribeProvisioningParameters",
        "servicecatalog:ProvisionProduct",
        "servicecatalog:SearchProducts",
        "servicecatalog:UpdateProvisionedProduct",
        "servicecatalog:ListProvisioningArtifacts",
        "servicecatalog:ListLaunchPaths",
        "servicecatalog:DescribeRecord",
        "cloudformation:DescribeStackResources"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowEMRCreateClusterAdvancedActions",
      "Action": [
        "elasticmapreduce:RunJobFlow"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowPassingServiceRoleForWorkspaceCreation",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/your-emr-studio-service-role",
        "arn:aws:iam::*:role/EMR_DefaultRole_V2",
        "arn:aws:iam::*:role/EMR_EC2_DefaultRole"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowS3ListAndLocationPermissions",
      "Action": [
        "s3:ListAllMyBuckets",
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowS3ReadOnlyAccessToLogs",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::aws-logs-123456789012-us-east-1/elasticmapreduce/*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowConfigurationForWorkspaceCollaboration",
      "Action": [
        "elasticmapreduce:UpdateEditor",
        "elasticmapreduce:PutWorkspaceAccess",
        "elasticmapreduce:DeleteWorkspaceAccess",
        "elasticmapreduce:ListWorkspaceAccessIdentities"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow",
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/creatorUserId": "${aws:userId}"
        }
      }
    },
    {
      "Sid": "SageMakerDataWranglerForEMRStudio",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePresignedDomainUrl",
        "sagemaker:DescribeDomain",
        "sagemaker:ListDomains",
        "sagemaker:ListUserProfiles"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "DescribeNetwork",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcs",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "ListIAMRoles",
      "Effect": "Allow",
      "Action": [
        "iam:ListRoles"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AllowServerlessActions",
      "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",
        "emr-serverless:GetDashboardForJobRun",
        "emr-serverless:AccessInteractiveEndpoints"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowPassingRuntimeRoleForRunningServerlessJob",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/serverless-runtime-role"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowCodeWhisperer",
      "Effect": "Allow",
      "Action": [
        "codewhisperer:GenerateRecommendations"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AllowAthenaSQL",
      "Action": [
        "athena:StartQueryExecution",
        "athena:StopQueryExecution",
        "athena:GetQueryExecution",
        "athena:GetQueryRuntimeStatistics",
        "athena:GetQueryResults",
        "athena:ListQueryExecutions",
        "athena:BatchGetQueryExecution",
        "athena:GetNamedQuery",
        "athena:ListNamedQueries",
        "athena:BatchGetNamedQuery",
        "athena:UpdateNamedQuery",
        "athena:DeleteNamedQuery",
        "athena:ListDataCatalogs",
        "athena:GetDataCatalog",
        "athena:ListDatabases",
        "athena:GetDatabase",
        "athena:ListTableMetadata",
        "athena:GetTableMetadata",
        "athena:ListWorkGroups",
        "athena:GetWorkGroup",
        "athena:CreateNamedQuery",
        "athena:GetPreparedStatement",
        "glue:CreateDatabase",
        "glue:DeleteDatabase",
        "glue:GetDatabase",
        "glue:GetDatabases",
        "glue:UpdateDatabase",
        "glue:CreateTable",
        "glue:DeleteTable",
        "glue:BatchDeleteTable",
        "glue:UpdateTable",
        "glue:GetTable",
        "glue:GetTables",
        "glue:BatchCreatePartition",
        "glue:CreatePartition",
        "glue:DeletePartition",
        "glue:BatchDeletePartition",
        "glue:UpdatePartition",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:BatchGetPartition",
        "kms:ListAliases",
        "kms:ListKeys",
        "kms:DescribeKey",
        "lakeformation:GetDataAccess",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListMultipartUploadParts",
        "s3:AbortMultipartUpload",
        "s3:PutObject",
        "s3:PutBucketPublicAccessBlock",
        "s3:ListAllMyBuckets"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------

次のユーザーポリシーには、EMR Studio Workspace で EMR Serverless インタラクティブアプリケーションを使用するために必要な最低限のユーザーアクセス許可が含まれています。

### EMR Serverless インタラクティブポリシー
<a name="serverless-interactive"></a>

EMR Studio での EMR Serverless インタラクティブアプリケーションのユーザーアクセス許可が含まれる次のポリシー例では、*serverless-runtime-role* および *emr-studio-service-role* のプレースホルダーを適切な [EMR Studio サービスロール](emr-studio-service-role.md)および [EMR Serverless ランタイムロール](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html)で置き換えます。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowServerlessActions",
      "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",
        "emr-serverless:GetDashboardForJobRun",
        "emr-serverless:AccessInteractiveEndpoints"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowEMRBasicActions",
      "Action": [
        "elasticmapreduce:CreateEditor",
        "elasticmapreduce:DescribeEditor",
        "elasticmapreduce:ListEditors",
        "elasticmapreduce:UpdateStudio",
        "elasticmapreduce:StartEditor",
        "elasticmapreduce:StopEditor",
        "elasticmapreduce:DeleteEditor",
        "elasticmapreduce:OpenEditorInConsole",
        "elasticmapreduce:AttachEditor",
        "elasticmapreduce:DetachEditor",
        "elasticmapreduce:CreateStudio",
        "elasticmapreduce:DescribeStudio",
        "elasticmapreduce:DeleteStudio",
        "elasticmapreduce:ListStudios",
        "elasticmapreduce:CreateStudioPresignedUrl"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowPassingRuntimeRoleForRunningEMRServerlessJob",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/serverless-runtime-role"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowPassingServiceRoleForWorkspaceCreation",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/emr-studio-service-role"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowS3ListAndGetPermissions",
      "Action": [
        "s3:ListAllMyBuckets",
        "s3:ListBucket",
        "s3:GetBucketLocation",
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "DescribeNetwork",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcs",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "ListIAMRoles",
      "Effect": "Allow",
      "Action": [
        "iam:ListRoles"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

## AWS Identity and Access Management EMR Studio ユーザーの アクセス許可
<a name="emr-studio-iam-permissions-table"></a>

次の表には、ユーザーが実行できる各 Amazon EMR Studio オペレーションが含まれており、そのオペレーションを実行するために必要な最小の IAM アクションのリストを示しています。これらのアクションは、EMR Studio に対して IAM アクセス許可ポリシー (IAM 認証を使用する場合) またはユーザーロールセッションポリシー (IAM Identity Center 認証を使用する場合) で許可します。

この表には、EMR Studio のアクセス許可ポリシーの各例で許可されるオペレーションも表示されます。許可ポリシーの例の詳細については、「[EMR Studio ユーザーのアクセス許可ポリシーの作成](#emr-studio-permissions-policies)」を参照してください。


| Action | Basic | 中級 | アドバンスト | 関連アクション | 
| --- | --- | --- | --- | --- | 
| Workspace を作成および削除する | はい  | はい | はい |  <pre>"elasticmapreduce:CreateEditor", <br />"elasticmapreduce:DescribeEditor",<br />"elasticmapreduce:ListEditors", <br />"elasticmapreduce:DeleteEditor"</pre>  | 
| [コラボレーション] パネルを表示し、Workspace コラボレーションを有効にして、コラボレーターを追加します。詳細については、「[Workspace コラボレーションの所有権の設定](#emr-studio-workspace-collaboration-permissions)」を参照してください。 | はい  | はい | はい |  <pre>"elasticmapreduce:UpdateEditor",<br />"elasticmapreduce:PutWorkspaceAccess",<br />"elasticmapreduce:DeleteWorkspaceAccess",<br />"elasticmapreduce:ListWorkspaceAccessIdentities"</pre>  | 
| 新しい EMR クラスターの作成時に Studio と同じアカウントの Amazon S3 Control ストレージバケットのリストを表示し、ウェブ UI を使用してアプリケーションをデバッグするときにコンテナログにアクセスする | はい  | はい | はい |  <pre>"s3:ListAllMyBuckets",<br />"s3:ListBucket", <br />"s3:GetBucketLocation",<br />"s3:GetObject"</pre>  | 
| Workspace にアクセスする | はい  | はい | はい |  <pre>"elasticmapreduce:DescribeEditor", <br />"elasticmapreduce:ListEditors",<br />"elasticmapreduce:StartEditor", <br />"elasticmapreduce:StopEditor",<br />"elasticmapreduce:OpenEditorInConsole"</pre>  | 
| Workspace に関連付けられている既存の Amazon EMR クラスターをアタッチまたはデタッチする | はい  | はい | はい |  <pre>"elasticmapreduce:AttachEditor",<br />"elasticmapreduce:DetachEditor",<br />"elasticmapreduce:ListClusters",<br />"elasticmapreduce:DescribeCluster",<br />"elasticmapreduce:ListInstanceGroups",<br />"elasticmapreduce:ListBootstrapActions"</pre>  | 
| Amazon EMR on EKS クラスターをアタッチまたはデタッチする  | はい  | はい | はい |  <pre>"elasticmapreduce:AttachEditor", <br />"elasticmapreduce:DetachEditor",<br />"emr-containers:ListVirtualClusters", <br />"emr-containers:DescribeVirtualCluster",<br />"emr-containers:ListManagedEndpoints",<br />"emr-containers:DescribeManagedEndpoint",<br />"emr-containers:GetManagedEndpointSessionCredentials"</pre>  | 
| Workspace に関連付けられた EMR Serverless アプリケーションをアタッチまたはデタッチする | いいえ | はい | はい |  <pre>"elasticmapreduce:AttachEditor",<br />"elasticmapreduce:DetachEditor",<br />"emr-serverless:GetApplication",<br />"emr-serverless:StartApplication",<br />"emr-serverless:ListApplications",<br />"emr-serverless:GetDashboardForJobRun",<br />"emr-serverless:AccessInteractiveEndpoints",<br />"iam:PassRole"</pre> EMR Serverless ジョブのランタイムロールを渡すには、`PassRole` アクセス許可が必要です。詳細については、「*Amazon EMR Serverless ユーザーガイド*」の「[Job runtime roles](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html)」を参照してください。 | 
| 永続的なアプリケーションユーザーインターフェイスで Amazon EMR on EC2 ジョブをデバッグする | はい  | はい | はい |  <pre>"elasticmapreduce:CreatePersistentAppUI",<br />"elasticmapreduce:DescribePersistentAppUI",<br />"elasticmapreduce:GetPersistentAppUIPresignedURL",<br />"elasticmapreduce:ListClusters",<br />"elasticmapreduce:ListSteps",<br />"elasticmapreduce:DescribeCluster",<br />"s3:ListBucket",<br />"s3:GetObject"</pre>  | 
| クラスター上のアプリケーションユーザーインターフェイスで Amazon EMR on EC2 ジョブをデバッグする | はい  | はい | はい |  <pre>"elasticmapreduce:GetOnClusterAppUIPresignedURL"</pre>  | 
| Spark History Server を使用して Amazon EMR on EKS ジョブ実行をデバッグする | はい  | はい | はい |  <pre>"elasticmapreduce:CreatePersistentAppUI",<br />"elasticmapreduce:DescribePersistentAppUI",<br />"elasticmapreduce:GetPersistentAppUIPresignedURL",<br />"emr-containers:ListVirtualClusters",<br />"emr-containers:DescribeVirtualCluster",<br />"emr-containers:ListJobRuns",<br />"emr-containers:DescribeJobRun",<br />"s3:ListBucket",<br />"s3:GetObject"</pre>  | 
| Git リポジトリを作成および削除する | はい  | はい | はい |  <pre>"elasticmapreduce:CreateRepository", <br />"elasticmapreduce:DeleteRepository",<br />"elasticmapreduce:ListRepositories",<br />"elasticmapreduce:DescribeRepository",<br />"secretsmanager:CreateSecret",<br />"secretsmanager:ListSecrets",<br />"secretsmanager:TagResource"</pre>  | 
| Git リポジトリをリンクまたはリンク解除する | はい  | はい | はい |  <pre>"elasticmapreduce:LinkRepository",<br />"elasticmapreduce:UnlinkRepository",<br />"elasticmapreduce:ListRepositories",<br />"elasticmapreduce:DescribeRepository"</pre>  | 
| 定義済みのクラスターテンプレートから新しいクラスターを作成する | いいえ | はい | はい |  <pre>"servicecatalog:SearchProducts", <br />"servicecatalog:DescribeProduct",<br />"servicecatalog:DescribeProductView",<br />"servicecatalog:DescribeProvisioningParameters",<br />"servicecatalog:ProvisionProduct",<br />"servicecatalog:UpdateProvisionedProduct",<br />"servicecatalog:ListProvisioningArtifacts", <br />"servicecatalog:DescribeRecord",<br />"servicecatalog:ListLaunchPaths",<br />"cloudformation:DescribeStackResources", <br />"elasticmapreduce:ListClusters",<br />"elasticmapreduce:DescribeCluster"</pre>  | 
| クラスター設定を指定して新しいクラスターを作成します。 | いいえ | なし | はい |  <pre>"elasticmapreduce:RunJobFlow",<br />"iam:PassRole",<br />"elasticmapreduce:ListClusters",<br />"elasticmapreduce:DescribeCluster"</pre>  | 
| [IAM 認証モードを使用するときに、Studio にユーザーを割り当てます。](emr-studio-manage-users.md#emr-studio-assign-users-groups) | いいえ | なし | いいえ |  <pre>"elasticmapreduce:CreateStudioPresignedUrl"</pre>  | 
| ネットワークオブジェクト記述する。 | はい  | はい | はい |    JSON   

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DescribeNetwork",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcs",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```      | 
| IAM ロールを一覧表示する。 | はい  | はい | はい |    JSON   

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ListIAMRoles",
      "Effect": "Allow",
      "Action": [
        "iam:ListRoles"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```      | 
| [Amazon SageMaker AI から EMR Studio に接続し、Data Wrangler ビジュアルインターフェイスを使用します。](https://aws.amazon.com/blogs/machine-learning/prepare-data-from-amazon-emr-for-machine-learning-using-amazon-sagemaker-data-wrangler/) | いいえ | なし | はい |  <pre>"sagemaker:CreatePresignedDomainUrl",<br />"sagemaker:DescribeDomain",<br />"sagemaker:ListDomains",<br />"sagemaker:ListUserProfiles"</pre>  | 
| [EMR Studio で Amazon CodeWhisperer を使用します。](emr-studio-codewhisperer.md) | いいえ | なし | はい |  <pre>"codewhisperer:GenerateRecommendations"</pre>  | 
| [EMR Studio から Amazon Athena SQL エディターにアクセスします。](emr-studio-athena.md)このリストには、Athena のすべての機能を使用するために必要なすべてのアクセス許可が含まれていない場合があります。最新のリストについては、「[Athena のフルアクセスポリシー](https://docs.aws.amazon.com/athena/latest/ug/managed-policies.html#amazonathenafullaccess-managed-policy)」を参照してください。 | いいえ | なし | はい |  <pre>"athena:StartQueryExecution",<br />"athena:StopQueryExecution",<br />"athena:GetQueryExecution",<br />"athena:GetQueryRuntimeStatistics",<br />"athena:GetQueryResults",<br />"athena:ListQueryExecutions",<br />"athena:BatchGetQueryExecution",<br />"athena:GetNamedQuery",<br />"athena:ListNamedQueries",<br />"athena:BatchGetNamedQuery",<br />"athena:UpdateNamedQuery",<br />"athena:DeleteNamedQuery",<br />"athena:ListDataCatalogs",<br />"athena:GetDataCatalog",<br />"athena:ListDatabases",<br />"athena:GetDatabase",<br />"athena:ListTableMetadata",<br />"athena:GetTableMetadata",<br />"athena:ListWorkGroups",<br />"athena:GetWorkGroup",<br />"athena:CreateNamedQuery",<br />"athena:GetPreparedStatement",<br />"glue:CreateDatabase",<br />"glue:DeleteDatabase",<br />"glue:GetDatabase",<br />"glue:GetDatabases",<br />"glue:UpdateDatabase",<br />"glue:CreateTable",<br />"glue:DeleteTable",<br />"glue:BatchDeleteTable",<br />"glue:UpdateTable",<br />"glue:GetTable",<br />"glue:GetTables",<br />"glue:BatchCreatePartition",<br />"glue:CreatePartition",<br />"glue:DeletePartition",<br />"glue:BatchDeletePartition",<br />"glue:UpdatePartition",<br />"glue:GetPartition",<br />"glue:GetPartitions",<br />"glue:BatchGetPartition",<br />"kms:ListAliases",<br />"kms:ListKeys",<br />"kms:DescribeKey",<br />"lakeformation:GetDataAccess",<br />"s3:GetBucketLocation",<br />"s3:GetBucketLocation",<br />"s3:GetObject",<br />"s3:ListBucket",<br />"s3:ListBucketMultipartUploads",<br />"s3:ListMultipartUploadParts",<br />"s3:AbortMultipartUpload",<br />"s3:PutObject",<br />"s3:PutBucketPublicAccessBlock",<br />"s3:ListAllMyBuckets"</pre>  | 

# EMR Studio の作成
<a name="emr-studio-create-studio"></a>

Amazon EMR コンソールまたは AWS CLIを使用してチームの EMR Studio を作成できます。Studio インスタンスの作成は、Amazon EMR Studio の設定の一部です。

**前提条件**

Studio を作成する前に、「[EMR Studio の設定](emr-studio-set-up.md)」の前のタスクを完了していることを確認してください。

を使用して Studio を作成するには AWS CLI、最新バージョンがインストールされている必要があります。詳細については、「[Installing or updating the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

**重要**  
Studio を作成する前に、ブラウザで FoxyProxy や SwitchyOmega などのプロキシ管理ツールを無効にします。アクティブなプロキシを使用している場合、**[Create Studio]** (Studio の作成) を選択すると、**[Network Failure]** (ネットワーク障害) エラーメッセージが表示されることがあります。

 Amazon EMR では、Studio を作成するためのシンプルなコンソールエクスペリエンスが提供されるため、デフォルト設定から始めてインタラクティブなワークロードまたはバッチジョブを実行できます。EMR Studio を作成すると、インタラクティブジョブ用の EMR Serverless アプリケーションも作成されます。

Studio の設定を完全に制御する場合は、**[カスタム]** を選択して、すべての追加設定を構成できます。

------
#### [ Interactive workloads ]

**インタラクティブワークロード用の EMR Studio を作成するには**

1. [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr) で Amazon EMR コンソールを開きます。

1. 左側のナビゲーションの **[EMR Studio]** で、**[はじめに]** を選択します。**[Studios]** ページから新しい Studio を作成することもできます。

1. Amazon EMR では、インタラクティブワークロード用の EMR Studio を作成する場合のデフォルト設定が提供されますが、これらの設定は編集できます。設定可能な設定には、EMR Studio の名前、Workspace の S3 の場所、使用するサービスロール、使用する Workspace (複数可)、EMR Serverless アプリケーション名、および関連するランタイムロールが含まれます。

1. **[Studio を作成して Workspace を起動する]** を選択して終了し、**[Studios]** ページに移動します。新しい Studio がリストに表示され、**[Studio name]** (Studio 名)、**[Creation date]** (作成日)、**[Studio access URL]** (Studio アクセス URL) などの詳細が表示されます。Workspace がブラウザの新しいタブで開きます。

------
#### [ Batch jobs ]

**インタラクティブワークロード用の EMR Studio を作成するには**

1. [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr) で Amazon EMR コンソールを開きます。

1. 左側のナビゲーションの **[EMR Studio]** で、**[はじめに]** を選択します。**[Studios]** ページから新しい Studio を作成することもできます。

1. Amazon EMR では、バッチジョブ用の EMR Studio を作成する場合のデフォルト設定が提供されますが、これらの設定は編集できます。設定可能な設定には、EMR Studio の名前、EMR Serverless アプリケーション名、および関連するランタイムロールが含まれます。

1. **[Studio を作成して Workspace を起動する]** を選択して終了し、**[Studios]** ページに移動します。新しい Studio がリストに表示され、**[Studio name]** (Studio 名)、**[Creation date]** (作成日)、**[Studio access URL]** (Studio アクセス URL) などの詳細が表示されます。EMR Studio がブラウザの新しいタブで開きます。

------
#### [ Custom settings ]

**カスタム設定で EMR Studio を作成するには**

1. [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr) で Amazon EMR コンソールを開きます。

1. 左側のナビゲーションの **[EMR Studio]** で、**[はじめに]** を選択します。**[Studios]** ページから新しい Studio を作成することもできます。

1. **[Studio を作成]** を選択して、**[Studio を作成]** ページを開きます。

1. **スタジオ名**を入力します。

1. 新しい S3 バケットを作成するか、既存の場所を使用するかを選択します。

1. Studio に追加する Workspace を選択します。ワークスペースを 3 つまで追加できます。

1. **[Authentication]** (認証) で、Studio の認証モードを選択し、次の表に従って情報を入力します。EMR Studio の認証の詳細については、「[Amazon EMR Studio の認証モードの選択](emr-studio-authentication.md)」を参照してください。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-studio-create-studio.html)

1. VPC の場合、ドロップダウンリストから Studio の Amazon Virtual Private Cloud (**VPC**) を選択します。

1. **[Subnets]** (サブネット) の下で、Studio に関連付ける VPC 内のサブネットを最大 5 つ選択します。Studio を作成した後に、さらにサブネットを追加することもできます。

1. **[Security groups]** (セキュリティグループ) で、デフォルトのセキュリティグループまたはカスタムセキュリティグループのいずれかを選択します。詳細については、「[EMR Studio ネットワークトラフィックを制御するセキュリティグループを定義する](emr-studio-security-groups.md)」を参照してください。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-studio-create-studio.html)

1. Studio とその他のリソースにタグを追加するには タグの詳細については、「[クラスターのタグ付け](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html)」を参照してください。

1. **[Studio を作成して Workspace を起動する]** を選択して終了し、**[Studios]** ページに移動します。新しい Studio がリストに表示され、**[Studio name]** (Studio 名)、**[Creation date]** (作成日)、**[Studio access URL]** (Studio アクセス URL) などの詳細が表示されます。

Studio を作成したら、「[EMR Studio にユーザーまたはグループを割り当てる](emr-studio-manage-users.md#emr-studio-assign-users-groups)」の手順に従います。

------
#### [ CLI ]

**注記**  
読みやすくするために、Linux 行連続文字 (\$1) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

**Example - 認証に IAM を使用する EMR Studio を作成する**  
次の AWS CLI コマンド例では、IAM 認証モードで EMR Studio を作成します。Studio で IAM 認証またはフェデレーションを使用する場合は、`--user-role` を指定しません。  
フェデレーティッドユーザーが Studio URL と ID プロバイダー (IdP) の認証情報を使用してログインできるようにするには、`--idp-auth-url` と `--idp-relay-state-parameter-name` を指定します。IdP 認証 URL および RelayState 名のリストについては、「[ID プロバイダの RelayState パラメータと認証 URL](#emr-studio-idp-reference-table)」を参照してください。  

```
aws emr create-studio \
--name <example-studio-name> \
--auth-mode IAM \
--vpc-id <example-vpc-id> \
--subnet-ids <subnet-id-1> <subnet-id-2>... <subnet-id-5>  \
--service-role <example-studio-service-role-name> \
--user-role studio-user-role-name \
--workspace-security-group-id <example-workspace-sg-id> \
--engine-security-group-id <example-engine-sg-id> \
--default-s3-location <example-s3-location> \
--idp-auth-url <https://EXAMPLE/login/> \
--idp-relay-state-parameter-name <example-RelayState>
```

**Example – 認証に Identity Center を使用する EMR Studio を作成する**  
次のコマンド AWS CLI 例では、IAM Identity Center 認証モードを使用する EMR Studio を作成します。IAM Identity Center 認証を使用する場合は、`--user-role` を指定する必要があります。  
IAM Identity Center 認証モードの詳細については、「[Amazon EMR Studio の IAM Identity Center 認証モードの設定](emr-studio-authentication.md#emr-studio-enable-sso)」を参照してください。  

```
aws emr create-studio \
--name <example-studio-name> \
--auth-mode SSO \
--vpc-id <example-vpc-id> \
--subnet-ids <subnet-id-1> <subnet-id-2>... <subnet-id-5>  \
--service-role <example-studio-service-role-name> \
--user-role <example-studio-user-role-name> \
--workspace-security-group-id <example-workspace-sg-id> \
--engine-security-group-id <example-engine-sg-id> \
--default-s3-location <example-s3-location>
--trusted-identity-propagation-enabled \
--idc-user-assignment OPTIONAL \
--idc-instance-arn <iam-identity-center-instance-arn>
```

**Example - `aws emr create-studio` の CLI 出力**  
以下に、Studio の作成後に表示される出力の例を示します。  

```
{
    StudioId: "es-123XXXXXXXXX",
    Url: "https://es-123XXXXXXXXX.emrstudio-prod.us-east-1.amazonaws.com"
}
```

`create-studio` コマンドの詳細については、 「[https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio.html](https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio.html)」を参照してください。

------

## ID プロバイダの RelayState パラメータと認証 URL
<a name="emr-studio-idp-reference-table"></a>

IAM フェデレーションを使用していて、ユーザーが Studio URL と ID プロバイダー (IdP) の認証情報を使用してログインできるようにするには、「[EMR Studio の作成](#emr-studio-create-studio)」を行う際に **[Identity provider (IdP) login URL]** (ID プロバイダー (IdP) ログイン URL) および **[RelayState]** パラメータ名を指定できます。

次の表に、一般的な ID プロバイダーの標準の認証 URL および RelayState パラメータ名を示します。


| ID プロバイダー | パラメータ | 認証 URL | 
| --- | --- | --- | 
| Auth0 | RelayState | https://<sub\$1domain>.auth0.com/samlp/<app\$1id> | 
| Google アカウント | RelayState | https://accounts.google.com/o/saml2/initsso?idpid=<idp\$1id>&spid=<sp\$1id>&forceauthn=false | 
| Microsoft Azure | RelayState | https://myapps.microsoft.com/signin/<app\$1name>/<app\$1id>?tenantId=<tenant\$1id> | 
| Okta | RelayState | https://<sub\$1domain>.okta.com/app/<app\$1name>/<app\$1id>/sso/saml | 
| PingFederate | TargetResource | https://<host>/idp/<idp\$1id>/startSSO.ping?PartnerSpId=<sp\$1id> | 
| PingOne | TargetResource | https://sso.connect.pingidentity.com/sso/sp/initsso?saasid=<app\$1id>&idpid=<idp\$1id> | 

# EMR Studio ユーザーの割り当てと管理
<a name="emr-studio-manage-users"></a>

EMR Studio を作成したら、その Studio にユーザーとグループを割り当てることができます。ユーザーの割り当て、更新、削除に使用する方法は、Studio 認証モードによって異なります。
+ IAM 認証モードを使用する場合、IAM または IAM と ID プロバイダーで EMR Studio ユーザーの割り当てとアクセス許可を設定します。
+ IAM Identity Center 認証モードでは、Amazon EMR マネジメントコンソールまたは AWS CLI を使用してユーザーを管理します。

Amazon EMR Studio の認証の詳細については、「[Amazon EMR Studio の認証モードの選択](emr-studio-authentication.md)」を参照してください。

## EMR Studio にユーザーまたはグループを割り当てる
<a name="emr-studio-assign-users-groups"></a>

------
#### [ IAM ]

「[Amazon EMR Studio の IAM 認証モードの設定](emr-studio-authentication.md#emr-studio-iam-authentication)」を行う際に、ユーザーの IAM アクセス許可ポリシーで `CreateStudioPresignedUrl` アクションを許可し、ユーザーを特定の Studio に制限する必要があります。[IAM 認証モードのユーザーアクセス許可](how-emr-studio-works.md#emr-studio-iam-authorization) に `CreateStudioPresignedUrl` を含めるか、別のポリシーを使用できます。

ユーザーを特定の Studio (または Studio のセット) に制限するには、属性ベースのアクセスコントロール (ABAC) を使用するか、Studio の Amazon リソースネーム (ARN) をアクセス許可ポリシーの `Resource` 要素で指定できます。

**Example Studio ARN を使用してユーザーを Studio に割り当てる**  
次のポリシー例では、`CreateStudioPresignedUrl` アクションを許可し、`Resource` 要素に Studio の Amazon リソースネーム (ARN) を指定することで、ユーザーに特定の EMR Studio へのアクセス権を付与しています。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateStudioPresignedUrl",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:CreateStudioPresignedUrl"
      ],
      "Resource": [
        "arn:aws:elasticmapreduce:us-east-1:123456789012:studio/studio-id"
      ]
    }
  ]
}
```

**Example IAM 認証用に ABAC を使用して Studio にユーザーを割り当てる**  
Studio の属性ベースアクセスコントロール (ABAC) を設定する方法は複数あります。例えば、EMR Studio に 1 つ以上のタグをアタッチし、`CreateStudioPresignedUrl` アクションを、それらのタグを持つ特定の Studio または Studio のセットに制限する IAM ポリシーを作成できます。  
Studio の作成中または作成後にタグを追加できます。タグを既存の Studio に追加するには、[AWS CLI`emr add-tags`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/emr/add-tags.html) コマンドを使用します。次の例では、キーと値のペア `Team = Data Analytics` を持つタグを EMR Studio に追加します。  

```
aws emr add-tags --resource-id <example-studio-id> --tags Team="Data Analytics"
```
次のアクセス許可ポリシー例では、タグのキーと値のペア `Team = DataAnalytics` を持つ EMR Studio に対して `CreateStudioPresignedUrl` アクションを許可しています。タグを使用したアクセス制御の詳細については、「[タグを使用したユーザーおよびロールへのアクセスとそのユーザーおよびロールのアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html)」または「[タグを使用した AWS リソースへのアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)」を参照してください。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateStudioPresignedUrl",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:CreateStudioPresignedUrl"
      ],
      "Resource": [
        "arn:aws:elasticmapreduce:*:123456789012:studio/*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/Team": "Data Analytics"
        }
      }
    }
  ]
}
```

**Example aws:SourceIdentity グローバル条件キーを使用してユーザーを Studio に割り当てる**  
IAM フェデレーションを使用する場合、アクセス許可ポリシーでグローバル条件キー `aws:SourceIdentity` を使用して、フェデレーションの IAM ロールを引き受けるときに Studio へのアクセス権をユーザーに付与できます。  
まず、ユーザーが認証してフェデレーションの IAM ロールを引き受けるときに、E メールアドレスやユーザー名などの識別文字列を返すように ID プロバイダー (IdP) を設定する必要があります。IAM は、グローバル条件キー `aws:SourceIdentity` を IdP から返された識別文字列に設定します  
詳細については、 AWS Security Blog のブログ投稿「[How to relate IAM role activity to corporate identity](https://aws.amazon.com/blogs/security/how-to-relate-iam-role-activity-to-corporate-identity/)」およびグローバル条件キーのリファレンスの [Aaws:SourceIdentity](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceidentity) エントリを参照してください。  
次のポリシーの例では、`CreateStudioPresignedUrl` アクションを許可し、*<example-source-identity>* と一致する `aws:SourceIdentity` を持つユーザーに *<example-studio-arn>* で指定された EMR Studio へのアクセス権を付与しています。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:CreateStudioPresignedUrl"
      ],
      "Resource": [
        "arn:aws:elasticmapreduce:us-east-1:123456789012:studio/studio-name"
      ],
      "Condition": {
        "StringLike": {
          "aws:SourceIdentity": "example-source-identity"
        }
      },
      "Sid": "AllowELASTICMAPREDUCECreatestudiopresignedurl"
    }
  ]
}
```

------
#### [ IAM Identity Center ]

ユーザーまたはグループを EMR Studio に割り当てるときは、そのユーザーまたはグループに対して、新しい EMR クラスターを作成する機能など、きめ細かいアクセス許可を定義するセッションポリシーを指定します。Amazon EMR では、これらのセッションポリシーマッピングが保存されます。ユーザーまたはグループのセッションポリシーは、割り当て後に更新できます。

**注記**  
ユーザーまたはグループの最終的なアクセス許可は、EMR Studio ユーザーロールで定義されたアクセス許可と、そのユーザーまたはグループのセッションポリシーで定義されているアクセス許可の共通部分です。ユーザーが Studio に割り当てられた複数のグループに属している場合、EMR Studio はそのユーザーに対してアクセス許可の和集合を使用します。

**Amazon EMR コンソールを使用して EMR Studio にユーザーまたはグループを割り当てるには**

1. 新しい Amazon EMR コンソールに移動し、サイドナビゲーションから **[古いコンソールに切り替え]** を選択します。古いコンソールに切り替えたときの動作の詳細については、「[Using the old console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html#console-opt-in)」を参照してください。

1. 左のナビゲーションから **[EMR Studio]** を選択します。

1. Studio 名を **[Studios]** (Studio) リストから選択するか、Studio を選択して**[View details]** (詳細を表示) を選択して、Studio の詳細ページを開きます。

1. **[Add Users]** (ユーザーの追加) を選択して、**[Users]** (ユーザー) および **[Groups]** (グループ) 検索テーブルを表示します。

1. **[Users]** (ユーザー) タブまたは **[Groups]** (グループ) タブを選択し、検索バーに検索語を入力して、ユーザーまたはグループを検索します。

1. 検索結果リストから 1 つ以上のユーザーまたはグループを選択します。**[Users]** (ユーザー) タブと **[Groups]** (グループ) タブを切り替えることができます。

1. Studio に追加するユーザーおよびグループを選択したら、**[Add]** (追加) を選択します。ユーザーとグループが **[Studio users]** (Studio ユーザー) リストに表示されます。リストが更新されるまでに数秒かかることがあります。

1. 「[Studio に割り当てられたユーザーまたはグループのアクセス許可を更新する](#emr-studio-update-user)」の指示に従って、ユーザーまたはグループの Studio アクセス許可を絞り込みます。

** AWS CLIを使用して EMR Studio にユーザーまたはグループを割り当てるには**

次の `create-studio-session-mapping` 引数に独自の値を挿入します。`create-studio-session-mapping` コマンドの詳細については、「[https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html](https://docs.aws.amazon.com/cli/latest/reference/emr/create-studio-session-mapping.html)」を参照してください。
+ **`--studio-id`** - ユーザーまたはグループを割り当てる Studio の ID。Studio ID を取得する方法の手順については、「[Studio の詳細の表示](emr-studio-manage-studio.md#emr-studio-get-studio-id)」を参照してください。
+ `--identity-name` - ID ストアからのユーザーまたはグループの名前。詳細については、「*Identity Store API Reference*」のユーザーの「[UserName](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName)」およびグループの「[DisplayNam](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName)e」を参照してください。
+ **`--identity-type`** - `USER` または `GROUP` のいずれかを使用して、ID タイプを指定します。
+ **`--session-policy-arn`** - ユーザーまたはグループに関連付けるセッションポリシーの Amazon リソースネーム (ARN)。例えば、`arn:aws:iam::<aws-account-id>:policy/EMRStudio_Advanced_User_Policy` です。詳細については、「[EMR Studio ユーザーのアクセス許可ポリシーの作成](emr-studio-user-permissions.md#emr-studio-permissions-policies)」を参照してください。

```
aws emr create-studio-session-mapping \
 --studio-id <example-studio-id> \
 --identity-name <example-identity-name> \
 --identity-type <USER-or-GROUP> \
 --session-policy-arn <example-session-policy-arn>
```

**注記**  
読みやすくするために、Linux 行連続文字 (\$1) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

`get-studio-session-mapping` コマンドを使用して、新しい割り当てを確認します。*<example-identity-name>* は、更新したユーザーまたはグループの IAM Identity Center 名に置き換えてください。

```
aws emr get-studio-session-mapping \
 --studio-id <example-studio-id> \
 --identity-type <USER-or-GROUP> \
 --identity-name <user-or-group-name> \
```

------

## Studio に割り当てられたユーザーまたはグループのアクセス許可を更新する
<a name="emr-studio-update-user"></a>

------
#### [ IAM ]

IAM 認証モードを使用するときにユーザーまたはグループのアクセス許可を更新するには、IAM を使用して IAM ID (ユーザー、グループ、またはロール) にアタッチされた IAM アクセス許可ポリシーを変更します。

詳細については、「[IAM 認証モードのユーザーアクセス許可](how-emr-studio-works.md#emr-studio-iam-authorization)」を参照してください。

------
#### [ IAM Identity Center ]

****コンソールを使用してユーザーまたはグループの EMR Studio アクセス許可を更新するには****

1. 新しい Amazon EMR コンソールに移動し、サイドナビゲーションから **[古いコンソールに切り替え]** を選択します。古いコンソールに切り替えたときの動作の詳細については、「[Using the old console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html#console-opt-in)」を参照してください。

1. 左のナビゲーションから **[EMR Studio]** を選択します。

1. Studio 名を **[Studios]** (Studio) リストから選択するか、Studio を選択して**[View details]** (詳細を表示) を選択して、Studio の詳細ページを開きます。

1. Studio の詳細ページの **[Studio users]** (Studio ユーザー) リストで、更新するユーザーまたはグループを検索します。名前または ID タイプで検索できます。

1. 更新対象のユーザーまたはグループを選択し、**[Assign policy]** (ポリシーの割り当て) を選択して **[Session policy]** (セッションポリシー) ダイアログボックスを開きます。

1. 手順 5 で選択したユーザーまたはグループに適用するポリシーを選択し、**[Apply policy]** (ポリシーを適用) を選択します。**[Studio users]** (Studio ユーザー) リストでは、更新したユーザーまたはグループの **[Session policy]** (セッションポリシー) 列にポリシー名が表示されます。

**を使用してユーザーまたはグループの EMR Studio アクセス許可を更新するには AWS CLI**

次の `update-studio-session-mappings` 引数に独自の値を挿入します。`update-studio-session-mappings` コマンドの詳細については、「[https://docs.aws.amazon.com/cli/latest/reference/emr/update-studio-session-mapping.html](https://docs.aws.amazon.com/cli/latest/reference/emr/update-studio-session-mapping.html)」を参照してください。

```
aws emr update-studio-session-mapping \
 --studio-id <example-studio-id> \
 --identity-name <name-of-user-or-group-to-update> \
 --session-policy-arn <new-session-policy-arn-to-apply> \
 --identity-type <USER-or-GROUP> \
```

`get-studio-session-mapping` コマンドを使用して、新しいセッションポリシーの割り当てを確認します。*<example-identity-name>* は、更新したユーザーまたはグループの IAM Identity Center 名に置き換えてください。

```
aws emr get-studio-session-mapping \
 --studio-id <example-studio-id> \
 --identity-type <USER-or-GROUP> \
 --identity-name <user-or-group-name> \
```

------

## Studio からユーザーまたはグループを削除する
<a name="emr-studio-remove-user"></a>

------
#### [ IAM ]

IAM 認証モードを使用するときに EMR Studio からユーザーまたはグループを削除するには、ユーザーの IAM アクセス許可ポリシーを再構成して、Studio へのユーザーのアクセスを取り消す必要があります。

次のポリシーの例では、タグのキーと値のペア `Team = Quality Assurance` を持つ EMR Studio があると仮定します。ポリシーに従って、ユーザーは、値が `Data Analytics` または `Quality Assurance` のいずれかに等しい `Team` キーでタグ付けされた Studio にアクセスできます。`Team = Quality Assurance` でタグ付けされた Studio からユーザーを削除するには、タグ値のリストから `Quality Assurance` を削除します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateStudioPresignedUrl",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:CreateStudioPresignedUrl"
      ],
      "Resource": [
        "arn:aws:elasticmapreduce:us-east-1:123456789012:studio/*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticmapreduce:ResourceTag/Team": [
            "Data Analytics",
            "Quality Assurance"
          ]
        }
      }
    }
  ]
}
```

------

------
#### [ IAM Identity Center ]

****コンソールを使用して EMR Studio からユーザーまたはグループを削除するには****

1. 新しい Amazon EMR コンソールに移動し、サイドナビゲーションから **[古いコンソールに切り替え]** を選択します。古いコンソールに切り替えたときの動作の詳細については、「[Using the old console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html#console-opt-in)」を参照してください。

1. 左のナビゲーションから **[EMR Studio]** を選択します。

1. Studio 名を **[Studios]** (Studio) リストから選択するか、Studio を選択して**[View details]** (詳細を表示) を選択して、Studio の詳細ページを開きます。

1. Studio の詳細ページの **[Studio users]** (Studio ユーザー) リストで、Studio から削除するユーザーまたはグループを検索します。名前または ID タイプで検索できます。

1. 削除するユーザーまたはグループを選択し、**[Delete]** (削除) を選択して確認します。削除したユーザーまたはグループが、**[Studio users]** (Studio ユーザー) リストに表示されなくなります。

** AWS CLIを使用して EMR Studio からユーザーまたはグループを削除するには**

次の `delete-studio-session-mapping` 引数に独自の値を挿入します。`delete-studio-session-mapping` コマンドの詳細については、「[https://docs.aws.amazon.com/cli/latest/reference/emr/delete-studio-session-mapping.html](https://docs.aws.amazon.com/cli/latest/reference/emr/delete-studio-session-mapping.html)」を参照してください。

```
aws emr delete-studio-session-mapping \
 --studio-id <example-studio-id> \
 --identity-type <USER-or-GROUP> \
 --identity-name <name-of-user-or-group-to-delete> \
```

------