Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

199
Visualizações
Rol de AWS IAM en EC2 y acceso a S3 desde JupyterHub

En JupyterHub, instalado en una instancia EC2 con un rol de IAM que permite el acceso a un depósito S3 específico cuando intento acceder a un archivo en ese depósito con este código:

 s3nRdd = spark.sparkContext.textFile("s3n://bucket/file")

me sale este error:

IllegalArgumentException: u'AWS Access Key ID y Secret Access Key deben especificarse como nombre de usuario o contraseña (respectivamente) de una URL s3n, o configurando las propiedades fs.s3n.awsAccessKeyId o fs.s3n.awsSecretAccessKey (respectivamente).'

Sin embargo, cuando exporto la identificación de la clave de acceso de AWS y la clave de acceso secreta en la configuración del kernel que tiene la misma política que ese rol, la lectura de ese archivo se realiza correctamente.

Dado que la mejor práctica es utilizar roles de IAM, ¿por qué el rol de EC2 no funciona en esta situación?

--update-- El rol EC2 IAM tiene estas 2 políticas:

 { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1488892557621", "Action": "s3:*", "Effect": "Allow", "Resource": [ "arn:aws:s3:::<bucket_name>", "arn:aws:s3:::<bucket_name>/*" ] } ] } { "Version": "2012-10-17", "Statement": [ { "Action": "ec2:*", "Effect": "Allow", "Resource": "*" }, { "Sid": "Stmt1480684159000", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "*" ] } ] }

Además, estoy usando la versión 2.4.0 de Hadoop, que no es compatible con el protocolo s3a y la actualización no es una opción.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Debe crear una política de depósito para permitir el acceso desde determinados roles de IAM. Dado que S3 no confía en los roles, la API simplemente retrocede y solicita la clave de acceso.

Simplemente agregue algo como esto en su política de depósito, reemplace todos los parámetros <> personalizados con sus propios valores.

 { "Version": "2012-10-17", "Id": "EC2IAMaccesss", "Statement": [{ "Sid": "MyAppIAMRolesAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<acc_id>:role/<yourIAMroleName>" ] }, "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::<yourbucket>/*", "arn:aws:s3:::<yourbucket>" ] } ] }

(actualizaciones)

  1. Asegúrese de proporcionar la política adecuada a los roles de IAM de EC2, ya que los roles de IAM son muy potentes, no se adjunta ninguna política de fábrica. Debe asignar una política, por ejemplo, para un acceso mínimo a S3, agregue la política AWSS3ReadOnly a los roles.

  2. Es posible que encuentre problemas de interacción problemática de chispa con roles de IAM . Consulte la documentación sobre el acceso a Spark a través del esquema s3n:// . De lo contrario, utilice s3a://

over 4 years ago · Santiago Trujillo Relatório

0

S3n no es compatible con los roles de IAM y, de todos modos, la 2.4 es una versión muy desactualizada. No tiene tantos errores como 2.5 cuando se trata de s3n, pero sigue siendo menos que perfecto.

Si desea utilizar roles de IAM, tendrá que cambiar a S3a, y sí, para usted, eso significa actualizar Hadoop. perdón.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda