View a markdown version of this page

Configuração da função do IAM - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configuração da função do IAM

A CloudFormation pilha nas Instruções de configuração automatiza a configuração da função do IAM para você. Se você quiser executá-lo manualmente, siga as instruções abaixo:

Configuração da função do IAM para o servidor MCP

Mudança futura em vigor em 29 de maio de 2026

As sagemaker-unified-studio-mcp permissões mostradas abaixo não serão mais necessárias após 29 de maio de 2026. Em vez disso, a autorização ocorrerá no nível do AWS serviço usando suas políticas atuais do IAM. Se você usar essas permissões para negar acesso, consulte Próxima alteração de permissões (29 de maio de 2026) para atualizar suas políticas antes dessa data.

Para acessar o servidor MCP gerenciado do SMUS, é necessária uma função do IAM com a seguinte política em linha:

{ "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": [ "*" ] } ] }

Nas próximas etapas, criaremos um perfil para essa função. Qualquer conta que assuma essa função para obter as credenciais deve ser adicionada à política de assumir função.

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

Permissões adicionais por modo de implantação (EMR-EC2/EMR-S/Glue)

EMR-EC2 Aplicações

{ "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": [ "*" ] } ] }

Glue Jobs

{ "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" } } } ] }

Aplicativos EMR sem servidor

{ "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": "*" } ] }

Permissões do KMS - Registros CloudWatch

Se os CloudWatch registros forem criptografados com uma CMK, adicione a política a seguir para que o serviço possa ler os registros do EMR-Serverless aplicativo.

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

Próxima alteração de permissões (29 de maio de 2026)

A partir de 29 de maio de 2026, o servidor MCP do AWS SMUS não precisará mais de permissões separadas do IAM para autorizar as operações do servidor MCP. Em vez disso, a autorização ocorrerá no nível do AWS serviço usando suas funções e políticas existentes do IAM.

Duas chaves de condição serão adicionadas automaticamente a todas as solicitações feitas por meio do servidor SMUS MCP:

  • aws:ViaAWSMCPService— Defina como true para qualquer solicitação feita por meio de um servidor MCP AWS gerenciado.

  • aws:CalledViaAWSMCP— Defina como principal de serviço do servidor MCP (por exemplo,sagemaker-unified-studio-mcp.amazonaws.com).

Se você atualmente usa as sagemaker-unified-studio-mcp permissões para negar acesso ao servidor MCP do SMUS ou se não deseja permitir nenhuma ação iniciada pelo servidor MCP AWS gerenciado em sua conta, você deve atualizar suas políticas antes de 29 de maio de 2026. Em vez disso, use as novas chaves de condição.

Negue todas as operações por meio de qualquer servidor MCP AWS gerenciado:

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

Negue operações específicas por meio de um servidor MCP AWS gerenciado específico:

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

Para obter mais informações sobre chaves de condição, consulte chaves de contexto de condição AWS global no Guia do usuário do IAM.