

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

# のセキュリティのベストプラクティス AWS AppSync
<a name="best-practices"></a>

保護 AWS AppSync とは、いくつかのレバーをオンにしたり、ログ記録を設定したりするだけのことではありません。以下のセクションでは、サービスの使用方法によって異なるセキュリティのベストプラクティスについて説明します。

## 認証方法を理解する
<a name="best-practices-authn"></a>

AWS AppSync には、GraphQL APIs に対してユーザーを認証する複数の方法が用意されています。それぞれの方法にセキュリティ、監査可能性、ユーザビリティの面でトレードオフがあります。

次の一般的な認証方法を使用できます。
+ Amazon Cognito ユーザープールを使用すると、GraphQL API がユーザー属性を使用してきめ細かなアクセス制御とフィルタリングを行うことができます。
+ API トークンの寿命は限られており、継続的インテグレーションシステム、外部 API との統合などの自動化システムに適しています。
+ AWS Identity and Access Management (IAM) は、 で管理される内部アプリケーションに適しています AWS アカウント。
+ OpenID Connect を使用すると、OpenID Connect プロトコルによってアクセスを制御およびフェデレーションできます。

 AWS AppSyncでの認証および認可の詳細については、「[GraphQL API を保護するための認可と認証の設定](security-authz.md)」を参照してください。

## API 設定の変更がどのように伝播されるかを理解する
<a name="best-practices-configuration-updates"></a>

API 設定に変更を保存すると、 は変更の伝達 AWS AppSync を開始します。設定変更が反映されるまで、 は AWS AppSync 引き続き以前の設定のコンテンツを提供します。設定変更が伝播されると、 AWS AppSync はすぐに新しい設定に基づいてコンテンツの提供を開始します。 AWS AppSync が API の変更を伝達している間、API が以前の設定または新しい設定に基づいてコンテンツを提供しているかどうかを判断できません。

## HTTP リゾルバーに TLS を使用する
<a name="best-practices-https"></a>

HTTP リゾルバーを使用する場合は、可能な限り TLS セキュア (HTTPS) 接続を使用してください。が AWS AppSync 信頼する TLS 証明書の完全なリストについては、「」を参照してください[AWS AppSync で認識される HTTPS エンドポイントの証明機関 (CA)](http-cert-authorities.md)。

## 最小の権限を持つロールを使用する
<a name="best-practices-roles"></a>

[DynamoDB リゾルバー](tutorial-dynamodb-resolvers.md)のようなリゾルバーを使用する場合は、Amazon DynamoDB テーブルなどのリソースに対して可能な限り制限の厳しいビューを提供するロールを使用します。

## IAM ポリシーのベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices"></a>

ID ベースのポリシーは、アカウント内で誰かが AWS AppSync リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。