Risolvere problemi relativi ai gruppi di lavoro abilitati per Spark
Utilizza le informazioni seguenti per risolvere i problemi relativi ai gruppi di lavoro abilitati per Spark in Athena.
La sessione smette di rispondere quando si utilizza un ruolo IAM esistente
Se non ne hai creato un nuovo AWSAthenaSparkExecutionRole per il tuo gruppo di lavoro abilitato a Spark e hai invece aggiornato o scelto un ruolo IAM esistente, la tua sessione potrebbe smettere di rispondere. In questo caso, potrebbe essere necessario aggiungere le seguenti policy di attendibilità e autorizzazioni al ruolo di esecuzione del gruppo di lavoro abilitato a Spark.
Aggiungi la seguente policy di attendibilità. La policy prevede un controllo "confused deputy" per il ruolo esecutivo. Sostituisci i valori per 111122223333, aws-region e workgroup-name con l'ID dell'Account AWS, la Regione AWS e il gruppo di lavoro che stai utilizzando.
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "athena.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "111122223333"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:athena:us-east-1:111122223333:workgroup/workgroup-name"
}
}
}
]
}
Aggiungi una policy di autorizzazioni come la seguente policy predefinita per i gruppi di lavoro abilitati al notebook. Modifica le posizioni e gli ID Account AWS di Amazon S3 segnaposto in modo che corrispondano a quelli che stai utilizzando. Sostituisci i valori per amzn-s3-demo-bucket, aws-region, 111122223333 e workgroup-name con il bucket Amazon S3, la Regione AWS, l'ID dell'Account AWS e il gruppo di lavoro che stai utilizzando.
- JSON
-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [
"s3:PutObject", "s3:ListBucket", "s3:DeleteObject", "s3:GetObject" ], "Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket/*",
"arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Effect": "Allow",
"Action": [ "athena:GetWorkGroup", "athena:CreatePresignedNotebookUrl",
"athena:TerminateSession", "athena:GetSession", "athena:GetSessionStatus",
"athena:ListSessions", "athena:StartCalculationExecution", "athena:GetCalculationExecutionCode",
"athena:StopCalculationExecution", "athena:ListCalculationExecutions",
"athena:GetCalculationExecution", "athena:GetCalculationExecutionStatus",
"athena:ListExecutors", "athena:ExportNotebook", "athena:UpdateNotebook" ], "Resource":
"arn:aws:athena:us-east-1:111122223333:workgroup/workgroup-name"
}, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams",
"logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [
"arn:aws:logs:us-east-1:111122223333:log-group:/aws-athena:*",
"arn:aws:logs:us-east-1:111122223333:log-group:/aws-athena*:log-stream:*"
] }, { "Effect": "Allow", "Action": "logs:DescribeLogGroups", "Resource":
"arn:aws:logs:us-east-1:111122223333:log-group:*"
}, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition":
{ "StringEquals": { "cloudwatch:namespace": "AmazonAthenaForApacheSpark" } } } ] }