Lambda レイヤーへのアクセス権をユーザーに付与する - AWS Lambda

Lambda レイヤーへのアクセス権をユーザーに付与する

アイデンティティベースのポリシーを使用して、ユーザー、ユーザーグループ、またはロールが Lambda レイヤーでオペレーションを実行できるようにします。次のポリシーでは、レイヤーを作成し、それらを関数と共に使用するためのユーザーアクセス許可を付与します。リソースパターンでは、レイヤーの名前が test- で開始している限り、ユーザーは、すべての AWS リージョン ですべてのレイヤーバージョンを使用できます。

例 レイヤーの開発ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublishLayers", "Effect": "Allow", "Action": [ "lambda:PublishLayerVersion" ], "Resource": "arn:aws:lambda:*:*:layer:test-*" }, { "Sid": "ManageLayerVersions", "Effect": "Allow", "Action": [ "lambda:GetLayerVersion", "lambda:DeleteLayerVersion" ], "Resource": "arn:aws:lambda:*:*:layer:test-*:*" } ] }

また、関数作成時のレイヤーの使用や、lambda:Layer 条件を指定した設定を強制することもできます。たとえば、ユーザーが、他のアカウントによって発行されたレイヤーを使用できないようにすることもできます。次のポリシーでは、指定されたすべてのレイヤーをアカウント CreateFunction で作成することを求める条件を UpdateFunctionConfiguration および 123456789012 に追加します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConfigureFunctions", "Effect": "Allow", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Resource": "*", "Condition": { "ForAllValues:StringLike": { "lambda:Layer": [ "arn:aws:lambda:*:123456789012:layer:*:*" ] } } } ] }

条件が適用されるように、他のステートメントによって、これらのアクションに対するアクセス許可がユーザーに付与されていないことを確認します。