SageMaker Data Wrangler を使用して Amazon SageMaker Studio にデータをインポートするときのエラーのトラブルシューティング方法を教えてください。
最終更新日:2022-10-25
Amazon SageMaker Data Wrangler を使用して Amazon Simple Storage Service (Amazon S3) または Amazon Athena からデータをインポートしようとするとエラーが発生します。
解決方法
ライフサイクル権限エラー
Amazon Athena から Data Wrangler にデータをインポートしようとすると、次のエラーが表示されることがあります。
S3LifecyclePermissionError: You don't have permission to read expiration rules from the bucket that you specified.
このエラーは、ユーザープロファイルに関連付けられた SageMaker 実行ロールが、データ保持と有効期限を管理するための Amazon S3 ライフサイクル設定にアクセスするのに必要な権限がないために発生します。
このエラーを解決するには、次の AWS ID およびアクセス管理 (IAM) ポリシーを SageMaker 実行ロールに追加します (例:AmazonSageMaker-ExecutionRolle-XXXXXXXXXXX)。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "LifecycleConfig",
"Effect": "Allow",
"Action": [
"s3:GetLifecycleConfiguration",
"s3:PutLifecycleConfiguration"
],
"Resource": "*"
}
]
}
リソースには、アクセスが必要なリージョン固有のバケットのみを含めることができます。GetBucketLifecycleConfiguration はバケットに設定されているライフサイクル設定情報を返し、 PutBucketLifecycleConfiguration はバケットの新しいライフサイクル設定を作成します。
Access denied error (アクセス拒否エラー)
暗号化されていない出力設定で処理ジョブを実行すると、次のエラーが表示されることがあります。
com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied
このエラーは、次の理由により発生する可能性があります。
- SageMaker 実行ロールには、S3 オペレーションを実行するために必要な権限がありません。
- S3 バケットポリシーまたは Amazon Amazon Virtual Private Cloud (Amazon VPC) エンドポイントポリシーのいずれかが、 PutObject のアクセス権を明示的に拒否しています。これは、特定の AWS Key Management Service (AWS KMS) キーを提供して S3 バケットへの暗号化された接続のみを強制した場合に当てはまる可能性があります。
エラーを解決するには、次の操作を行います。
- SageMaker 実行ロールに S3 バケットオペレーションの最低限の権限があるかどうかを確認してください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"s3:CreateBucket",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::sagemaker-us-east-1-1111222233334444",
"arn:aws:s3:::sagemaker-us-east-1-1111222233334444/*"
]
}
]
}
- S3 バケットポリシーまたは VPC エンドポイントポリシーが S3 オペレーションに必要なアクセス権を明示的に拒否していないことを確認してください。
- データのインポート元である S3 バケット内のオブジェクトを復号化できる処理ジョブに AWS KMS キーを渡すことを検討してください。
- Amazon S3 のサーバー側の暗号化 を使用して保管時に暗号化された別の S3バケットを使用して、データをインポートすることを検討してください。