Skip to content

Commit c1f4bb4

Browse files
committed
Add comprehensive Bedrock Prompt Management permissions
1 parent d9c00a3 commit c1f4bb4

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

packages/cdk/nagSuppressions.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,11 +145,12 @@ export const nagSuppressions = (stack: Stack) => {
145145
[
146146
{
147147
id: "AwsSolutions-IAM5",
148-
reason: "SlackBot Lambda needs wildcard access for Lambda functions (self-invocation), KMS operations, and Bedrock prompts.",
148+
reason: "SlackBot Lambda requires wildcard access for Lambda, KMS, and Bedrock resources.",
149149
appliesTo: [
150150
`Resource::arn:aws:lambda:eu-west-2:${account}:function:*`,
151151
`Resource::arn:aws:bedrock:eu-west-2:${account}:prompt/*`,
152-
`Resource::arn:aws:bedrock:eu-west-2:${account}:prompt/${stackName}-queryReformulation:*`,
152+
`Resource::arn:aws:bedrock:eu-west-2::foundation-model/*`,
153+
`Resource::arn:aws:bedrock:eu-west-2:${account}:inference-profile/*`,
153154
"Action::kms:GenerateDataKey*",
154155
"Action::kms:ReEncrypt*"
155156
]

packages/cdk/resources/RuntimePolicies.ts

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,27 @@ export class RuntimePolicies extends Construct {
6363
})
6464

6565
const slackBotPromptPolicy = new PolicyStatement({
66-
actions: ["bedrock:GetPrompt"],
66+
actions: [
67+
"bedrock:CreatePrompt",
68+
"bedrock:UpdatePrompt",
69+
"bedrock:GetPrompt",
70+
"bedrock:ListPrompts",
71+
"bedrock:DeletePrompt",
72+
"bedrock:CreatePromptVersion",
73+
"bedrock:OptimizePrompt",
74+
"bedrock:GetFoundationModel",
75+
"bedrock:ListFoundationModels",
76+
"bedrock:GetInferenceProfile",
77+
"bedrock:ListInferenceProfiles",
78+
"bedrock:RenderPrompt",
79+
"bedrock:TagResource",
80+
"bedrock:UntagResource",
81+
"bedrock:ListTagsForResource"
82+
],
6783
resources: [
68-
`arn:aws:bedrock:${props.region}:${props.account}:prompt/${props.promptName}`,
69-
`arn:aws:bedrock:${props.region}:${props.account}:prompt/${props.promptName}:*`
84+
`arn:aws:bedrock:${props.region}:${props.account}:prompt/*`,
85+
`arn:aws:bedrock:${props.region}::foundation-model/*`,
86+
`arn:aws:bedrock:${props.region}:${props.account}:inference-profile/*`
7087
]
7188
})
7289

0 commit comments

Comments
 (0)