アプリケーションの機能: IAM ロール、リソースポリシー、ネストされたアプリケーション - AWS Serverless Application Repository

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

アプリケーションの機能: IAM ロール、リソースポリシー、ネストされたアプリケーション

アプリケーションをデプロイする前に、AWS Serverless Application Repository は、アプリケーションのテンプレートを参照し、作成する必要がある IAM ロール、AWS リソースポリシー、およびネストされたアプリケーションがテンプレートに指定されていることを確認します。IAM リソース (フルアクセス権を持つ IAM ロールなど) は、AWS アカウントの任意のリソースを変更できます。したがって、拡大した権限で意図していないリソースを作成しないように、続行する前にアプリケーションに関連付けられたアクセス許可を確認することをお勧めします。そのように実行したことを確認するには、ユーザーの代わりに AWS Serverless Application Repository がアプリケーションをデプロイする前に、アプリケーションが機能を備えていることを確認する必要があります。

アプリケーションには、CAPABILITY_IAMCAPABILITY_NAMED_IAMCAPABILITY_RESOURCE_POLICY、および CAPABILITY_AUTO_EXPAND の 4 つの機能のうち、いずれでも含めることができます。

CAPABILITY_IAM または CAPABILITY_NAMED_IAM は、AWS::IAM::GroupAWS::IAM::InstanceProfileAWS::IAM::Policy、および AWS::IAM::Role の各リソースに対して指定する必要があります。アプリケーションにカスタム名を持つ IAM リソースがある場合は、CAPABILITY_NAMED_IAM を指定する必要があります。機能を指定する方法の例については、「アプリケーション機能の検索と承認 (AWS CLI)」を参照してください。

CAPABILITY_RESOURCE_POLICY は、AWS::Lambda::LayerVersionPermissionAWS::Lambda::PermissionAWS::Events::EventBusPolicyAWS::IAM:PolicyAWS::ApplicationAutoScaling::ScalingPolicyAWS::S3::BucketPolicyAWS::SQS::QueuePolicy、および AWS::SNS::TopicPolicy の各リソースに対して指定する必要があります。

1 つまたは複数のネストされたアプリケーションが含まれているアプリケーションでは、CAPABILITY_AUTO_EXPAND を指定する必要があります。ネストされたアプリケーションの詳細については、AWS サーバーレスアプリケーションモデル 開発者ガイドの「ネストされたアプリケーション」を参照してください。

アプリケーションの機能の検索と承認 (コンソール)

AWS Serverless Application Repository で利用可能なアプリケーションは、AWS Serverless Application Repository ウェブサイト または Lambda コンソール (AWS Serverless Application Repository タブの [​関数の作成] ページ) で見つけることができます。

カスタム IAM ロールまたはリソースポリシーを作成するための機能の承認を必要とするアプリケーションは、デフォルトでは検索結果に表示されません。これらの機能が含まれているアプリケーションを検索するには、[Show apps that create custom IAM roles or resource policies (カスタム IAM ロールまたはリソースポリシーを作成するアプリを表示)] チェックボックスをオンにする必要があります。

アプリケーションの機能は、アプリケーションを選択するときに [アクセス許可] タブの下で確認できます。アプリケーションをデプロイするには、[I acknowledge this application creates custom IAM roles or resource policies (このアプリケーションがカスタム IAM ロールまたはリソースポリシーを作成することを承認します)] チェックボックスをオンにする必要があります。これらの機能を承認しない場合は、エラーメッセージ [Acknowledgement required.To deploy, check the box in Configure application parameters section (承認が必要です。デプロイするには、[Configure application parameters] (アプリケーションパラメータの設定) セクションのチェックボックスをオンにします)] が表示されます。

アプリケーションの機能の表示 (AWS CLI)

AWS CLI を使用してアプリケーションの機能を表示するには、まずアプリケーションの Amazon リソースネーム (ARN) が必要です。その後、次のコマンドを実行できます。

aws serverlessrepo get-application \ --application-id application-arn

requiredCapabilities レスポンスプロパティには、アプリケーションをデプロイする前に、承認する必要があるアプリケーション機能が一覧表示されます。requiredCapabilities プロパティが空の場合、アプリケーションには必要な機能がないことに注意してください。