1.5. API キー認証の例
次の例は、apiKey 認証スキームを使用して OpenAPI サービス操作を保護する方法を示しています。security-example.json ファイルは、api-key-example セキュリティースキームを使用する sayHelloApiKey 操作を定義します。アプリケーションプロパティー、ワークフロー ConfigMap、または環境変数を使用して API キーを設定できます。
API キー認証を使用した OpenAPI 仕様の例
{
"openapi": "3.1.0",
"info": {
"title": "Api Key Scheme Example",
"version": "1.0"
},
"paths": {
"/hello-with-api-key": {
"get": {
"operationId": "sayHelloApiKey",
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
}
},
"security": [{"api-key-example" : []}]
}
}
},
"components": {
"securitySchemes": {
"api-key-example": {
"type": "apiKey",
"name": "api-key-name",
"in": "header"
}
}
}
}
この例では、sayHelloApiKey 操作は、HTTP リクエストヘッダーで渡される API キーを使用する api-key-example セキュリティースキームによって保護されています。
1.5.1. API キー認証でサポートされている設定プロパティー リンクのコピーリンクがクリップボードにコピーされました!
次の設定プロパティーを使用して API キーを設定できます。
| 説明 | プロパティーキー | 例 |
|---|---|---|
| API キー |
|
|
[filename] はサニタイズされた OpenAPI ファイル名 security_example_json に置き換え、[security_scheme_name] はサニタイズされたスキーム名 api_key_example に置き換えることができます。
apiKey スキームタイプには、Open API サービスが呼び出されたときに使用するキー名を設定する追加の name プロパティーが含まれています。また、キーを渡す形式は、in プロパティーの値によって異なります。
-
値が
headerの場合、キーは HTTP ヘッダーとして渡されます。 -
値が
cookieの場合、キーは HTTP Cookie として渡されます。 -
値が
queryの場合、キーは HTTP クエリーパラメーターとして渡されます。
この例では、キーは api-key-name: MY_KEY として HTTP ヘッダーに渡されます。
サーバーレスロジックはこれを内部的に管理するため、プロパティー値を設定する以外に追加の設定は必要ありません。