翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CloudFormation メカニズムによる AWS SAM アクセス許可の管理
AWS リソースへのアクセスを制御するために、 AWS Serverless Application Model (AWS SAM) は と同じメカニズムを使用できます AWS CloudFormation。詳細については、AWS CloudFormation ユーザーガイドの「Controlling access with AWS Identity and Access Management」を参照してください。
サーバーレスアプリケーションを管理するためのユーザー権限の付与には、3 つの主なオプションがあります。各オプションは、ユーザーに異なるレベルのアクセスコントロールを提供します。
-
管理者権限を付与する。
-
必要な AWS 管理ポリシーをアタッチします。
-
特定の AWS Identity and Access Management (IAM) アクセス許可を付与します。
選択したオプションに応じて、ユーザーはアクセス許可を持つ AWS リソースを含むサーバーレスアプリケーションのみを管理できます。
以下のセクションでは、各オプションがより詳しく説明されています。
管理者権限を付与する
ユーザーに管理者権限を付与すると、 AWS リソースの任意の組み合わせを含むサーバーレスアプリケーションを管理できます。これは最もシンプルなオプションですが、ユーザーに最も広範な許可のセットを付与するため、最も大きな影響を与えるアクションの実行が可能になります。
ユーザーへの管理者権限の付与に関する詳細については、IAM ユーザーガイドの「最初の IAM 管理者ユーザーおよびユーザーグループの作成」を参照してください。
必要な AWS 管理ポリシーをアタッチする
ユーザーに完全な管理者権限を付与するのではなく、AWS 管理ポリシーを使用して権限のサブセットを付与することができます。このオプションを使用する場合は、ユーザーが管理するサーバーレスアプリケーションに必要なすべてのアクションとリソースが AWS 管理ポリシーのセットに含まれていることを確認してください。
たとえば、サンプルの Hello World アプリケーションをデプロイするには、次の AWS 管理ポリシーで十分です。
-
AWSCloudFormationFullAccess
-
IAMFullAccess
-
AWSLambda_FullAccess
-
AmazonAPIGatewayAdministrator
-
AmazonS3FullAccess
-
AmazonEC2ContainerRegistryFullAccess
IAM ユーザーへのポリシーのアタッチに関する詳細については、IAM ユーザーガイドの「IAM ユーザーのアクセス権限の変更」を参照してください。
特定の IAM 許可を付与する
最もきめ細かなレベルのアクセスコントロールには、ポリシステートメントを使用して、ユーザーに特定の IAM 許可を付与することができます。このオプションを使用する場合は、ユーザーが管理するサーバーレスアプリケーションに必要なすべてのアクションとリソースがポリシーステートメントに含まれていることを確認してください。
このオプションのベストプラクティスは、ユーザーが昇格された許可を自分自身に付与できないように、Lambda 実行ロールを含めたロールを作成するための許可をユーザーに付与しないことです。このため、管理者は、ユーザーが管理するサーバーレスアプリケーションで指定される Lambda 実行ロールを最初に作成する必要があります。Lambda 実行ロールの作成については、「IAM コンソールでの実行ロールの作成」を参照してください。
サンプル Hello World アプリケーションの実行には、AWSLambdaBasicExecutionRole で十分です。Lambda 実行ロールを作成したら、サンプルの Hello World アプリケーションの AWS SAM テンプレートファイルを変更して、次のプロパティをAWS::Serverless::Function
リソースに追加します。
Role:
lambda-execution-role-arn
変更された Hello World アプリケーションを使用すると、以下のポリシーステートメントが、アプリケーションをデプロイ、更新、および削除するために十分な許可をユーザーに付与します。
注記
このセクションのポリシーステートメントの例では、Hello World アプリケーションのサンプルをデプロイ、更新、および削除するための十分な権限を付与します。アプリケーションにリソースタイプを追加する場合は、ポリシーステートメントを更新して以下を含める必要があります。
-
アプリケーションがサービスのアクションを呼び出すための権限。
-
サービスのアクションに必要な場合は、サービスプリンシパル。
例えば、Step Functions ワークフローを追加する場合は、ここにリストされているアクションに対するアクセス許可と、states.amazonaws.com
サービスプリンシパルを追加する必要があります。
IAM ポリシーの詳細については、IAM ユーザーガイドの「IAM ポリシーの管理」を参照してください。