View a markdown version of this page

Configuration du rôle IAM - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration du rôle IAM

La CloudFormation pile des instructions de configuration automatise la configuration du rôle IAM pour vous. Si vous souhaitez l'exécuter manuellement, veuillez suivre les instructions ci-dessous :

Configuration du rôle IAM pour le serveur MCP

Modification à venir en vigueur le 29 mai 2026

Les sagemaker-unified-studio-mcp autorisations indiquées ci-dessous ne seront plus requises après le 29 mai 2026. L'autorisation se fera plutôt au niveau du AWS service en utilisant vos politiques IAM existantes. Si vous utilisez ces autorisations pour refuser l'accès, consultez la mise Prochaine modification des autorisations (29 mai 2026) à jour de vos politiques avant cette date.

Pour accéder au serveur MCP géré par SMUS, un rôle IAM est requis avec la politique en ligne suivante :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUseSagemakerUnifiedStudioMcpServer", "Effect": "Allow", "Action": [ "sagemaker-unified-studio-mcp:InvokeMcp", "sagemaker-unified-studio-mcp:CallReadOnlyTool", "sagemaker-unified-studio-mcp:CallPrivilegedTool" ], "Resource": [ "*" ] } ] }

Au cours des prochaines étapes, nous allons créer un profil pour ce rôle. Le compte qui assume ce rôle pour obtenir les informations d'identification doit être ajouté à la politique d'attribution du rôle.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccountToAssumeRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<accountId>:root" }, "Action": "sts:AssumeRole" } ] }

Autorisations supplémentaires par mode de déploiement (EMR-EC2/EMR-S/Glue)

EMR-EC2 Demandes

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EMREC2ReadAccess", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:DescribeStep", "elasticmapreduce:ListSteps", "elasticmapreduce:ListClusters", "elasticmapreduce:DescribeJobFlows" ], "Resource": [ "*" ] }, { "Sid": "EMRS3LogAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": "*" }, { "Sid": "EMRPersistentApp", "Effect": "Allow", "Action": [ "elasticmapreduce:CreatePersistentAppUI", "elasticmapreduce:DescribePersistentAppUI", "elasticmapreduce:GetPersistentAppUIPresignedURL" ], "Resource": [ "*" ] } ] }

Emplois pour Glue

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GlueReadAccess", "Effect": "Allow", "Action": [ "glue:GetJob", "glue:GetJobRun", "glue:GetJobRuns", "glue:GetJobs", "glue:BatchGetJobs" ], "Resource": [ "arn:aws:glue:*:<account id>:job/*" ] }, { "Sid": "GlueCloudWatchLogsAccess", "Effect": "Allow", "Action": [ "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": [ "arn:aws:logs:*:<account id>:log-group:/aws/glue/*" ] }, { "Sid": "GlueSparkWebUI", "Effect": "Allow", "Action": [ "glue:RequestLogParsing", "glue:GetLogParsingStatus", "glue:GetEnvironment", "glue:GetStage", "glue:GetStages", "glue:GetStageFiles", "glue:BatchGetStageFiles", "glue:GetStageAttempt", "glue:GetStageAttemptTaskList", "glue:GetStageAttemptTaskSummary", "glue:GetExecutors", "glue:GetExecutorsThreads", "glue:GetStorage", "glue:GetStorageUnit", "glue:GetQueries", "glue:GetQuery", "glue:GetDashboardUrl" ], "Resource": [ "arn:aws:glue:*:<account id>:job/*" ] }, { "Sid": "GluePassRoleAccess", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringLike": { "iam:PassedToService": "glue.amazonaws.com" } } } ] }

Applications EMR sans serveur

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessReadAccess", "Effect": "Allow", "Action": [ "emr-serverless:GetJobRun", "emr-serverless:GetApplication", "emr-serverless:ListApplications", "emr-serverless:ListJobRuns", "emr-serverless:ListJobRunAttempts", "emr-serverless:GetDashboardForJobRun", "emr-serverless:ListTagsForResource" ], "Resource": [ "*" ] }, { "Sid": "EMRServerlessCloudWatchLogsAccess", "Effect": "Allow", "Action": [ "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": [ "arn:aws:logs:*:<account id>:log-group:/aws/emr-serverless/*" ] }, { "Sid": "EMRServerlessS3LogsAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": "*" } ] }

Autorisations KMS - CloudWatch Journaux

Si les CloudWatch journaux sont chiffrés avec une clé CMK, ajoutez la politique suivante afin que le service puisse lire les journaux des EMR-Serverless applications.

{ "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "arn:aws:kms:<region>:<account-id>:key/<cw-logs-cmk-id>" }

Prochaine modification des autorisations (29 mai 2026)

À compter du 29 mai 2026, le serveur AWS SMUS MCP n'aura plus besoin d'autorisations IAM distinctes pour autoriser les opérations du serveur MCP. Au lieu de cela, l'autorisation se fera au niveau du AWS service en utilisant vos rôles et politiques IAM existants.

Deux clés de condition seront automatiquement ajoutées à toutes les demandes effectuées via le serveur SMUS MCP :

  • aws:ViaAWSMCPService— Paramétré sur true pour toute demande effectuée via un serveur MCP AWS géré.

  • aws:CalledViaAWSMCP— Défini sur le principal de service du serveur MCP (par exemple,sagemaker-unified-studio-mcp.amazonaws.com).

Si vous utilisez actuellement les sagemaker-unified-studio-mcp autorisations pour refuser l'accès au serveur SMUS MCP, ou si vous ne souhaitez autoriser aucune action initiée par le serveur MCP AWS géré sur votre compte, vous devez mettre à jour vos politiques avant le 29 mai 2026. Utilisez plutôt les nouvelles clés de condition.

Refusez toutes les opérations via n'importe quel serveur MCP AWS géré :

{ "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "Bool": { "aws:ViaAWSMCPService": "true" } } }

Refusez des opérations spécifiques via un serveur MCP AWS géré spécifique :

{ "Effect": "Deny", "Action": ["glue:GetJobRun", "glue:StartJobRun"], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaAWSMCP": "sagemaker-unified-studio-mcp.amazonaws.com" } } }

Pour plus d'informations sur les clés de condition, consultez la section clés contextuelles de condition AWS globales dans le guide de l'utilisateur IAM.