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

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

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

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

このセクションのトピックはすべて、テンプレートの中で定義されているリソースへのアクセス設定に関連があります。このセクションの最初では、一般的なベストプラクティスを扱っています。次の 2 つのトピックでは、サーバーレスアプリケーションで参照されるリソース間のアクセスとアクセス許可を設定するための 2 つのオプションである AWS SAM コネクタと AWS SAM ポリシーテンプレートについて説明します。最後のトピックでは、ユーザーの管理に使用するのと同じメカニズムを使用してユーザーアクセスを管理する 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 Step Functions ステートマシン、および AWS Lambda それらが操作するリソース間のアクセスとアクセス許可を管理するためにテンプレートに追加 AWS SAM できるアクセス許可の事前定義されたセットです。 AWS SAM ポリシーテンプレートの詳細については、「」を参照してくださいAWS SAMポリシーテンプレート

AWS CloudFormation メカニズム

CloudFormation メカニズムには、 AWS リソース間のアクセス許可を管理するための IAM ユーザー、ロール、ポリシーの設定が含まれます。詳細については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ポリシーテンプレート」を参照してください。

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