Amazon Location Service のベストプラクティス
このトピックでは、Amazon Location Service を使用するために、ベストプラクティスについて説明します。これらのベストプラクティスは Amazon Location Service 最大限に活用するのに役立ちますが、完全なソリューションではありません。ご使用の環境に該当するレコメンデーションのみに従うようにしてください。
セキュリティ
セキュリティリスクを管理または回避するには、次のベストプラクティスを検討してください。
-
ID フェデレーションと IAM ロールを使用して、Amazon Location リソースへのアクセスを管理、制御、制限します。詳細については、「IAM ユーザーガイド」の「IAM のベストプラクティス」を参照してください。
-
最小特権の原則に従い、Amazon Location Service リソースへの必要最小限のアクセス権限のみを付与してください。詳細については、「ポリシーを使用したアクセス権の管理」を参照してください。
-
ウェブアプリケーションで使用される Amazon Location Service リソースについては、
aws:referer
IAM 条件を使用してアクセスを制限し、許可リストに含まれているサイト以外のサイトによる使用を制限します。 -
モニタリングおよびログ記録ツールを使用して、リソースのアクセスと使用状況を追跡します。詳細については、AWS CloudTrail ユーザーガイドの「Amazon Location Service でのログ記録とモニタリング および 証拠へのデータイベントのログ記録」を参照してください。
-
https://
で始まる安全な接続を使用してセキュリティを強化し、サーバーとブラウザの間でデータが送信されている間の攻撃からユーザーを保護します。
Amazon Location Service の探知用セキュリティのベストプラクティス
以下は、セキュリティ問題の検出に役立つ Amazon Location Service でのベストプラクティスです。
- AWS モニタリングツールの実装
-
モニタリングはインシデントへの対応に不可欠であり、Amazon Location Service のリソースとソリューションの信頼性とセキュリティを維持します。AWS で利用できる複数のツールとサービスのモニタリングツールを実装して、リソースと他の AWS のサービスをモニタリングできます。
例えば、Amazon CloudWatch では Amazon Location Service のメトリックスをモニタリングできます。また、メトリックスが設定した特定の条件を満たし、定義したしきい値に達した場合に通知するアラームを設定できます。アラームを作成すると、Amazon Simple Notification Service を使用してアラートに通知を送信するように CloudWatch を設定できます。詳細については、「Amazon Location Service でのログ記録とモニタリング」を参照してください。
- AWS ログ記録ツールを有効にする
-
Amazon Location Service は、ユーザー、ロール、または AWS のサービスによって実行されたアクションの記録を提供します。AWS CloudTrail などのログ記録ツールを実装して、アクションに関するデータを収集し、異常な API アクティビティを検出できます。
証跡を作成する際に、ログイベントをログ記録するように CloudTrail を設定できます。イベントは、Amazon Location に対するリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエスト日時などのリソースオペレーションの記録で、その他のデータが含まれます。詳細については、AWS CloudTrail ユーザーガイドの 証跡へのデータイベントのログ記録 を参照してください。
Amazon Location Service の予防的セキュリティベストプラクティス
以下は、セキュリティ問題の防止に役立つ Amazon Location Service でのベストプラクティスです。
- 安全な接続を使用
-
https://
で始まる接続など、転送時に機密情報を安全に保つには、常に暗号化された接続を使用してください。 - リソースへの最小特権アクセスの実装
-
Amazon Location リソースにカスタムポリシーを作成する場合は、タスクの実行に必要なアクセス許可のみを付与します。最小限の許可セットから開始し、必要に応じて追加許可を付与することをお勧めします。最小特権アクセスの実装は、エラーや悪意のある攻撃から生じる可能性のあるリスクと影響を軽減するために不可欠です。詳細については、「Amazon Location Service での Identity and Access Management」を参照してください。
- グローバルにユニークな ID をデバイス ID として使用
-
デバイス ID には以下の規則を使用してください。
-
デバイス ID は一意であることが必要です。
-
デバイス ID は他のシステムの外部キーとして使用される可能性があるため、秘密にしないでください。
-
デバイス ID には、電話デバイス ID やメールアドレスなどの個人を特定できる情報 (PII) を含めないでください。
-
デバイス ID は予測可能であってはなりません。UUID のような不透明な識別子が推奨されます。
-
- デバイスの位置プロパティには PII を含めないでください
-
デバイスの更新情報を送信する場合 (例えば DevicePositionUpdate を使用)、電話番号やメールアドレスなどの個人を特定できる情報 (PII) を
PositionProperties
に含めないでください。
リソース管理
Amazon Location Service でロケーションリソースを効果的に管理するには、次のベストプラクティスを検討してください。
-
予想されるユーザーベースの中心となるリージョナルエンドポイントを使用して、ユーザーエクスペリエンスを向上させましょう。リージョンエンドポイントの詳細については、「Amazon Location のリージョンとエンドポイント」を参照してください。
-
マップリソースやプレースインデックスリソースなど、データプロバイダーを使用するリソースについては、必ず特定のデータプロバイダーの利用規約に従ってください。詳細については、「データプロバイダー」を参照してください。
-
マップ、Place Index 、ルートの構成ごとに 1 つのリソースを用意して、リソースの作成を最小限に抑えます。リージョン内では、通常、データプロバイダーまたはマップスタイルごとに必要なリソースは 1 つだけです。ほとんどのアプリケーションは既存のリソースを使用し、実行時にはリソースを作成しません。
-
マップリソースやルート計算ツールなど、1 つのアプリケーションで異なるリソースを使用する場合は、データが一致するように各リソースで同じデータプロバイダーを使用してください。例えば、ルートカリキュレータで作成したルートジオメトリが、マップリソースを使用して描画されたマップ上の道路と一致するとします。
請求情報とコスト管理
コストと請求を管理するには、次のベストプラクティスを検討してください。
-
Amazon CloudWatch などのモニタリングツールを使用して、リソースの使用状況を追跡します。使用量が指定した制限を超えそうになったときに通知するアラートを設定できます。詳細については、Amazon CloudWatch ユーザーガイド の 推定請求額をモニタリングする請求アラームを作成 を参照してください。
クォータと使用量
AWS アカウント には、使用量のデフォルト制限を設定するクォータが含まれます。使用量が上限に近づいたときに通知するアラームを設定したり、必要なときにクォータの引き上げをリクエストしたりできます。クォータの使用方法については、次のトピックを参照してください。
-
Amazon CloudWatch ユーザーガイド の Service Quotas の視覚化とアラームの設定。
制限を超えそうになったときに事前に警告するアラームを作成できます。Amazon Location を使用する各 AWS リージョン場 所で、クォータごとにアラームを設定することをお勧めします。例えば、SearchPlaceIndexForText
オペレーションの使用状況をモニタリングし、現在のクォータの 80% を超えたらアラームを作成できます。
クォータに関するアラーム警告が表示されたら、何をすべきかを決める必要があります。顧客ベースが拡大したため、追加のリソースを使用している可能性があります。その場合は、そのリージョンでの API コールの割り当てを 50% 増やすなど、割り当ての増額をリクエストするとよいでしょう。あるいは、サービスにエラーがあり、Amazon Location に対して不必要な呼び出しを何度も行うことになる場合もあります。その場合は、サービスの問題を解決したいと思うでしょう。