如何解决使用Amazon Sagemaker部署Tensorflow模型时的权限问题
我正在尝试使用Sagemaker部署Tensorflow模型并遇到以下权限问题-
ClientError:调用CreateModel操作时发生错误(AccessDeniedException):用户:arn:aws:sts :: account:assumed-role / SagemakerBasicRole / SageMaker无权执行:资源上的iam:PassRole:arn:aws :iam :: account:role / SagemakerBasicRole
SagemakerBasicRole
是我为Sagemaker创建的自定义角色。我在创建Jupyter Notebook时使用了此角色。
以下是该角色的相关政策-
IAMListRolesPolicy
看起来像这样-
{
"Version": "2012-10-17","Statement": [
{
"Sid": "VisualEditor0","Effect": "Allow","Action": [
"iam:PassRole","iam:ListRoleTags","iam:ListAttachedRolePolicies","iam:ListRoles","iam:ListRolePolicies","iam:GetPolicy","iam:GetPolicyVersion","iam:GetRole","iam:GetRolePolicy","iam:PassRole"
],"Resource": "*"
}
]
}
这是我用来部署TensorFlow模型的相关代码-
import tarfile,re
import tensorflow as tf
print(tf.__version__)
import boto3
import sagemaker
from sagemaker import get_execution_role
from sagemaker.tensorflow.model import TensorFlowModel
role = get_execution_role()
sagemaker_session = sagemaker.Session()
inputs = sagemaker_session.upload_data(path='model.tar.gz',key_prefix='model')
sagemaker_model = TensorFlowModel(model_data = 's3://' + sagemaker_session.default_bucket() + '/model/model.tar.gz',role = role,framework_version = '2.1.0',py_version = 'py3',entry_point = 'train.py')
predictor = sagemaker_model.deploy(initial_instance_count=1,instance_type='ml.m5.4xlarge')
我正在为此使用root帐户,但仍然遇到此权限问题。
另外,如果重要的话,我正在使用conda_tensorflow2_p36
作为jupyter笔记本的内核。
如何解决权限问题?我想念什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。