AWS SAM テンプレートでのリソースアクセスの設定と管理 - AWS Serverless Application Model

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

AWS SAM テンプレートでのリソースアクセスの設定と管理

AWS リソースが相互にやり取りするには、リソース間で適切なアクセス許可とアクセス許可を設定する必要があります。そのためには、 AWS Identity and Access Management (IAM) ユーザー、ロール、ポリシーを設定して、安全な方法でやり取りを行う必要があります。

このセクションのトピックはすべて、テンプレートで定義されているリソースへのアクセスの設定に関連しています。このセクションでは、一般的なベストプラクティスから始めます。次の 2 つのトピックでは、サーバーレスアプリケーションで参照されるリソース間のアクセスとアクセス許可を設定するための 2 つのオプションである AWS SAM コネクタと AWS SAM ポリシーテンプレートについて説明します。最後のトピックでは、ユーザーの管理に使用するのと同じメカニズムを使用してユーザーアクセスを管理する AWS CloudFormation 方法の詳細について説明します。

詳細については、「AWS CloudFormation ユーザーガイド」の「AWS Identity and Access Managementによるアクセスの制御」を参照してください。

AWS Serverless Application Model (AWS SAM) には、サーバーレスアプリケーションのアクセスとアクセス許可の管理を簡素化する 2 つのオプションがあります。

  1. AWS SAM コネクタ

  2. AWS SAM ポリシーテンプレート

AWS SAM コネクタ

コネクタを使用することで、2 つのリソース間の許可をプロビジョニングできます。これを行うには、 AWS SAM テンプレート内で相互にやり取りする方法を説明します。これらは、Connectors リソース属性または AWS::Serverless::Connector リソースタイプのいずれかを使用して定義できます。コネクタは、 AWS リソースの組み合わせ間のデータとイベントのプロビジョニングとReadWriteアクセスをサポートします。 AWS SAM コネクタの詳細については、「」を参照してくださいAWS SAM コネクタによるリソースに対するアクセス許可の管理

AWS SAM ポリシーテンプレート

AWS SAM ポリシーテンプレートは、 AWS Lambda 関数、 AWS Step Functions ステートマシン、およびそれらが操作するリソース間のアクセスとアクセス許可を管理するためにテンプレートに追加 AWS SAM できる、事前定義されたアクセス許可のセットです。 AWS SAM ポリシーテンプレートの詳細については、「」を参照してくださいAWS SAMポリシーテンプレート

AWS CloudFormation メカニズム

AWS CloudFormation メカニズムには、 AWS リソース間のアクセス許可を管理するための IAM ユーザー、ロール、ポリシーの設定が含まれます。詳細については、「AWS CloudFormation メカニズムによる AWS SAM アクセス許可の管理」を参照してください。

ベストプラクティス

サーバーレスアプリケーション全体で、複数の方法を使用してリソース間のアクセス許可を設定できます。そのため、各シナリオに最適なオプションを選択し、アプリケーション全体で複数のオプションを一緒に使用できます。最適なオプションを選択する際に留意すべき点がいくつかあります。

  • AWS SAM コネクタとポリシーテンプレートはどちらも、 AWS リソース間の安全なやり取りを容易にするために必要な IAM の専門知識を減らします。サポートされている場合は、コネクタとポリシーテンプレートを使用してください。

  • AWS SAM コネクタは、 AWS SAM テンプレートのアクセス許可を定義するシンプルで直感的な短縮構文を提供し、IAM の専門知識を最低限に抑えます。 AWS SAM コネクタとポリシーテンプレートの両方がサポートされている場合は、 AWS SAM コネクタを使用します。

  • AWS SAM コネクタは、サポートされている送信 AWS SAM 元Readリソースと送信先リソース間のデータとイベントをプロビジョニングしてWriteアクセスできます。サポートされているリソースの一覧については、「AWS SAM コネクタリファレンス」を参照してください。サポートされている場合は、 AWS SAM コネクタを使用します。

  • AWS SAM ポリシーテンプレートは Lambda 関数、Step Functions ステートマシン、およびそれらが操作する AWS リソース間のアクセス許可に制限されていますが、ポリシーテンプレートはすべての CRUD オペレーションをサポートします。サポートされ、シナリオの AWS SAM ポリシーテンプレートが利用可能な場合は、 AWS SAM ポリシーテンプレートを使用します。使用可能なポリシーテンプレートのリストについては、「AWS SAMポリシーテンプレート」を参照してください。

  • 他のすべてのシナリオ、または詳細度が必要な場合は、 AWS CloudFormation メカニズムを使用します。