ApiAuth - AWS Serverless Application Model

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.

Properti

AddApiKeyRequiredToCorsPreflight

Jika Cors properti ApiKeyRequired dan diatur, maka pengaturan AddApiKeyRequiredToCorsPreflight akan menyebabkan API kunci ditambahkan ke Options properti.

Tipe: Boolean

Wajib: Tidak

Default: True

AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.

AddDefaultAuthorizerToCorsPreflight

Jika Cors properti DefaultAuthorizer dan diatur, maka pengaturan AddDefaultAuthorizerToCorsPreflight akan menyebabkan otorisasi default ditambahkan ke Options 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.

Authorizers

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

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.

DefaultAuthorizer

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 keAWS_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 ke arn: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 ketika properti ini disetel: an AWS::ApiGateway::UsagePlan, an AWS::ApiGateway::UsagePlanKey, dan an AWS::ApiGateway::ApiKey. Untuk informasi selengkapnya tentang skenario ini, lihat UsagePlanproperti 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"