

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Titik akhir AWS ParallelCluster Amazon API Gateway dikonfigurasi dengan [jenis `AWS_IAM` otorisasi](https://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html#api-gateway-control-access-iam-permissions-model-for-calling-api), dan mengharuskan semua permintaan ditandatangani SigV4 dengan kredenal IAM yang valid (referensi [API](https://docs.aws.amazon.com/apigateway/api-reference/making-http-requests/): membuat permintaan http). 

Saat diterapkan dengan pengaturan default, izin pemanggilan API hanya diberikan kepada pengguna IAM default yang dibuat dengan API. 

Untuk mengambil ARN pengguna IAM default, jalankan: 

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

[Untuk mendapatkan kredensyal sementara untuk pengguna IAM default, jalankan perintah STS. AssumeRole](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/assume-role.html)

Untuk mengambil endpoint AWS ParallelCluster API, jalankan perintah berikut: 

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

 AWS ParallelCluster API dapat dipanggil oleh klien HTTP mana pun yang sesuai dengan spesifikasi OpenAPI yang dapat ditemukan di sini: 

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

[Permintaan harus ditandatangani SigV4 seperti yang didokumentasikan di sini.](https://docs.aws.amazon.com/apigateway/api-reference/signing-requests) 

Saat ini, kami tidak menawarkan implementasi klien API resmi apa pun. Namun, Anda dapat menggunakan [OpenAPI Generator](https://openapi-generator.tech/) untuk dengan mudah menghasilkan klien API dari model OpenAPI. Setelah klien dibuat, penandatanganan SigV4 perlu ditambahkan jika tidak disediakan di luar kotak. 

[Implementasi referensi untuk klien API Python dapat ditemukan di repositori.AWS ParallelCluster](https://github.com/aws/aws-parallelcluster/tree/develop/api/client/src) Untuk mempelajari lebih lanjut tentang bagaimana Anda dapat menggunakan klien API Python, lihat tutorialnya. [Menggunakan AWS ParallelCluster API](tutorials_06_API_use.md)

[Untuk menerapkan mekanisme kontrol akses yang lebih canggih, seperti Amazon Cognito atau Lambda Authorizers, atau untuk lebih melindungi API dengan AWS WAF atau kunci API, ikuti dokumentasi Amazon API Gateway.](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-to-api.html) 

**Awas**  
Pengguna IAM yang diberi wewenang untuk menjalankan AWS ParallelCluster API, secara tidak langsung dapat mengontrol semua AWS sumber daya yang dikelola oleh AWS ParallelCluster di. Akun AWS Ini termasuk pembuatan AWS sumber daya yang tidak dapat dikontrol pengguna secara langsung karena pembatasan kebijakan IAM pengguna. Misalnya, pembuatan AWS ParallelCluster klaster, tergantung pada konfigurasinya, mungkin termasuk penyebaran instans Amazon EC2, Amazon Route 53, sistem file Amazon Elastic File System, sistem file FSx Amazon, peran IAM, dan sumber daya Layanan AWS dari sumber lain yang AWS ParallelCluster digunakan oleh pengguna yang mungkin tidak memiliki kontrol langsung atas.

**Awas**  
Saat Anda membuat klaster dengan `AdditionalIamPolicies` ditentukan dalam konfigurasi, kebijakan tambahan harus cocok dengan salah satu pola berikut:  

```
- !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
```
Jika Anda memerlukan kebijakan tambahan lainnya, Anda dapat melakukan salah satu hal berikut:  
Edit `DefaultParallelClusterIamAdminPolicy` di:  

  ```
  https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/parallelcluster-api.yaml
  ```
Tambahkan kebijakan di `ArnLike/iam:PolicyARN` bagian.
Jangan tentukan kebijakan `AdditionalIamPolicies` dalam file konfigurasi dan tambahkan kebijakan secara manual ke Peran AWS ParallelCluster Instance yang dibuat dalam klaster.