在 AWS SAM 範本中設定和管理資源存取 - AWS Serverless Application Model

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 AWS SAM 範本中設定和管理資源存取

為了讓您的 AWS 資源彼此互動,必須在資源之間設定適當的存取權限和權限。這樣做需要配置 AWS Identity and Access Management (IAM) 使用者、角色和政策,才能以安全的方式完成互動。

本節中的主題都與設定範本中定義之資源的存取權限有關。本節從一般最佳作法開始。接下來的兩個主題將檢閱您在無伺服器應用程式中參照的資源之間設定存取權和權限的兩個選項: AWS SAM 連接器和 AWS SAM 原則範本。最後一個主題提供了使用與管理使用者相同的機制來管理 AWS CloudFormation 使用者存取的詳細資料。

若要深入瞭解,請參閱《AWS CloudFormation 使用者指南》 AWS Identity and Access Management的「控制存取權」。

AWS Serverless Application Model (AWS SAM) 提供兩個選項,可簡化無伺服器應用程式的存取與權限管理。

  1. AWS SAM 連接器

  2. AWS SAM 策略範本

AWS SAM 連接器

連接器是佈建兩個資源之間權限的一種方式。您可以通過描述他們應該如何在 AWS SAM 模板中相互交互來做到這一點。它們可以使用Connectors資源屬性或資AWS::Serverless::Connector源類型來定義。連接器支援資Read源組合之間的 AWS 資料和事件佈建和Write存取。若要進一步瞭解 AWS SAM 連接器,請參閱使用 AWS SAM 連接器管理資源權限

AWS SAM 策略範本

AWS SAM 原則範本是預先定義的權限集合,您可以將這些權限新增至 AWS SAM 範本,以管理 AWS Lambda 功能、 AWS Step Functions 狀態機器及其互動之資源之間的存取和權限。若要深入了解 AWS SAM 策略範本,請參閱AWS SAM策略範本

AWS CloudFormation 機制

AWS CloudFormation 機制包括設定 IAM 使用者、角色和政策,以管理 AWS 資源之間的許可。如需進一步了解,請參閱使用 AWS CloudFormation 機制管理 AWS SAM 權限

最佳實務

在整個無伺服器應用程式中,您可以使用多種方法來設定資源之間的權限。因此,您可以為每個案例選取最佳選項,並在整個應用程式中同時使用多個選項。選擇最適合您的選擇時,請考慮以下幾點:

  • AWS SAM 連接器和政策範本都減少了促進 AWS 資源之間安全互動所需的 IAM 專業知識。如果支援,請使用連接器和原則範本。

  • AWS SAM 連接器提供簡單且直覺的簡短語法來定義 AWS SAM 範本中的許可,並且需要最少的 IAM 專業知識。當 AWS SAM 連接器和原則範本都受支援時,請使用 AWS SAM 連接器。

  • AWS SAM 連接器可以在支援的來源和目標資 AWS SAM 源之間佈建ReadWrite存取資料和事件。如需支援資源的清單,請參閱AWS SAM 連接器參考。支援時,請使用 AWS SAM 連接器。

  • 雖然 AWS SAM 政策範本僅限於 Lambda 函數之間的許可,但 Step Functions 會狀態機器及其互動的 AWS 資源,但政策範本確實支援所有 CRUD 作業。如果受支援,以及當您的案例的 AWS SAM 原則範本可用時,請使用 AWS SAM 原則範本。如需可用策略範本的清單,請參閱AWS SAM策略範本

  • 對於所有其他案例,或需要粒度時,請使用 AWS CloudFormation 機制。