

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# API リンクポリシーストアのトラブルシューティング
トラブルシューティング

Amazon Verified Permissions API にリンクされたポリシーストアを構築する際の一般的な問題の診断と修正には、こちらの情報を参考にしてください。

**Topics**
+ [

## ポリシーを更新しましたが、承認の決定は変更されませんでした
](#policy-stores-api-userpool-considerations-troubleshooting-update-didnt-change)
+ [

## Lambda オーソライザーを API にアタッチしたが、認可リクエストを生成していない
](#policy-stores-api-userpool-considerations-troubleshooting-attached-not-deployed)
+ [

## 予期しない認可決定を受け取り、認可ロジックを確認したい
](#policy-stores-api-userpool-considerations-troubleshooting-review-code)
+ [

## Lambda オーソライザーからログを見つけたい
](#policy-stores-api-userpool-considerations-troubleshooting-find-logs)
+ [

## Lambda オーソライザーが存在しない
](#policy-stores-api-userpool-considerations-troubleshooting-didnt-deploy)
+ [

## API がプライベート VPC にあり、オーソライザーを呼び出すことができない
](#policy-stores-api-userpool-considerations-troubleshooting-in-a-vpc)
+ [

## 認可モデルで追加のユーザー属性を処理したい
](#policy-stores-api-userpool-considerations-troubleshooting-fgac)
+ [

## 新しいアクション、アクションコンテキスト属性、またはリソース属性を追加する
](#policy-stores-api-userpool-considerations-troubleshooting-action-resource-attributes)

## ポリシーを更新しましたが、承認の決定は変更されませんでした


デフォルトでは、Verified Permissions は認可の決定を 120 秒間キャッシュするように Lambda オーソライザーを設定します。2 分後に再試行するか、オーソライザーのキャッシュを無効にします。詳細については、[「Amazon API Gateway デベロッパーガイド」の「API キャッシュを有効にして応答性を高める](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html)」を参照してください。 *Amazon API Gateway *

## Lambda オーソライザーを API にアタッチしたが、認可リクエストを生成していない


リクエストの処理を開始するには、オーソライザーをアタッチした API ステージをデプロイする必要があります。詳細については、[「Amazon API Gateway デベロッパーガイド」の「REST API のデプロイ](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-deploy-api.html)」を参照してください。 *Amazon API Gateway *

## 予期しない認可決定を受け取り、認可ロジックを確認したい


API リンクポリシーストアプロセスは、オーソライザーの Lambda 関数を作成します。Verified Permissions は、認可決定のロジックをオーソライザー関数に自動的に構築します。ポリシーストアを作成した後に戻って、 関数のロジックを確認および更新できます。

 AWS CloudFormation コンソールから Lambda 関数を見つけるには、新しいポリシーストア**の概要**ページにある**デプロイの確認**ボタンを選択します。

 AWS Lambda コンソールで関数を見つけることもできます。ポリシーストア AWS リージョン の で コンソールに移動し、プレフィックスが の関数名を検索します`AVPAuthorizerLambda`。複数の API リンクポリシーストアを作成した場合は、関数**の最終変更**時刻を使用してポリシーストアの作成と関連付けます。

## Lambda オーソライザーからログを見つけたい


Lambda 関数はメトリクスを収集し、その呼び出し結果を Amazon CloudWatch に記録します。ログを確認するには、Lambda コンソールで[関数を見つけ](#policy-stores-api-userpool-considerations-troubleshooting-review-code)、**モニター**タブを選択します。**CloudWatch ログを表示**を選択し、ロググループのエントリを確認します。

Lambda 関数ログの詳細については、 *AWS Lambda デベロッパーガイド*の「 [での Amazon CloudWatch Logs の使用 AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-cloudwatchlogs.html)」を参照してください。

## Lambda オーソライザーが存在しない


API リンクポリシーストアのセットアップが完了したら、Lambda オーソライザーを API にアタッチする必要があります。 API Gateway コンソールでオーソライザーが見つからない場合、ポリシーストアの追加リソースが失敗したか、まだデプロイされていない可能性があります。API リンクポリシーストアは、これらのリソースを CloudFormation スタックにデプロイします。

Verified Permissions は、作成プロセスの最後に **Check deployment** というラベルのリンクを表示します。すでにこの画面から移動している場合は、CloudFormation コンソールに移動し、最近のスタックで というプレフィックスが付いた名前を検索します`AVPAuthorizer-<policy store ID>`。CloudFormation は、スタックデプロイの出力に貴重なトラブルシューティング情報を提供します。

CloudFormation スタックのトラブルシューティングについては、*AWS CloudFormation 「 ユーザーガイド*」の[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html) のトラブルシューティング」を参照してください。

## API がプライベート VPC にあり、オーソライザーを呼び出すことができない


Verified Permissions は、VPC エンドポイントを介した Lambda オーソライザーへのアクセスをサポートしていません。API とオーソライザーとして機能する Lambda 関数間のネットワークパスを開く必要があります。

## 認可モデルで追加のユーザー属性を処理したい


API リンクポリシーストアプロセスは、ユーザーのトークンのグループクレームから Verified Permissions ポリシーを取得します。追加のユーザー属性を考慮するように認可モデルを更新するには、それらの属性をポリシーに統合します。

Amazon Cognito ユーザープールの ID トークンとアクセストークンの多くのクレームを Verified Permissions ポリシーステートメントにマッピングできます。たとえば、ほとんどのユーザーは ID トークンに `email`クレームを持っています。ID ソースからポリシーへのクレームの追加の詳細については、[「スキーマへの Amazon Cognito トークンのマッピング](cognito-map-token-to-schema.md)」および[「スキーマへの OIDC トークンのマッピング](oidc-map-token-to-schema.md)」を参照してください。

## 新しいアクション、アクションコンテキスト属性、またはリソース属性を追加する


API リンクポリシーストアと作成する Lambda オーソライザーは、point-in-timeリソースです。これらは、作成時の API の状態を反映します。ポリシーストアスキーマは、アクションにコンテキスト属性を割り当てたり、デフォルト`Application`リソースに属性や親を割り当てたりしません。

API にパスとメソッドのアクションを追加するときは、新しいアクションを認識するようにポリシーストアを更新する必要があります。また、Lambda オーソライザーを更新して、新しいアクションの認可リクエストを処理する必要があります。[新しいポリシーストアで再度開始](policy-stores-create.md)することも、既存のポリシーストアを更新することもできます。

既存のポリシーストアを更新するには、 [関数を見つけます](#policy-stores-api-userpool-considerations-troubleshooting-review-code)。自動生成された関数のロジックを調べ、新しいアクション、属性、またはコンテキストを処理するように更新します。次に、[スキーマを編集](schema-edit.md)して新しいアクションと属性を含めます。