翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SAMポリシーテンプレート
AWS Serverless Application Model (AWS SAM) を使用すると、ポリシーテンプレートのリストから選択して、Lambda 関数と AWS Step Functions ステートマシンのアクセス許可をアプリケーションで使用されるリソースにスコープできます。
AWS SAM ポリシーテンプレート AWS Serverless Application Repository を使用する のアプリケーションでは、 からアプリケーションをデプロイするために特別な顧客確認は必要ありません AWS Serverless Application Repository。
新しいポリシーテンプレートの追加をリクエストしたい場合は、以下を実行します。
-
AWS SAM GitHub プロジェクトの
develop
ブランチの policy_templates.json ソースファイルに対してプルリクエストを送信します。ソースファイルは、 GitHub ウェブサイトの policy_templates.jsonにあります。 -
プルリクエストの理由とリクエストへのリンクを含む問題を AWS SAM GitHub プロジェクトに送信します。新しい問題を送信するには、AWS Serverless Application Model: 問題
リンクを使用してください。
構文
AWS SAM テンプレートファイルで指定するポリシーテンプレートごとに、ポリシーテンプレートのプレースホルダー値を含むオブジェクトを常に指定する必要があります。ポリシーテンプレートにプレースホルダ値が必要ない場合は、空のオブジェクトを指定する必要があります。
YAML
MyFunction: Type: AWS::Serverless::Function Properties: Policies: - PolicyTemplateName1: # Policy template with placeholder value Key1: Value1 - PolicyTemplateName2: {} # Policy template with no placeholder value
例
例 1: プレースホルダー値が含まれるポリシーテンプレート
以下の例は、SQSPollerPolicy ポリシーテンプレートがリソースとして QueueName
を期待する例です。 AWS SAM テンプレートはMyQueue
Amazon SQSキューの名前を取得します。このキューは、同じアプリケーションで作成することも、アプリケーションのパラメータとしてリクエストすることもできます。
MyFunction: Type: 'AWS::Serverless::Function' Properties: CodeUri: ${codeuri} Handler: hello.handler Runtime: python2.7 Policies: - SQSPollerPolicy: QueueName: !GetAtt MyQueue.QueueName
例 2: プレースホルダー値が含まれないポリシーテンプレート
以下の例には、プレースホルダー値がない CloudWatchPutMetricPolicy ポリシーテンプレートが含まれています。
注記
プレースホルダ値がない場合でも、空のオブジェクトを指定する必要があります。指定されない場合は、エラーが発生します。
MyFunction: Type: 'AWS::Serverless::Function' Properties: CodeUri: ${codeuri} Handler: hello.handler Runtime: python2.7 Policies: - CloudWatchPutMetricPolicy: {}
ポリシーテンプレート表
以下は、使用可能なポリシーテンプレートの表です。
ポリシーテンプレート | 説明 |
---|---|
AcmGetCertificatePolicy | から証明書を読み取るアクセス許可を付与します AWS Certificate Manager。 |
AMIDescribePolicy | Amazon マシンイメージ (AMI) を記述する許可を付与します。 |
AthenaQueryPolicy | Athena クエリを実行する許可を付与します。 |
AWSSecretsManagerGetSecretValuePolicy | 指定された AWS Secrets Manager シークレットのシークレット値を取得する許可を付与します。 |
AWSSecretsManagerRotationPolicy | AWS Secrets Managerのシークレットをローテーションを行う許可を付与します。 |
CloudFormationDescribeStacksPolicy | AWS CloudFormation スタックを記述するアクセス許可を付与します。 |
CloudWatchDashboardPolicy | CloudWatch ダッシュボードで運用するメトリクスを配置するアクセス許可を付与します。 |
CloudWatchDescribeAlarmHistoryPolicy | CloudWatch アラーム履歴を記述するアクセス許可を付与します。 |
CloudWatchPutMetricPolicy | にメトリクスを送信するアクセス許可を付与します CloudWatch。 |
CodeCommitCrudPolicy | 特定の CodeCommitリポジトリ内のオブジェクトを作成/読み取り/更新/削除するアクセス許可を付与します。 |
CodeCommitReadPolicy | 特定の CodeCommit リポジトリ内のオブジェクトを読み取るアクセス許可を付与します。 |
CodePipelineLambdaExecutionPolicy | によって呼び出された Lambda 関数 CodePipeline に、ジョブのステータスを報告するアクセス許可を付与します。 |
CodePipelineReadOnlyPolicy | CodePipeline パイプラインの詳細を取得する読み取りアクセス許可を付与します。 |
ComprehendBasicAccessPolicy | エンティティ、キーフレーズ、言語、およびセンチメントを検出する許可を付与します。 |
CostExplorerReadOnlyPolicy | 請求履歴の読み取り専用 Cost Explorer API に読み取り専用許可を付与します。 |
DynamoDBBackupFullAccessPolicy | テーブルの DynamoDB オンデマンドバックアップに読み取りおよび書き込み許可を付与します。 |
DynamoDBCrudPolicy | Amazon DynamoDB テーブルに作成、読み取り、更新、および削除許可を付与します。 |
DynamoDBReadPolicy | DynamoDB テーブルに読み取り専用許可を付与します。 |
DynamoDBReconfigurePolicy | DynamoDB テーブルを再構成する許可を付与します。 |
DynamoDBRestoreFromBackupPolicy | バックアップから DynamoDB テーブルを復元する許可を付与します。 |
DynamoDBStreamReadPolicy | DynamoDB のストリームとレコードを記述および読み取る許可を付与します。 |
DynamoDBWritePolicy | DynamoDB テーブルに書き込み専用許可を付与します。 |
EC2CopyImagePolicy | Amazon EC2 イメージをコピーする許可を付与します |
EC2DescribePolicy | Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを記述する許可を付与します。 |
EcsRunTaskPolicy | タスク定義の新しいタスクを開始する許可を付与します。 |
EFSWriteAccessPolicy | 書き込みアクセス権と共に Amazon EFS ファイルシステムをマウントする許可を付与します。 |
EKSDescribePolicy | Amazon EKS クラスターを記述またはリスト化する許可を付与します。 |
ElasticMapReduceAddJobFlowStepsPolicy | 実行中のクラスターに新しいステップを追加する許可を付与します。 |
ElasticMapReduceCancelStepsPolicy | 実行中のクラスターで保留中のステップ (1 つ、または複数) をキャンセルする許可を付与します。 |
ElasticMapReduceModifyInstanceFleetPolicy | クラスター内のインスタンスフリートの詳細をリスト化し、容量を変更する許可を付与します。 |
ElasticMapReduceModifyInstanceGroupsPolicy | クラスター内のインスタンスグループの詳細をリスト化し、設定を変更する許可を付与します。 |
ElasticMapReduceSetTerminationProtectionPolicy | クラスターの終了保護を設定する許可を付与します。 |
ElasticMapReduceTerminateJobFlowsPolicy | クラスターをシャットダウンする許可を付与します。 |
ElasticsearchHttpPostPolicy | Amazon OpenSearch Service に POST アクセス許可を付与します。 |
EventBridgePutEventsPolicy | にイベントを送信するアクセス許可を付与します EventBridge。 |
FilterLogEventsPolicy | 指定されたロググループから CloudWatch ログイベントをフィルタリングするアクセス許可を付与します。 |
FirehoseCrudPolicy | Firehose 配信ストリームを作成、書き込み、更新、削除するアクセス許可を付与します。 |
FirehoseWritePolicy | Firehose 配信ストリームに書き込むアクセス許可を付与します。 |
KinesisCrudPolicy | Amazon Kinesis のストリームを作成、発行、および削除する許可を付与します。 |
KinesisStreamReadPolicy | Amazon Kinesis のストリームをリスト化して読み取る許可を付与します。 |
KMSDecryptPolicy | AWS Key Management Service (AWS KMS) キーを使用して復号するアクセス許可を付与します。 |
KMSEncryptPolicy | AWS Key Management Service (AWS KMS) キーで暗号化するアクセス許可を付与します。 |
LambdaInvokePolicy | AWS Lambda 関数、エイリアス、またはバージョンを呼び出すアクセス許可を付与します。 |
MobileAnalyticsWriteOnlyAccessPolicy | すべてのアプリケーションリソースのイベントデータを配置するための書き込み専用許可を付与します。 |
OrganizationsListAccountsPolicy | 子アカウントの名前と ID を一覧表示する読み取り専用許可を付与します。 |
PinpointEndpointAccessPolicy | Amazon Pinpoint アプリケーションのエンドポイントを取得して更新する許可を付与します |
PollyFullAccessPolicy | Amazon Polly のレキシコンリソースへのフルアクセス許可を付与します。 |
RekognitionDetectOnlyPolicy | 顔、ラベル、およびテキストを検出する許可を付与します。 |
RekognitionFacesManagementPolicy | Amazon Rekognition コレクション内の顔を追加、削除、および検索する許可を付与します。 |
RekognitionFacesPolicy | 顔とラベルを比較および検出する許可を付与します。 |
RekognitionLabelsPolicy | オブジェクトとモデレーションラベルを検出する許可を付与します。 |
RekognitionNoDataAccessPolicy | 顔とラベルを比較および検出する許可を付与します。 |
RekognitionReadPolicy | 顔をリスト化して検索する許可を付与します。 |
RekognitionWriteOnlyAccessPolicy | 顔のコレクションを作成してインデックス化する許可を付与します。 |
Route53ChangeResourceRecordSetsPolicy | Route 53 のリソースレコードセットを変更する許可を付与します。 |
S3CrudPolicy | Amazon S3 バケット内のオブジェクトでアクションを実行するための作成、読み取り、更新、および削除許可を付与します。 |
S3FullAccessPolicy | Amazon S3 バケット内のオブジェクトでアクションを実行するためのフルアクセス許可を付与します。 |
S3ReadPolicy | Amazon Simple Storage Service (Amazon S3) バケットにあるオブジェクトを読み取るための読み取り専用許可を付与します。 |
S3WritePolicy | Amazon S3 バケットにオブジェクトを書き込むための書き込み許可を付与します。 |
SageMakerCreateEndpointConfigPolicy | でエンドポイント設定を作成するアクセス許可を付与します SageMaker。 |
SageMakerCreateEndpointPolicy | でエンドポイントを作成するアクセス許可を付与します SageMaker。 |
ServerlessRepoReadWriteAccessPolicy | AWS Serverless Application Repository サービスでアプリケーションを作成および一覧表示するアクセス許可を付与します。 |
SESBulkTemplatedCrudPolicy | E メール、テンプレート化された E メール、テンプレート化されたバルク E メールを送信し、アイデンティティを確認する許可を付与します。 |
SESBulkTemplatedCrudPolicy_v2 | Amazon SES E メール、テンプレート化された E メール、およびテンプレート化されたバルク E メールを送信し、アイデンティティを確認する許可を付与します。 |
SESCrudPolicy | E メールを送信し、アイデンティティを確認する許可を付与します。 |
SESEmailTemplateCrudPolicy | Amazon SES E メールテンプレートを作成、取得、リスト化、更新、および削除する許可を付与します。 |
SESSendBouncePolicy | Amazon Simple Email Service (Amazon SES) ID にアクセス SendBounce 許可を付与します。 |
SNSCrudPolicy | Amazon SNS トピックを作成、公開、およびサブスクライブする許可を付与します。 |
SNSPublishMessagePolicy | Amazon Simple Notification Service (Amazon SNS) トピックにメッセージを発行する許可を付与します。 |
SQSPollerPolicy | Amazon Simple Queue Service (Amazon SQS) キューをポーリングする許可を付与します。 |
SQSSendMessagePolicy | Amazon SQS キューにメッセージを送信する許可を付与します。 |
SSMParameterReadPolicy | このアカウントのシークレットをロードするために、Amazon EC2 Systems Manager (SSM) パラメータストアからのパラメータにアクセスするための許可を付与します。パラメータ名にスラッシュプレフィックスが含まれていない場合に使用します。 |
SSMParameterWithSlashPrefixReadPolicy | このアカウントのシークレットをロードするために、Amazon EC2 Systems Manager (SSM) パラメータストアからのパラメータにアクセスするための許可を付与します。パラメータ名にスラッシュプレフィックスが含まれている場合に使用します。 |
StepFunctionsExecutionPolicy | Step Functions ステートマシンの実行を開始する許可を付与します。 |
TextractDetectAnalyzePolicy | Amazon Textract でドキュメントを検出して分析するためのアクセス権を付与します。 |
TextractGetResultPolicy | 検出および分析されたドキュメントを Amazon Textract から取得するためのアクセス権を付与します。 |
TextractPolicy | Amazon Textract へのフルアクセス権を付与します。 |
VPCAccessPolicy | Elastic Network Interface を作成、削除、記述、およびデタッチするアクセス権を付与します。 |
トラブルシューティング
SAM CLI エラー:「ポリシーテンプレート '<policy-template-name>' に有効なパラメータ値を指定する必要があります」
sam build
の実行時に、以下のエラーが表示されます。
"Must specify valid parameter values for policy template '<policy-template-name>'"
これは、プレースホルダ値がないポリシーテンプレートを宣言したときに、空のオブジェクトが渡されなかったことを意味します。
これを修正するには、以下の CloudWatchPutMetricPolicy 例のようにポリシーを宣言します。
MyFunction: Policies: - CloudWatchPutMetricPolicy: {}