

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

# アプリケーションの機能: IAM ロール、リソースポリシー、ネストされたアプリケーション
<a name="acknowledging-application-capabilities"></a>

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

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

`CAPABILITY_IAM` または `CAPABILITY_NAMED_IAM` は、[AWS::IAM::Group](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html)、[AWS::IAM::InstanceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)、[AWS::IAM::Policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)、および [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) の各リソースに対して指定する必要があります。アプリケーションにカスタム名を持つ IAM リソースがある場合は、`CAPABILITY_NAMED_IAM` を指定する必要があります。機能を指定する方法の例については、「[アプリケーション機能の検索と承認 (AWS CLI)](serverlessrepo-how-to-consume.md#acknowledging-application-capabilities-api)」を参照してください。

`CAPABILITY_RESOURCE_POLICY` は、[AWS::Lambda::LayerVersionPermission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)、[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)、[AWS::Events::EventBusPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)、[AWS::IAM:Policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)、[AWS::ApplicationAutoScaling::ScalingPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)、[AWS::S3::BucketPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html)、[AWS::SQS::QueuePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html)、および [AWS::SNS::TopicPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html) の各リソースに対して指定する必要があります。

1 つまたは複数のネストされたアプリケーションが含まれているアプリケーションでは、`CAPABILITY_AUTO_EXPAND` を指定する必要があります。ネストされたアプリケーションの詳細については、*AWS Serverless Application Model デベロッパーガイド*の[ネストされたアプリケーション](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-template-nested-applications.html)を参照してください。

## アプリケーションの機能の検索と承認 (コンソール)
<a name="acknowledging-application-capabilities-console"></a>

利用可能なアプリケーションは、[AWS Serverless Application Repository ウェブサイト](https://aws.amazon.com/serverless/serverlessrepo/) AWS Serverless Application Repository の または [Lambda コンソール ( タブの**関数の作成**ページ AWS Serverless Application Repository )](https://console.aws.amazon.com/lambda/home?region=us-east-1#/create?tab=serverlessApps) で確認できます。

カスタム 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. デプロイするには、「アプリケーションパラメータの設定」セクションのチェックボックスをオンにします**。

## アプリケーションの機能の表示 (AWS CLI)
<a name="acknowledging-application-capabilities-cli"></a>

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

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

[requiredCapabilities](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/applications-applicationid.html#applications-applicationid-prop-version-requiredcapabilities) レスポンスプロパティには、アプリケーションをデプロイする前に、承認する必要があるアプリケーション機能が一覧表示されます。[requiredCapabilities](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/applications-applicationid.html#applications-applicationid-prop-version-requiredcapabilities) プロパティが空の場合、アプリケーションには必要な機能がないことに注意してください。

