正在调用 API Amazon ParallelCluster - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

正在调用 API Amazon ParallelCluster

Amazon ParallelCluster Amazon API Gateway 终端节点配置了AWS_IAM授权类型,要求所有请求都必须使用有效的 IAM 凭证进行 Sigv4 签名(API 参考:发出 http 请求)。

使用默认设置进行部署时,API 调用权限仅授予给使用 API 创建的默认 IAM 用户。

要检索默认 IAM 用户的 ARN,请运行:

$ REGION=<region> $ API_STACK_NAME=<stack-name> $ aws cloudformation describe-stacks --region ${REGION} --stack-name ${API_STACK_NAME} --query "Stacks[0].Outputs[?OutputKey=='ParallelClusterApiUserRole'].OutputValue" --output text

要获取默认 IAM 用户的临时证书,请运行 STS AssumeRole 命令。

要检索 Amazon ParallelCluster API 端点,请运行以下命令:

$ REGION=<region> $ API_STACK_NAME=<stack-name> $ aws cloudformation describe-stacks --region ${REGION} --stack-name ${API_STACK_NAME} --query "Stacks[0].Outputs[?OutputKey=='ParallelClusterApiInvokeUrl'].OutputValue" --output text

该 Amazon ParallelCluster API 可以由任何符合 OpenAPI 规范的 HTTP 客户端调用,可以在此处找到:

https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/ParallelCluster.openapi.yaml

请求必须按照此处所述进行 SigV4 签名。

目前,我们不提供任何官方 API 客户端实现。但是,您可以使用 OpenAPI 生成器轻松地从 OpenAPI 模型生成 API 客户端。生成客户端后,如果没有开箱即用,则需要添加 Sigv4 签名。

可以在 Amazon ParallelCluster 存储库中找到 Python API 客户端的参考实现。要详细了解如何使用 Python API 客户端,请参阅使用 Amazon ParallelCluster API 教程。

要实施更高级的访问控制机制,例如亚马逊 Cognito 或 Lambda 授权者,或者要使用或 API 密钥进一步保护 API,请按照 Amazon API Gateway 文档进行 Amazon WAF 操作。

警告

有权调用 Amazon ParallelCluster API 的 IAM 用户可以间接控制 Amazon ParallelCluster 中管理的所有 Amazon 资源 Amazon Web Services 账户。这包括创建由于用户 IAM 策略的限制而导致用户无法直接控制的 Amazon 资源。例如,根据集群的配置,创建 Amazon ParallelCluster 集群可能包括部署亚马逊 EC2 实例、Amazon Route 53、Amazon Elastic File System FSx 文件系统、Amazon 文件系统、IAM 角色以及用户可能无法直接控制的其他 Amazon Web Services 服务 资源。 Amazon ParallelCluster

警告

使用配置中AdditionalIamPolicies指定的方式创建集群时,其他策略必须与以下模式之一匹配:

- !Sub arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/parallelcluster* - !Sub arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/parallelcluster/* - !Sub arn:${AWS::Partition}:iam::aws:policy/CloudWatchAgentServerPolicy - !Sub arn:${AWS::Partition}:iam::aws:policy/AmazonSSMManagedInstanceCore - !Sub arn:${AWS::Partition}:iam::aws:policy/AWSBatchFullAccess - !Sub arn:${AWS::Partition}:iam::aws:policy/AmazonS3ReadOnlyAccess - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSBatchServiceRole - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AmazonEC2SpotFleetTaggingRole - !Sub arn:${AWS::Partition}:iam::aws:policy/EC2InstanceProfileForImageBuilder - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

如果需要其他策略,则可以执行以下操作之一:

  • 在以下文件中编辑 DefaultParallelClusterIamAdminPolicy

    https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/parallelcluster-api.yaml

    将策略添加在 ArnLike/iam:PolicyARN 部分中。

  • 不要在配置文件AdditionalIamPolicies中为指定策略,而是手动向在集群中创建的 Amazon ParallelCluster 实例角色添加策略。