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:*:*" ] } }
条件が適用されるように、他のステートメントによって、これらのアクションに対するアクセス許可がユーザーに付与されていないことを確認します。