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 mengendalikan akses ke API Gateway Anda.

Untuk informasi selengkapnya dan contoh untuk mengonfigurasi akses menggunakan AWS SAM lihatKontrol akses API 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 disetel, maka pengaturan AddApiKeyRequiredToCorsPreflight akan menyebabkan kunci API 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 properti DefaultAuthorizer dan Cors ditetapkan, kemudian pengaturan AddDefaultAuthorizerToCorsPreflight akan menyebabkan otorisasi default yang akan ditambahkan ke properti Options di bagian OpenAPI.

Tipe: Boolean

Wajib: Tidak

Default: BETUL

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

ApiKeyRequired

Jika diatur ke BETUL, kunci API diperlukan untuk semua peristiwa API. Untuk informasi selengkapnya tentang kunci API lihat Buat dan Gunakan Rencana Penggunaan dengan Kunci API di Panduan Developer API Gateway.

Tipe: Boolean

Wajib: Tidak

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

Authorizers

Pengotorisasi yang digunakan untuk mengendalikan akses ke API dari API Gateway Anda.

Untuk informasi selengkapnya, lihat Kontrol akses API 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 Gateway dari API, yang akan digunakan untuk otorisasi panggilan API secara default.

catatan

Jika Api EventSource untuk fungsi yang terkait dengan API ini dikonfigurasi untuk menggunakan Izin IAM, 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 API.

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 API dengan EndpointConfiguration: PRIVATE.

UsagePlan

Mengonfigurasi rencana penggunaan yang terkait dengan API ini. Untuk informasi selengkapnya tentang rencana penggunaan lihat Buat dan Gunakan Rencana Penggunaan dengan Kunci API di Panduan Developer 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.

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" } } }] IpRangeBlacklist: - "10.20.30.40"