Sam Hulick
08/12/2021, 3:08 AMSam Hulick
08/12/2021, 3:10 AMlambda.LayerVersion
in my CDK code, but I’d need to reference a zip on S3 in another AWS accountGuy Shechter
08/12/2021, 3:17 AMLAMBDA_LAYER_ARN=arn:aws:lambda:us-east-1:XXXXX:layer:XXXX:33
Then in your stack:
const myLambdaLayer = lambda.LayerVersion.fromLayerVersionArn(this,
'myLayer', <string>process.env.LAMBDA_LAYER_ARN);
Then in your Lambda definition
return new sst.Api(this, 'Api', {
defaultFunctionProps: {
layers: [myLambdaLayer]
Sam Hulick
08/12/2021, 3:29 AMAshishkumar Pandey
08/12/2021, 3:54 AMAshishkumar Pandey
08/12/2021, 3:54 AMSam Hulick
08/12/2021, 4:00 AMAshishkumar Pandey
08/12/2021, 4:01 AMAshishkumar Pandey
08/12/2021, 4:01 AMSam Hulick
08/12/2021, 4:02 AMAshishkumar Pandey
08/12/2021, 4:03 AMSam Hulick
08/12/2021, 4:07 AMSam Hulick
08/12/2021, 4:07 AMAshishkumar Pandey
08/12/2021, 4:07 AMSam Hulick
08/12/2021, 4:07 AMSam Hulick
08/12/2021, 4:12 AMAshishkumar Pandey
08/12/2021, 4:13 AMSam Hulick
08/12/2021, 4:35 AMAshishkumar Pandey
08/12/2021, 4:36 AMSam Hulick
08/12/2021, 4:38 AMSam Hulick
08/12/2021, 4:38 AM'*'
and organizationID with my organization ID (obviously)Sam Hulick
08/12/2021, 4:39 AMaddPermission('ARN of layer in Account A', layerVersionPermission)
Ashishkumar Pandey
08/12/2021, 4:39 AMSam Hulick
08/12/2021, 4:41 AMAshishkumar Pandey
08/12/2021, 4:43 AMaddPermission
works on the source layer and account and not on the target. Once you create the layer and add the permission everything from the source side should be done.
On the target side you’d use LayerVersion.fromLayerVersionArn
or LayerVersion.fromLayerVersionAttributes
to refer it.Sam Hulick
08/12/2021, 4:45 AMAshishkumar Pandey
08/12/2021, 4:46 AMSam Hulick
08/12/2021, 4:47 AMaddPermission
to gain access to the primary account’s layers.. ? that would be a security flaw 😄Sam Hulick
08/12/2021, 4:48 AMAshishkumar Pandey
08/12/2021, 4:48 AMSam Hulick
08/12/2021, 4:48 AMyarn deploy
, it’ll add that permissionAshishkumar Pandey
08/12/2021, 4:49 AMSam Hulick
08/12/2021, 4:49 AMAshishkumar Pandey
08/12/2021, 4:49 AMSam Hulick
08/12/2021, 4:50 AMAshishkumar Pandey
08/12/2021, 4:54 AMAshishkumar Pandey
08/12/2021, 4:59 AM{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "lambda:GetLayerVersion",
"Resource": "arn:aws:lambda:ap-south-1:xxx:layer:test:test",
"Condition": {
"StringEquals": {
"aws:PrincipalAccount": "subaccount"
}
}
}
]
}
Sam Hulick
08/12/2021, 5:01 AM{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "lambda:GetLayerVersion",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "o-xxx"
}
}
}
]
}
Ashishkumar Pandey
08/12/2021, 5:02 AMSam Hulick
08/12/2021, 5:02 AMSam Hulick
08/12/2021, 5:02 AMAshishkumar Pandey
08/12/2021, 5:03 AMAshishkumar Pandey
08/12/2021, 5:03 AMsudo
though. 😅Sam Hulick
08/12/2021, 5:04 AMSam Hulick
08/12/2021, 5:04 AM{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "lambda:GetLayerVersion",
"Resource": "arn:aws:lambda:*:808557273244:layer:*:*",
"Condition": {
"StringEquals": {
"aws:PrincipalAccount": "*",
"aws:PrincipalOrgID": "o-34kxmykfnr"
}
}
}
]
}
Sam Hulick
08/12/2021, 5:04 AMAshishkumar Pandey
08/12/2021, 5:05 AMSam Hulick
08/12/2021, 5:06 AMAshishkumar Pandey
08/12/2021, 5:06 AMSam Hulick
08/12/2021, 5:07 AMResource handler returned message: "User: arn:aws:iam::<sub_account>:user/sammy is not authorized to perform: lambda:GetLayerVersion on resource: arn:aws:lambda:us-east-1:<main_account>:layer:audio-tools:4
Ashishkumar Pandey
08/12/2021, 5:09 AMSam Hulick
08/12/2021, 5:09 AMSam Hulick
08/12/2021, 5:10 AM"Principal": {
"AWS": "arn:aws:iam::<sub_account>:root"
},
Sam Hulick
08/12/2021, 5:11 AMSam Hulick
08/12/2021, 5:11 AMSam Hulick
08/12/2021, 5:12 AMAshishkumar Pandey
08/12/2021, 5:12 AM{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "lambda:GetLayerVersion",
"Resource": "arn:aws:lambda:ap-south-1:xxx:layer:test:test",
"Condition": {
"ArnEquals": {
"aws:PrincipalArn": "arn:aws:iam::xxx:user/ashish"
}
}
}
]
}
Sam Hulick
08/12/2021, 5:16 AMSam Hulick
08/12/2021, 5:16 AMAshishkumar Pandey
08/12/2021, 5:16 AMAshishkumar Pandey
08/12/2021, 5:16 AMSam Hulick
08/12/2021, 5:16 AMAshishkumar Pandey
08/12/2021, 5:17 AMSam Hulick
08/12/2021, 5:18 AMSam Hulick
08/12/2021, 5:18 AMAshishkumar Pandey
08/12/2021, 5:18 AMSam Hulick
08/12/2021, 5:18 AM:root
for the IAM userSam Hulick
08/12/2021, 5:19 AM:root
is for STS & trusted accounts I believeAshishkumar Pandey
08/12/2021, 5:19 AMAshishkumar Pandey
08/12/2021, 5:20 AMSam Hulick
08/12/2021, 5:20 AM{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<sub_account>:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
Sam Hulick
08/12/2021, 5:21 AMAshishkumar Pandey
08/12/2021, 5:22 AMSam Hulick
08/12/2021, 5:22 AMAshishkumar Pandey
08/12/2021, 5:24 AM"Condition": {
"StringEquals": {
"aws:PrincipalType": "User"
}
}
Sam Hulick
08/12/2021, 5:25 AMAshishkumar Pandey
08/12/2021, 5:25 AMSam Hulick
08/12/2021, 5:26 AMlambda:GetLayerVersion
. ?Ashishkumar Pandey
08/12/2021, 5:26 AMSam Hulick
08/12/2021, 5:26 AMSam Hulick
08/12/2021, 5:27 AMAshishkumar Pandey
08/12/2021, 5:27 AMAshishkumar Pandey
08/12/2021, 5:29 AMaws lambda add-layer-version-permission --layer-name my-layer \
--statement-id engineering-org --version-number 3 --principal '*' \
--action lambda:GetLayerVersion --organization-id o-t194hfs8cz --output text
Sam Hulick
08/12/2021, 5:31 AMAshishkumar Pandey
08/12/2021, 5:32 AMSam Hulick
08/12/2021, 5:34 AMSam Hulick
08/12/2021, 5:34 AMSam Hulick
08/12/2021, 5:35 AMAshishkumar Pandey
08/12/2021, 5:36 AMSam Hulick
08/12/2021, 5:36 AMAshishkumar Pandey
08/12/2021, 5:37 AMSam Hulick
08/12/2021, 5:38 AMSam Hulick
08/12/2021, 5:39 AMAshishkumar Pandey
08/12/2021, 5:40 AMget-layer-version-policy
Sam Hulick
08/12/2021, 5:40 AMSam Hulick
08/12/2021, 5:41 AMAshishkumar Pandey
08/12/2021, 5:41 AMAshishkumar Pandey
08/12/2021, 5:42 AMSam Hulick
08/12/2021, 5:42 AMAshishkumar Pandey
08/12/2021, 5:42 AMSam Hulick
08/12/2021, 5:44 AMJay
Ashishkumar Pandey
08/14/2021, 1:14 AM