【问题标题】:Amazon Sagemaker. AccessDeniedException when calling the InvokeEndpoint operation亚马逊贤者。调用 InvokeEndpoint 操作时出现 AccessDeniedException
【发布时间】:2019-01-17 02:44:23
【问题描述】:

我在 Amazon SageMaker 上部署了一个终端节点。 现在我正在尝试调用它。

如果我在 Sagemaker 的 Jupyter Notebook 中运行此代码:

client = boto3.client('sagemaker-runtime')
endpoint_name = 'DEMO-XGBoostEndpoint'
body = ','.join(['1.0'] * 6)
response = client.invoke_endpoint(EndpointName=endpoint_name,
                               ContentType='text/csv',
                               Body=body)
response['Body'].read()

它工作正常。

但如果我从我的机器运行相同的代码,并为 boto3 客户端添加凭据:

client = boto3.client('sagemaker-runtime', 
                       aws_access_key_id=ACCESS_ID,
                       aws_secret_access_key= ACCESS_KEY)
endpoint_name = 'DEMO-XGBoostEndpoint'
body = ','.join(['1.0'] * 6)
response = client.invoke_endpoint(EndpointName=endpoint_name,
                               ContentType='text/csv',
                               Body=body)
response['Body'].read()

我收到此错误:

ClientError:调用 InvokeEndpoint 操作时发生错误 (AccessDeniedException):用户:arn:aws:iam::249707424405:user/yury.logachev 无权执行:sagemaker:InvokeEndpoint on resource:arn:aws:sagemaker :us-east-1:249707424405:endpoint/demo-xgboostendpoint-2018-12-12-22-07-28 明确拒绝

如果我在 Sagemaker 的 Jupyter Notebook 上运行后一段代码(添加凭据作为客户端的参数),我也会收到相同的错误。

我知道解决方案应该与角色、策略等相关联,但找不到。

【问题讨论】:

    标签: amazon-web-services web amazon-sagemaker


    【解决方案1】:

    问题出在 MFA 授权上。 当我从模型内部调用模型时,MFA 被传递。 但是当我尝试从我的机​​器调用模型时,MFA 没有通过,所以访问被拒绝了。

    我创建了没有 MFA 的特殊用户来调试模型,这解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      • 2016-11-26
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多