Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione delle autorizzazioni utente di EMR Studio per Amazon o EC2 Amazon EKS
È necessario configurare le policy di autorizzazione utente per Amazon EMR Studio in modo da poter impostare autorizzazioni granulari per utenti e gruppi. Per informazioni sul funzionamento delle autorizzazioni utente in EMR Studio, consulta Controllo accessi in Come funziona Amazon EMR Studio.
Nota
Le autorizzazioni descritte in questa sezione non applicano il controllo dell'accesso ai dati. Per gestire l'accesso ai set di dati di input, è necessario configurare le autorizzazioni per i cluster utilizzati da Studio. Per ulteriori informazioni, consulta Sicurezza in Amazon EMR.
Creazione di un ruolo utente di EMR Studio per la modalità di autenticazione IAM Identity Center
Quando utilizzi la modalità di autenticazione IAM Identity Center per EMR Studio, devi creare un ruolo utente.
Creazione di un ruolo utente per EMR Studio
-
Segui le istruzioni in Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'AWS Identity and Access Management utente per creare un ruolo utente.
Quando crei il ruolo, utilizza la seguente policy di relazione di attendibilità.
{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "elasticmapreduce.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }
-
Rimuovere le autorizzazioni e le policy di ruolo predefinite.
-
Prima di assegnare utenti e gruppi a uno Studio, collega le policy di sessione di EMR Studio al ruolo utente. Per ricevere istruzioni su come creare policy di sessione, consulta Creazione di policy di autorizzazione per gli utenti di EMR Studio.
Creazione di policy di autorizzazione per gli utenti di EMR Studio
Fai riferimento alle sezioni seguenti per creare policy di autorizzazione per EMR Studio.
Argomenti
Nota
Per impostare le autorizzazioni di accesso di Amazon S3 per la memorizzazione dei file notebook e le autorizzazioni di accesso di AWS Secrets Manager per leggere i segreti durante il collegamento dei workspace ai repository Git, utilizza il ruolo di servizio EMR Studio.
Creazione delle policy di autorizzazione
Crea una o più policy di autorizzazione IAM che specificano le operazioni che possono essere compiute da un utente in Studio. Ad esempio, utilizzando le policy di esempio in questa pagina, puoi creare tre policy separate per utenti di Studio base, intermedi e avanzati.
Per una suddivisione di ciascuna operazione di Studio che un utente può eseguire e per il numero minimo di azioni IAM necessarie per eseguire ciascuna operazione, consulta AWS Identity and Access Management autorizzazioni per gli utenti di EMR Studio. Per i passaggi per creare le policy, consulta Creazione di policy IAM nella Guida per l'utente di IAM.
La policy di autorizzazione deve includere le istruzioni seguenti.
{ "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" }
Imposta la proprietà per la collaborazione di Workspace
La collaborazione di Workspace consente a più utenti di lavorare contemporaneamente nello stesso Workspace e può essere configurata con il pannello Collaboration (Collaborazione) nell'interfaccia utente di Workspace. Per visualizzare e utilizzare il pannello Collaboration (Collaborazione), un utente deve disporre delle seguenti autorizzazioni. Tutti gli utenti con queste autorizzazioni possono visualizzare e utilizzare il pannello Collaboration (Collaborazione).
"elasticmapreduce:UpdateEditor", "elasticmapreduce:PutWorkspaceAccess", "elasticmapreduce:DeleteWorkspaceAccess", "elasticmapreduce:ListWorkspaceAccessIdentities"
Per limitare l'accesso al pannello Collaboration (Collaborazione), puoi utilizzare il controllo degli accessi basato su tag. Quando un utente crea un Workspace, EMR Studio applica un tag di default con una chiave creatorUserId
il cui valore è l'ID dell'utente che crea il Workspace.
Nota
EMR Studio aggiunge il tag creatorUserId
ai workspace creati dopo il 16 novembre 2021. Per limitare chi può configurare la collaborazione per i workspace creati prima di questa data, si consiglia di aggiungere manualmente il tag creatorUserId
al workspace e di utilizzare il controllo degli accessi basato su tag nelle policy di autorizzazione utente.
La seguente istruzione di esempio consente a un utente di configurare la collaborazione per tutti i Workspace con la chiave di tag creatorUserId
il cui valore corrisponde all'ID dell'utente (indicato dalla variabile aws:userId
della policy). In altre parole, l'istruzione consente a un utente di configurare la collaborazione per Workspace creati. Per ulteriori informazioni sulle variabili della policy, consulta Elementi delle policy IAM: variabili e tag nella Guida per l'utente di IAM.
{ "Sid": "UserRolePermissionsForCollaboration", "Action": [ "elasticmapreduce:UpdateEditor", "elasticmapreduce:PutWorkspaceAccess", "elasticmapreduce:DeleteWorkspaceAccess", "elasticmapreduce:ListWorkspaceAccessIdentities" ], "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "elasticmapreduce:ResourceTag/creatorUserId": "${aws:userid}" } } }
Creazione di una politcy di segreti Git a livello di utente
Argomenti
Per utilizzare le autorizzazioni a livello di utente
EMR Studio aggiunge automaticamente il tag for-use-with-amazon-emr-managed-user-policies
quando crea segreti Git. Se desideri controllare l'accesso ai segreti Git a livello di utente, aggiungi le autorizzazioni basate su tag alla policy del ruolo utente di EMR Studio con secretsmanager:GetSecretValue
come mostrato nella sezione Per passare dalle autorizzazioni a livello di servizio alle autorizzazioni a livello di utente seguente.
Se disponi di autorizzazioni esistenti per secretsmanager:GetSecretValue
nella policy del ruolo di servizio di EMR Studio, devi rimuovere tali autorizzazioni.
Per passare dalle autorizzazioni a livello di servizio alle autorizzazioni a livello di utente
Nota
Il tag for-use-with-amazon-emr-managed-user-policies
assicura che le autorizzazioni del Passaggio 1 di seguito concedano al creatore del workspace l'accesso al segreto Git. Tuttavia, se hai collegato i repository Git prima del 1° settembre 2023, ai segreti Git corrispondenti verrà negato l'accesso perché non hanno il tag for-use-with-amazon-emr-managed-user-policies
applicato. Per applicare le autorizzazioni a livello utente, devi ricreare i vecchi segreti JupyterLab e collegare nuovamente i repository Git appropriati.
Per ulteriori informazioni sulle variabili della policy, consulta Elementi delle policy IAM: variabili e tag nella Guida per l'utente di IAM.
-
Aggiungi le seguenti autorizzazioni alla policy del ruolo utente di EMR Studio. Viene utilizzata la chiave
for-use-with-amazon-emr-managed-user-policies
con il valore"${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, rimuovi la seguente autorizzazione dalla policy del ruolo di servizio di EMR Studio. Poiché la polcy del ruolo di servizio si applica a tutti i segreti definiti da ciascun utente, è necessario eseguire questa operazione una sola volta.
{ "Sid": "AllowSecretsManagerReadOnlyActionsWithEMRTags", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:*:*:
secret
:*", "Condition": { "StringEquals": { "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true" } } }
Per utilizzare le autorizzazioni a livello di servizio
A partire dal 1° settembre 2023, EMR Studio aggiunge automaticamente il tag for-use-with-amazon-emr-managed-user-policies
per il controllo degli accessi a livello di utente. Poiché si tratta di una funzionalità aggiuntiva, è possibile continuare a utilizzare l'accesso a livello di servizio disponibile tramite l'autorizzazione GetSecretValue
nel ruolo di servizio di EMR Studio.
Per i segreti creati prima del 1° settembre 2023, EMR Studio non ha aggiunto il tag for-use-with-amazon-emr-managed-user-policies
. Per continuare a utilizzare le autorizzazioni a livello di servizio, è sufficiente mantenere il ruolo di servizio di EMR Studio e le autorizzazioni del ruolo utente esistenti. Tuttavia, per limitare chi può accedere a un singolo segreto, si consiglia di seguire la procedura riportata in Per utilizzare le autorizzazioni a livello di utente per aggiungere manualmente il tag for-use-with-amazon-emr-managed-user-policies
ai segreti e di utilizzare il controllo degli accessi basato su tag nelle policy di autorizzazione utente.
Per ulteriori informazioni sulle variabili della policy, consulta Elementi delle policy IAM: variabili e tag nella Guida per l'utente di IAM.
Collegamento della policy di autorizzazione all'identità IAM
La tabella seguente riepiloga l'identità IAM a cui si collega una policy di autorizzazione, a seconda della modalità di autenticazione di EMR Studio. Per ricevere istruzioni su come allegare una policy, consulta Aggiunta e rimozione di autorizzazioni per identità IAM.
Se utilizzi... | Collega la policy a… |
---|---|
Autenticazione IAM | Le identità IAM (utenti, gruppi di utenti o ruoli). Ad esempio, prova a collegare una policy di autorizzazione a un utente nel Account AWS. |
Federazione IAM con un provider di identità esterno (IdP) |
Il ruolo o i ruoli IAM creati per il tuo IdP esterno. Per esempio, una federazione IAM per SAML 2.0. EMR Studio utilizza le autorizzazioni collegate ai ruoli IAM per l'utente o gli utenti con accesso federato a uno Studio. |
IAM Identity Center | Il tuo ruolo utente di Amazon EMR Studio. |
Esempi di policy utente
La seguente policy utente di base consente la maggior parte delle operazioni di EMR Studio, ma non consente a un utente di creare nuovi cluster Amazon EMR.
Importante
La policy di esempio non include l'autorizzazione CreateStudioPresignedUrl
, che è necessario concedere a un utente quando si utilizza la modalità di autenticazione IAM. Per ulteriori informazioni, consulta Assegnare un utente o un gruppo a un EMR Studio.
La policy di esempio include elementi Condition
per applicare il controllo degli accessi basato su tag (TBAC) in modo da poter utilizzare la policy con il ruolo di servizio di esempio per EMR Studio. Per ulteriori informazioni, consulta Creazione di un ruolo di servizio 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":"*" } ] }
La seguente policy utente intermedia consente la maggior parte delle operazioni di EMR Studio e consente a un utente di creare nuovi cluster Amazon EMR utilizzando un modello di cluster.
Importante
La policy di esempio non include l'autorizzazione CreateStudioPresignedUrl
, che è necessario concedere a un utente quando si utilizza la modalità di autenticazione IAM. Per ulteriori informazioni, consulta Assegnare un utente o un gruppo a un EMR Studio.
La policy di esempio include elementi Condition
per applicare il controllo degli accessi basato su tag (TBAC) in modo da poter utilizzare la policy con il ruolo di servizio di esempio per EMR Studio. Per ulteriori informazioni, consulta Creazione di un ruolo di servizio 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" } ] }
La seguente policy utente avanzata consente tutte le operazioni di EMR Studio e consente a un utente di creare nuovi cluster Amazon EMR utilizzando un modello di cluster o fornendo una configurazione cluster.
Importante
La policy di esempio non include l'autorizzazione CreateStudioPresignedUrl
, che è necessario concedere a un utente quando si utilizza la modalità di autenticazione IAM. Per ulteriori informazioni, consulta Assegnare un utente o un gruppo a un EMR Studio.
La policy di esempio include elementi Condition
per applicare il controllo degli accessi basato su tag (TBAC) in modo da poter utilizzare la policy con il ruolo di servizio di esempio per EMR Studio. Per ulteriori informazioni, consulta Creazione di un ruolo di servizio 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" } ] }
La seguente policy utente contiene le autorizzazioni utente minime necessarie per utilizzare un'applicazione interattiva EMR Serverless con EMR Studio WorkSpaces.
In questo esempio di policy che prevede le autorizzazioni utente per le applicazioni interattive EMR Serverless con EMR Studio, sostituisci i segnaposto serverless-runtime-role
per emr-studio-service-role
e con il ruolo di servizio EMR Studio e il ruolo di runtime EMR Serverless corretti.
{ "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 autorizzazioni per gli utenti di EMR Studio
La tabella seguente include ogni operazione di Amazon EMR Studio che un utente potrebbe eseguire ed elenca le azioni IAM minime necessarie per eseguire tale operazione. Consenti queste operazioni nelle policy di autorizzazione IAM (quando utilizzi l'autenticazione IAM) o nelle policy di sessione del ruolo utente (quando utilizzi l'autenticazione IAM Identity Center) per EMR Studio.
La tabella riporta inoltre le operazioni consentite in ciascuna delle policy di autorizzazione di esempio per EMR Studio. Per ulteriori informazioni su policy di autorizzazione di esempio, consulta Creazione di policy di autorizzazione per gli utenti di EMR Studio.
Azione | Base | Intermedia | Avanzata | Azioni associate |
---|---|---|---|---|
Creazione ed eliminazione di Workspace | Sì | Sì | Sì |
|
Visualizza il pannello Collaborazione, abilita la collaborazione di WorkSpace e aggiungi collaboratori. Per ulteriori informazioni, consulta Imposta la proprietà per la collaborazione di Workspace. | Sì | Sì | Sì |
|
Visualizza un elenco di bucket di Amazon S3 Control archiviazione nello stesso account di Studio quando crei un nuovo cluster EMR e accedi ai log dei contenitori quando utilizzi un'interfaccia utente Web per il debug delle applicazioni | Sì | Sì | Sì |
|
Accesso ai Workspace | Sì | Sì | Sì |
|
Collegamento o scollegamento di cluster Amazon EMR esistenti associati al Workspace | Sì | Sì | Sì |
|
Collegamento o scollegamento di cluster Amazon EMR su EKS | Sì | Sì | Sì |
|
Collegamento o scollegamento delle applicazioni EMR Serverless associate al Workspace | No | Sì | Sì |
L'autorizzazione |
Esegui il debug di Amazon EMR EC2 sui job con interfacce utente persistenti delle applicazioni | Sì | Sì | Sì |
|
Esegui il debug di Amazon EMR EC2 sui job con interfacce utente di applicazioni on-cluster | Sì | Sì | Sì |
|
Esecuzione del debug delle esecuzioni di processo Amazon EMR su EKS utilizzando Spark History Server | Sì | Sì | Sì |
|
Creazione ed eliminazione di repository Git | Sì | Sì | Sì |
|
Collegamento e scollegamento di repository Git | Sì | Sì | Sì |
|
Creazione di nuovi cluster da modelli di cluster predefiniti | No | Sì | Sì |
|
Fornisci una configurazione del cluster per creare nuovi cluster. | No | No | Sì |
|
Assegna un utente a uno Studio quando utilizzi la modalità di autenticazione IAM. | No | No | No |
|
Descrivi oggetti di rete. | Sì | Sì | Sì |
|
Elenca i ruoli IAM. | Sì | Sì | Sì |
|
Connettiti a EMR Studio da Amazon SageMaker AI Studio e usa l'interfaccia visiva Data Wrangler. |
No | No | Sì |
|
Usa Amazon CodeWhisperer nel tuo EMR Studio. | No | No | Sì |
|
Accedi all'editor SQL di Amazon Athena dal tuo EMR Studio. Questo elenco potrebbe non includere tutte le autorizzazioni necessarie per utilizzare tutte le funzionalità di Athena. Per la maggior parte dell' up-to-dateelenco, consulta la politica di accesso completo di Athena. | No | No | Sì |
|