Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
ApiAuth
Konfigurasikan otorisasi untuk mengontrol akses ke API Gateway API Anda.
Untuk informasi selengkapnya dan contoh untuk mengonfigurasi akses menggunakan AWS SAM lihatKontrol API akses dengan AWS SAM template Anda.
Sintaks
Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.
YAML
AddApiKeyRequiredToCorsPreflight:
Boolean
AddDefaultAuthorizerToCorsPreflight:Boolean
ApiKeyRequired:Boolean
Authorizers:CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM
DefaultAuthorizer:String
InvokeRole:String
ResourcePolicy:ResourcePolicyStatement
UsagePlan:ApiUsagePlan
catatan
Authorizers
Properti termasukAWS_IAM
, tetapi tidak ada konfigurasi tambahan yang diperlukan untukAWS_IAM
. Sebagai contoh, lihat AWS IAM.
Properti
-
AddApiKeyRequiredToCorsPreflight
-
Jika
Cors
propertiApiKeyRequired
dan diatur, maka pengaturanAddApiKeyRequiredToCorsPreflight
akan menyebabkan API kunci ditambahkan keOptions
properti.Tipe: Boolean
Wajib: Tidak
Default:
True
AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.
-
Jika
Cors
propertiDefaultAuthorizer
dan diatur, maka pengaturanAddDefaultAuthorizerToCorsPreflight
akan menyebabkan otorisasi default ditambahkan keOptions
properti di API bagian Buka.Tipe: Boolean
Wajib: Tidak
Default: BETUL
AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.
-
ApiKeyRequired
-
Jika disetel ke true maka API kunci diperlukan untuk semua API acara. Untuk informasi selengkapnya tentang API kunci, lihat Membuat dan Menggunakan Paket Penggunaan dengan API Kunci di Panduan Pengembang API Gateway.
Tipe: Boolean
Wajib: Tidak
AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.
-
Authorizer digunakan untuk mengontrol akses ke API Gateway API Anda.
Untuk informasi selengkapnya, lihat Kontrol API akses dengan AWS SAM template Anda.
Jenis: CognitoAuthorizer| LambdaTokenAuthorizer| LambdaRequestAuthorizer| AWS_IAM
Wajib: Tidak
Default: Tidak ada
AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.
Catatan tambahan: SAM menambahkan Authorizers ke OpenApi definisi Api.
-
Tentukan otorisasi default untuk API GatewayAPI, yang akan digunakan untuk mengotorisasi API panggilan secara default.
catatan
Jika Api EventSource untuk fungsi yang terkait dengan ini API dikonfigurasi untuk menggunakan IAM Izin, maka properti ini harus disetel ke
AWS_IAM
, jika tidak, kesalahan akan terjadi.Tipe: String
Wajib: Tidak
Default: Tidak ada
AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.
-
InvokeRole
-
Mengatur kredensial integrasi untuk semua sumber daya dan metode untuk nilai ini.
CALLER_CREDENTIALS
memetakan kearn:aws:iam::*:user/*
, yang menggunakan kredensial pemanggil untuk memanggil titik akhir.Nilai yang valid:
CALLER_CREDENTIALS
,NONE
,IAMRoleArn
Tipe: String
Wajib: Tidak
Default:
CALLER_CREDENTIALS
AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.
-
ResourcePolicy
-
Konfigurasikan Kebijakan Sumber Daya untuk semua metode dan jalur pada fileAPI.
Jenis: ResourcePolicyStatement
Wajib: Tidak
AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.
Catatan tambahan: Pengaturan ini juga dapat ditentukan pada
AWS::Serverless::Function
individu menggunakan ApiFunctionAuth. Ini diperlukan untuk APIs denganEndpointConfiguration: PRIVATE
. -
UsagePlan
-
Mengonfigurasi paket penggunaan yang terkait dengan iniAPI. Untuk informasi selengkapnya tentang paket penggunaan, lihat Membuat dan Menggunakan Paket Penggunaan dengan API Kunci di Panduan Pengembang API Gateway.
AWS SAM Properti ini menghasilkan tiga AWS CloudFormation sumber daya tambahan saat properti ini disetel: AWS::ApiGateway::UsagePlan, sebuah AWS::ApiGateway::UsagePlanKey, dan sebuah AWS::ApiGateway::ApiKey. Untuk informasi tentang skenario ini, lihatUsagePlanproperti ditentukan. Untuk informasi umum tentang AWS CloudFormation sumber daya yang dihasilkan, lihatAWS CloudFormation Sumber daya yang dihasilkan untuk AWS SAM.
Jenis: ApiUsagePlan
Wajib: Tidak
AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.
Contoh
CognitoAuth
Contoh Cognito Auth
YAML
Auth: Authorizers: MyCognitoAuth: UserPoolArn: Fn::GetAtt: - MyUserPool - Arn AuthType: "COGNITO_USER_POOLS" DefaultAuthorizer: MyCognitoAuth InvokeRole: CALLER_CREDENTIALS AddDefaultAuthorizerToCorsPreflight: false ApiKeyRequired: false ResourcePolicy: CustomStatements: [{ "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/Prod/GET/pets", "Condition": { "IpAddress": { "aws:SourceIp": "1.2.3.4" } } }] IpRangeDenylist: - "10.20.30.40"
AWS IAM
AWS IAMcontoh
YAML
Auth: Authorizers: AWS_IAM