Я запускаю задание Glue Spark в учетной записи A с ролью A, и мне нужно получить доступ к этому каталогу с помощью AssumeRole → RoleB (в учетной записи B). IAM настроен правильно:
- RoleA может принять на себя роль B
- RoleB имеет доступ Glue + S3
- установлены политики ресурсов
Код: Выделить всё
SELECT * FROM database.table
Код: Выделить всё
config_options = {
"spark.sql.extensions": "org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions",
"spark.sql.catalog.idt_catalog": "org.apache.iceberg.spark.SparkCatalog",
"spark.sql.catalog.idt_catalog.catalog-impl": "org.apache.iceberg.aws.glue.GlueCatalog",
"spark.sql.catalog.idt_catalog.io-impl": "org.apache.iceberg.aws.s3.S3FileIO",
"spark.sql.catalog.idt_catalog.client.factory": "org.apache.iceberg.aws.AssumeRoleAwsClientFactory",
"spark.sql.catalog.idt_catalog.client.assume-role.arn": ROLE_B_ARN,
}
Код: Выделить всё
"SHOW TABLES IN idt_catalog.database"Код: Выделить всё
[TABLE_OR_VIEW_NOT_FOUND]