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á.
Configurar permissões de usuário do EMR Studio para Amazon EC2 ou Amazon EKS
Você deve configurar políticas de permissões de usuário para o Amazon EMR Studio para poder definir permissões refinadas de usuários e grupos. Para obter informações sobre como as permissões de usuário funcionam no EMR Studio, consulte Controle de acesso emComo o Amazon EMR Studio funciona.
nota
As permissões abordadas nesta seção não impõem controle de acesso a dados. Para gerenciar o acesso aos conjuntos de dados de entrada, você deve configurar permissões para os clusters que seu Studio usa. Para obter mais informações, consulte Segurança na Amazon EMR.
Crie uma função de usuário do EMR Studio para o modo de autenticação do IAM Identity Center
Você deve criar uma função de usuário do EMR Studio ao usar o modo de autenticação do IAM Identity Center.
Para criar uma função de usuário para o EMR Studio
-
Siga as instruções em Criação de uma função para delegar permissões a um AWS serviço no Guia do AWS Identity and Access Management usuário para criar uma função de usuário.
Ao criar o perfil, use a política de relação de confiança apresentada a seguir.
{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "elasticmapreduce.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }
-
Remova as permissões e as políticas de perfil padrão.
-
Antes de atribuir usuários e grupos a um Studio, anexe suas políticas de sessão do EMR Studio à função de usuário. Para obter instruções sobre como criar políticas de sessão, consulte Crie políticas de permissões para usuários do EMR Studio.
Crie políticas de permissões para usuários do EMR Studio
Consulte as seções a seguir para criar políticas de permissões para o EMR Studio.
Tópicos
nota
Para definir permissões de acesso ao Amazon S3 para armazenar arquivos de notebook e para definir permissões de AWS Secrets Manager acesso para ler segredos ao vincular espaços de trabalho a repositórios Git, use a função de serviço do Studio. EMR
Criação das políticas de permissões
Crie uma ou mais políticas de IAM permissões que especifiquem quais ações um usuário pode realizar no seu Studio. Por exemplo, é possível criar três políticas separadas para tipos de usuários básicos, intermediários e avançados do Studio com os exemplos de políticas nesta página.
Para obter um detalhamento de cada operação do Studio que um usuário pode realizar e as IAM ações mínimas necessárias para realizar cada operação, consulteAWS Identity and Access Management permissões para usuários do EMR Studio. Para ver as etapas para criar as políticas, consulte Criação de IAM políticas no Guia IAM do usuário.
Sua política de permissões deve incluir as instruções apresentadas a seguir.
{ "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" }
Definição de propriedade para colaboração no Workspace
A colaboração no Workspace permite que vários usuários trabalhem simultaneamente no mesmo Workspace e pode ser configurada com o painel Colaboração na interface do usuário do Workspace. Para visualizar e usar o painel Colaboração, o usuário deve ter as permissões apresentadas a seguir. Qualquer usuário com essas permissões poderá visualizar e usar o painel Colaboração.
"elasticmapreduce:UpdateEditor", "elasticmapreduce:PutWorkspaceAccess", "elasticmapreduce:DeleteWorkspaceAccess", "elasticmapreduce:ListWorkspaceAccessIdentities"
Para restringir o acesso ao painel Colaboração, é possível usar o controle de acesso por etiquetas. Quando um usuário cria um espaço de trabalho, o EMR Studio aplica uma tag padrão com uma chave creatorUserId
cujo valor é o ID do usuário que está criando o espaço de trabalho.
nota
EMRO Studio adiciona a creatorUserId
tag aos espaços de trabalho criados após 16 de novembro de 2021. Para restringir quem pode configurar a colaboração dos espaços de trabalhos criados antes dessa data, recomendamos adicionar manualmente a tag creatorUserId
ao seu Workspace e, em seguida, usar o controle de acesso por tags nas suas políticas de permissões de usuários.
A instrução de exemplo a seguir permite que um usuário configure a colaboração para qualquer Workspace com a chave de etiqueta creatorUserId
cujo valor corresponde ao ID do usuário (indicado pela variável de política aws:userId
). Em outras palavras, a instrução permite que um usuário configure a colaboração para os Workspaces criados por ele. Para saber mais sobre variáveis de política, consulte elementos de IAM política: variáveis e tags no Guia IAM do usuário.
{ "Sid": "UserRolePermissionsForCollaboration", "Action": [ "elasticmapreduce:UpdateEditor", "elasticmapreduce:PutWorkspaceAccess", "elasticmapreduce:DeleteWorkspaceAccess", "elasticmapreduce:ListWorkspaceAccessIdentities" ], "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "elasticmapreduce:ResourceTag/creatorUserId": "${aws:userid}" } } }
Criação de uma política de segredos do Git no nível de usuário
Tópicos
Para usar permissões no nível de usuário
EMRO Studio adiciona automaticamente a for-use-with-amazon-emr-managed-user-policies
tag ao criar segredos do Git. Se você quiser controlar o acesso aos segredos do Git no nível do usuário, adicione permissões baseadas em tags à política de função de usuário do EMR Studio secretsmanager:GetSecretValue
conforme mostrado na Para fazer a transição de permissões do nível de serviço para permissões do nível de usuário seção abaixo.
Se você tiver permissões existentes secretsmanager:GetSecretValue
na política de função de serviço do EMR Studio, remova essas permissões.
Para fazer a transição de permissões do nível de serviço para permissões do nível de usuário
nota
A tag for-use-with-amazon-emr-managed-user-policies
garante que as permissões da Etapa 1 abaixo concedam ao criador do espaço de trabalho acesso ao segredo do Git. No entanto, se você vinculou repositórios Git antes de 1.º de setembro de 2023, os segredos do Git correspondentes terão o acesso negado por não terem a tag for-use-with-amazon-emr-managed-user-policies
aplicada. Para aplicar permissões em nível de usuário, você deve recriar os segredos antigos JupyterLab e vincular os repositórios Git apropriados novamente.
Para obter mais informações sobre variáveis de política, consulte elementos de IAM política: variáveis e tags no Guia IAM do usuário.
-
Adicione as seguintes permissões à política de função de usuário do EMR Studio. A política usa a chave
for-use-with-amazon-emr-managed-user-policies
com valor"${aws:
.userid
}"{ "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
}" } } } -
Se presente, remova a seguinte permissão da política de função de serviço do EMR Studio. Como a política de perfil de serviço se aplica a todos os segredos definidos por cada usuário, você só precisa fazer isso uma vez.
{ "Sid": "AllowSecretsManagerReadOnlyActionsWithEMRTags", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:*:*:
secret
:*", "Condition": { "StringEquals": { "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true" } } }
Para usar permissões no nível de serviço
A partir de 1º de setembro de 2023, o EMR Studio adiciona automaticamente a for-use-with-amazon-emr-managed-user-policies
tag para controle de acesso em nível de usuário. Como esse é um recurso adicional, você pode continuar usando o acesso em nível de serviço que está disponível por meio da GetSecretValue
permissão na função de serviço do EMR Studio.
Para segredos criados antes de 1º de setembro de 2023, o EMR Studio não adicionou a for-use-with-amazon-emr-managed-user-policies
tag. Para continuar usando as permissões de nível de serviço, basta manter sua função de serviço do EMR Studio e suas permissões de função de usuário existentes. No entanto, para restringir quem pode acessar um segredo individual, recomendamos seguir as etapas em Para usar permissões no nível de usuário para adicionar manualmente a tag for-use-with-amazon-emr-managed-user-policies
aos seus segredos e, em seguida, usar o controle de acesso por tags nas suas políticas de permissões de usuários.
Para obter mais informações sobre variáveis de política, consulte elementos de IAM política: variáveis e tags no Guia IAM do usuário.
Anexe a política de permissões à sua IAM identidade
A tabela a seguir resume a qual IAM identidade você anexa uma política de permissões, dependendo do modo de autenticação do EMR Studio. Para obter instruções sobre como anexar uma política, consulte Adicionar e remover permissões de IAM identidade.
Se você usar... | Anexe a política para... |
---|---|
IAMautenticação | Suas IAM identidades (usuários, grupos de usuários ou funções). Por exemplo, é possível anexar uma política de permissões a um usuário em sua Conta da AWS. |
IAMfederação com um provedor de identidade externo (IdP) |
A IAM função ou funções que você cria para seu IdP externo. Por exemplo, uma federação IAM for SAML 2.0. EMRO Studio usa as permissões que você atribui às suas IAM funções para usuários com acesso federado a um Studio. |
IAMCentro de identidade | Sua função de usuário do Amazon EMR Studio. |
Exemplo de políticas de usuário
A política básica de usuário a seguir permite a maioria das ações do EMR Studio, mas não permite que um usuário crie novos EMR clusters da Amazon.
Importante
O exemplo de política não inclui a CreateStudioPresignedUrl
permissão, que você deve conceder a um usuário ao usar o modo de IAM autenticação. Para obter mais informações, consulte Atribuir um usuário ou grupo a um EMR estúdio.
O exemplo de política inclui Condition
elementos para impor o controle de acesso baseado em tags (TBAC) para que você possa usar a política com o exemplo de função de serviço do Studio. EMR Para obter mais informações, consulte Criar uma função de serviço do EMR Studio.
{ "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-account-id>
-<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":"*" } ] }
A política de usuário intermediário a seguir permite a maioria das ações do EMR Studio e permite que um usuário crie novos EMR clusters da Amazon usando um modelo de cluster.
Importante
O exemplo de política não inclui a CreateStudioPresignedUrl
permissão, que você deve conceder a um usuário ao usar o modo de IAM autenticação. Para obter mais informações, consulte Atribuir um usuário ou grupo a um EMR estúdio.
O exemplo de política inclui Condition
elementos para impor o controle de acesso baseado em tags (TBAC) para que você possa usar a política com o exemplo de função de serviço do Studio. EMR Para obter mais informações, consulte Criar uma função de serviço do EMR Studio.
{ "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:
<region>
:<account-id>
:/virtualclusters/<virtual-cluster-id>
/endpoints/<managed-endpoint-id>
" ], "Condition": { "StringEquals": { "emr-containers:ExecutionRoleArn": [ "arn:aws:iam::<account-id>
: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-<aws-account-id>
-<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":"*" }, { "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" } ] }
A política de usuário avançada a seguir permite todas as ações do EMR Studio e permite que um usuário crie novos EMR clusters da Amazon usando um modelo de cluster ou fornecendo uma configuração de cluster.
Importante
O exemplo de política não inclui a CreateStudioPresignedUrl
permissão, que você deve conceder a um usuário ao usar o modo de IAM autenticação. Para obter mais informações, consulte Atribuir um usuário ou grupo a um EMR estúdio.
O exemplo de política inclui Condition
elementos para impor o controle de acesso baseado em tags (TBAC) para que você possa usar a política com o exemplo de função de serviço do Studio. EMR Para obter mais informações, consulte Criar uma função de serviço do EMR Studio.
{ "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:
<region>
:<account-id>
:/virtualclusters/<virtual-cluster-id>
/endpoints/<managed-endpoint-id>
" ], "Condition": { "StringEquals": { "emr-containers:ExecutionRoleArn": [ "arn:aws:iam::<account-id>
: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-<aws-account-id>
-<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" : "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:GetBucketLocation", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:PutObject", "s3:PutBucketPublicAccessBlock", "s3:ListAllMyBuckets" ], "Resource": "*", "Effect": "Allow" } ] }
A política de usuário a seguir contém as permissões mínimas de usuário necessárias para usar um aplicativo interativo EMR sem servidor com o EMR Studio Workspaces.
Neste exemplo de política que tem permissões de usuário para aplicativos interativos EMR sem servidor com o EMR Studio, substitua os espaços reservados para serverless-runtime-role
e emr-studio-service-role
com sua função de serviço correta do EMR Studio e função de tempo de execução EMR sem servidor.
{ "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 permissões para usuários do EMR Studio
A tabela a seguir inclui cada operação do Amazon EMR Studio que um usuário pode realizar e lista as IAM ações mínimas necessárias para realizar essa operação. Você permite essas ações em suas políticas de IAM permissões (quando você usa IAM autenticação) ou em suas políticas de sessão de função de usuário (quando você usa a autenticação do IAM Identity Center) para o EMR Studio.
A tabela também exibe as operações permitidas em cada exemplo de política de permissões para o EMR Studio. Para obter mais informações sobre exemplos de políticas de permissões, consulte Crie políticas de permissões para usuários do EMR Studio.
Ação | Basic | Intermediário | Advanced (Avançado) | Ações associadas |
---|---|---|---|---|
Criação e exclusão de Workspaces | Sim | Sim | Sim |
|
Visualização do painel Colaboração, habilitação da colaboração no Workspace e adição de colaboradores. Para obter mais informações, consulte Definição de propriedade para colaboração no Workspace. | Sim | Sim | Sim |
|
Veja uma lista de buckets de Amazon S3 Control armazenamento na mesma conta do Studio ao criar um novo EMR cluster e acesse os registros do contêiner ao usar uma interface de usuário da web para depurar aplicativos | Sim | Sim | Sim |
|
Acesso aos Workspaces. | Sim | Sim | Sim |
|
Anexe ou desanexe EMR clusters existentes da Amazon associados ao Workspace | Sim | Sim | Sim |
|
Anexe ou desanexe a Amazon EMR em clusters EKS | Sim | Sim | Sim |
|
Anexar ou desanexar aplicativos EMR sem servidor associados ao espaço de trabalho | Não | Sim | Sim |
A |
Depure a Amazon EMR em EC2 trabalhos com interfaces de usuário de aplicativos persistentes | Sim | Sim | Sim |
|
Depure a Amazon EMR em EC2 trabalhos com interfaces de usuário de aplicativos em cluster | Sim | Sim | Sim |
|
Depure a Amazon EMR em execuções de EKS trabalhos usando o Spark History Server | Sim | Sim | Sim |
|
Criação e exclusão de repositórios Git. | Sim | Sim | Sim |
|
Vinculação e desvinculação de repositórios Git. | Sim | Sim | Sim |
|
Criação de novos clusters a partir de modelos de cluster definidos previamente. | Não | Sim | Sim |
|
Forneça uma configuração de cluster para criar clusters. | Não | Não | Sim |
|
Atribua um usuário a um Studio ao usar o modo de IAM autenticação. | Não | Não | Não |
|
Descrição dos objetos das redes. | Sim | Sim | Sim |
|
Listar IAM funções. | Sim | Sim | Sim |
|
Conecte-se ao EMR Studio a partir do Amazon SageMaker Studio e use a interface visual do Data Wrangler. |
Não | Não | Sim |
|
Use a Amazon CodeWhisperer em seu EMR estúdio. | Não | Não | Sim |
|
Acesse o SQL editor Amazon Athena a partir do seu EMR Studio. Essa lista pode não incluir todas as permissões necessárias para usar todos os recursos do Athena. Para ver a up-to-date lista completa, consulte a política de acesso total do Athena. | Não | Não | Sim |
|