

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Invocando AWS ParallelCluster a API
<a name="api-reference-invoke-v3"></a>

O endpoint do AWS ParallelCluster Amazon API Gateway é configurado com o [tipo de `AWS_IAM` autorização](https://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html#api-gateway-control-access-iam-permissions-model-for-calling-api) e exige que todas as solicitações sejam assinadas pelo SigV4 com credenciais válidas do IAM ([referência da API: fazer](https://docs.aws.amazon.com/apigateway/api-reference/making-http-requests/) solicitações http). 

Quando implantadas com configurações padrão, as permissões de invocação da API são concedidas somente ao usuário do IAM padrão criado com a API. 

Para recuperar o ARN do usuário do IAM padrão, execute: 

```
$ 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
```

Para obter credenciais temporárias para o usuário padrão do IAM, execute o AssumeRole comando [STS](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/assume-role.html).

Para recuperar o endpoint da AWS ParallelCluster API, execute o seguinte comando: 

```
$ 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
```

A AWS ParallelCluster API pode ser invocada por qualquer cliente HTTP que esteja em conformidade com as especificações da OpenAPI que podem ser encontradas aqui: 

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

As solicitações precisam ser assinadas com SigV4 conforme documentado [aqui](https://docs.aws.amazon.com/apigateway/api-reference/signing-requests). 

No momento, não oferecemos nenhuma implementação oficial de cliente de API. No entanto, você pode usar o [OpenAPI Generator](https://openapi-generator.tech/) para gerar facilmente clientes de API a partir do modelo OpenAPI. Depois que o cliente é gerado, a assinatura SigV4 precisa ser adicionada, se não for fornecida imediatamente. 

Uma implementação de referência para um cliente da API Python pode ser encontrada no [repositório do AWS ParallelCluster](https://github.com/aws/aws-parallelcluster/tree/develop/api/client/src). Para saber mais sobre como você pode usar o cliente da API Python, consulte o tutorial [Usando a AWS ParallelCluster API](tutorials_06_API_use.md).

[Para implementar mecanismos de controle de acesso mais avançados, como Amazon Cognito ou Lambda Authorizers, ou para proteger ainda mais a API com nossas chaves de API, siga a AWS WAF documentação do Amazon API Gateway.](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-to-api.html) 

**Atenção**  
Um usuário do IAM autorizado a invocar a AWS ParallelCluster API pode controlar indiretamente todos os AWS recursos AWS ParallelCluster gerenciados pelo. Conta da AWS Isso inclui a criação de AWS recursos que o usuário não pode controlar diretamente devido às restrições na política de IAM do usuário. Por exemplo, a criação de um AWS ParallelCluster cluster, dependendo de sua configuração, pode incluir a implantação de instâncias do Amazon EC2, Amazon Route 53, sistemas de arquivos Amazon Elastic File System, sistemas de FSx arquivos da Amazon, funções do IAM e recursos de outros Serviços da AWS usados por AWS ParallelCluster quem o usuário talvez não tenha controle direto.

**Atenção**  
Quando você cria um cluster com o `AdditionalIamPolicies` especificado na configuração, as políticas adicionais devem corresponder a um dos seguintes padrões:  

```
- !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
```
Se precisar de outras políticas adicionais, você pode realizar uma das seguintes ações:  
Editar o `DefaultParallelClusterIamAdminPolicy` em:  

  ```
  https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/parallelcluster-api.yaml
  ```
Adicione essa política na seção `ArnLike/iam:PolicyARN`.
Não especifique políticas para `AdditionalIamPolicies` o arquivo de configuração e adicione políticas manualmente à função de AWS ParallelCluster instância criada no cluster.