FileMaker 2024のcurl --aws-sigv4でAWS API認証を簡単連携
目次
- 1. はじめに
- 2. AWS SigV4署名とは
- 3. curlの--aws-sigv4オプション
- 4. コマンド実行例
- 5. FileMaker 2024での対応
- 6. FileMakerでの実装方法
- 7. まとめ
1. はじめに
AWS APIを利用する際、認証にはAWS Signature Version 4(SigV4)が必要です。従来、FileMakerのような環境では複雑な署名計算を自前で実装する必要がありましたが、curl 7.75.0で追加された--aws-sigv4オプションにより、この課題が大きく改善されました。
本記事では、--aws-sigv4オプションの使い方と、FileMaker 2024(Version 21)での活用方法について解説します。
2. AWS SigV4署名とは
AWS Signature Version 4は、AWS APIリクエストの認証に使用される署名方式です。
API リクエストに対する AWS Signature Version 4 - AWS Identity and Access Management
AWS SDKを使用しない環境では、この署名計算を手動で実装する必要があり、実装の複雑さが課題となっていました。以下は、過去に作成したFileMaker向けのカスタム関数実装例です。
FileMaker から S3 や EC2 などの AWS の API を利用する方法 | フルーデンス
3. curlの--aws-sigv4オプション
curl 7.75.0(2021年2月リリース)で、AWS SigV4署名の自動計算機能が追加されました。
AWS HTTP v4 Signature support. This is an authentication method for HTTP used by AWS and some other services. See CURLOPT_AWS_SIGV4 for libcurl and --aws-sigv4 for the curl tool.
オプションの構文
--aws-sigv4オプションを使用することで、curlがAWS SigV4署名を自動計算します。これにより、AWSのIAMユーザーのアクセスキーとシークレットキーがあれば、複雑な署名処理を意識することなくAWS APIを呼び出すことができます。
--aws-sigv4 <provider1[:prvdr2[:reg[:srv]]]>
(HTTP) Use AWS V4 signature authentication in the transfer.
The provider argument is a string that is used by the algorithm when creating outgoing authentication headers.
The region argument is a string that points to a geographic area of a resources collection (region-code) when the region name is omitted from the endpoint.
The service argument is a string that points to a function provided by a cloud (service-code) when the service name is omitted from the endpoint.
If --aws-sigv4 is provided several times, the last set value is used.
日本語訳:
--aws-sigv4 <provider1[:prvdr2[:reg[:srv]]]>
(HTTP)転送時にAWS V4署名認証を使用します。
providerパラメータは、送信認証ヘッダーを作成する際にアルゴリズムによって使用される文字列です。
regionパラメータは、エンドポイントからリージョン名が省略されている場合に、リソースコレクションの地理的エリア(region-code)を指定する文字列です。
serviceパラメータは、エンドポイントからサービス名が省略されている場合に、クラウドによって提供される機能(service-code)を指定する文字列です。
--aws-sigv4が複数回指定された場合、最後に設定された値が使用されます。
パラメータの説明
- provider1: 通常は "aws"
- prvdr2: 通常は "amz"
- reg: AWSリージョン(例:ap-northeast-1)
- srv: AWSサービス名(例:s3, lambda, ec2)
4. コマンド実行例
以下に、--aws-sigv4オプションを使用した具体的なコマンド例を示します。
AWS S3にファイルをPUTするコマンド
echo "test" > test.txt
source ../.env
curl --request PUT \
--header "Content-Type: text/plain" \
--data-binary @./test.txt \
--aws-sigv4 "aws:amz:ap-northeast-1:s3" \
--user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
--url "https://s3.ap-northeast-1.amazonaws.com/bucket-20250728/dir/test.txt" \
--show-error \
--fail
AWS S3からファイルをGETするコマンド
source ../.env
curl --request GET \
--header "Content-Type: text/plain" \
--aws-sigv4 "aws:amz:ap-northeast-1:s3" \
--user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
--url "https://s3.ap-northeast-1.amazonaws.com/bucket-20250728/dir/test.txt" \
--show-error \
--fail |
tee test.txt
AWS Lambda関数をリストするコマンド
source ../.env
curl --request GET \
--header "Content-Type: application/x-amz-json-1.1" \
--aws-sigv4 "aws:amz:ap-northeast-1:lambda" \
--user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
--url "https://lambda.ap-northeast-1.amazonaws.com/2015-03-31/functions" \
--show-error \
--fail |
jq |
tee functions.json
5. FileMaker 2024での対応
FileMaker 2024(Version 21.0.1)において、--aws-sigv4オプションがサポートされました。これにより、FileMakerの「URLから挿入」スクリプトステップでAWS APIを直接呼び出すことが可能になりました。
バージョン 21.0.1 – 2024 年 6 月
[URL から挿入] スクリプトステップが --aws-sigv4 cURL オプションをサポートするようになりました。ファイルが Ubuntu 20 上の FileMaker Server で共有されている場合はこのオプションはサポートされません。
Soliant Consulting社のブログでも詳しく解説されています。
The latest update to the Claris FileMaker platform for 2024 (FileMaker 21) has brought many useful additions and capabilities. Those include a small addition to the curl options noticed. Notably, the flag "–aws-sigv4", available in the normal curl library for a while, is now supported in FileMaker.
注意事項
- Ubuntu 20上のFileMaker Serverでは、このオプションはサポートされていません。
- 認証情報(アクセスキー・シークレットキー)の管理には十分注意が必要です。
6. FileMakerでの実装方法
FileMakerでAWS APIを呼び出す際の実装例を以下に示します。
AWS S3へのファイルアップロード
以下のスクリプトは、FileMakerからAWS S3にファイルをアップロードする例です。
実行結果のデバッグログでは、正常にS3にファイルがアップロードされたことが確認できます。
AWS S3の管理画面でも、ファイルが正常にアップロードされていることを確認できます。
AWS S3からのファイルダウンロード
同様に、S3からファイルをダウンロードする実装例を示します。
7. まとめ
curlの--aws-sigv4オプションにより、複雑なAWS署名計算を意識することなく、AWS APIを簡単に呼び出すことが可能になりました。特にFileMaker 2024では、このオプションが正式にサポートされたことで、FileMakerアプリケーションから直接AWSサービスを活用する道が大きく開かれました。
このオプションの導入により、以下のようなメリットが得られます。
- 複雑な署名計算処理の実装が不要
- AWS SDKを使用できない環境でもAWS APIの利用が可能
- FileMakerアプリケーションとクラウドサービスの連携が容易
FileMakerを使用したシステム開発において、AWS連携の選択肢が大幅に広がり、より柔軟なシステム構築が可能になりました。

