Amazon Bedrock에서 Amazon Bedrock 프롬프트 흐름에 대한 서비스 역할 생성 - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Bedrock에서 Amazon Bedrock 프롬프트 흐름에 대한 서비스 역할 생성

Amazon Bedrock에서 프롬프트 흐름을 생성하고 관리하려면 이 페이지에 설명된 필수 권한이 있는 서비스 역할을 사용해야 합니다. Amazon Bedrock이 콘솔에서 자동으로 생성하는 서비스 역할을 사용하거나 직접 사용자 지정하는 역할을 사용할 수 있습니다.

참고

Amazon Bedrock이 콘솔에서 자동으로 생성하는 서비스 역할을 사용하는 경우 흐름에 노드를 추가하고 흐름을 저장하면 동적으로 권한을 연결합니다. 그러나 노드를 제거하면 권한이 삭제되지 않으므로 더 이상 필요하지 않은 권한을 삭제해야 합니다. 사용자를 위해 생성된 역할에 대한 권한을 관리하려면 IAM 사용 설명서의 역할 수정 단계를 따르세요.

Amazon Bedrock 프롬프트 흐름에 대한 사용자 지정 서비스 역할을 생성하려면 IAM 서비스에 권한을 위임하는 역할 생성의 단계에 따라 역할을 생성합니다 AWS. 그런 다음 역할에 다음 권한을 연결합니다.

  • 신뢰 정책

  • 다음 자격 증명 기반 권한:

    • 프롬프트 흐름에서 사용할 Amazon Bedrock 기본 모델에 대한 액세스입니다. 프롬프트 흐름에 사용되는 각 모델을 Resource 목록에 추가합니다.

    • 프로비저닝된 처리량을 사용하여 모델을 호출하는 경우 프로비저닝된 모델에 액세스하고 호출할 수 있는 권한입니다. 프롬프트 흐름에 사용되는 각 모델을 Resource 목록에 추가합니다.

    • 사용자 지정 모델을 호출하는 경우 사용자 지정 모델에 액세스하고 호출할 수 있는 권한입니다. 프롬프트 흐름에 사용되는 각 모델을 Resource 목록에 추가합니다.

    • 흐름에 추가하는 노드를 기반으로 한 권한:

      • 프롬프트 관리의 프롬프트를 사용하는 프롬프트 노드를 포함하는 경우 프롬프트에 액세스할 수 있는 권한입니다. 프롬프트 흐름에 사용되는 각 프롬프트를 Resource 목록에 추가합니다.

      • 지식 기반 노드를 포함하는 경우 지식 기반을 쿼리할 수 있는 권한입니다. 프롬프트 흐름에서 쿼리된 각 지식 기반을 Resource 목록에 추가합니다.

      • 에이전트 노드를 포함하는 경우 에이전트의 별칭을 호출할 수 있는 권한입니다. 프롬프트 흐름에서 호출된 각 에이전트를 Resource 목록에 추가합니다.

      • S3 검색 노드를 포함하는 경우 데이터를 검색할 Amazon S3 버킷에 액세스할 수 있는 권한입니다. 데이터가 검색되는 각 버킷을 Resource 목록에 추가합니다.

      • S3 스토리지 노드를 포함하는 경우 출력 데이터가 저장될 Amazon S3 버킷에 쓸 수 있는 권한입니다. 데이터가 기록되는 각 버킷을 Resource 목록에 추가합니다.

      • 프롬프트 흐름에서 호출된 리소스를 암호화한 경우 키를 복호화할 수 있는 권한입니다. Resource 목록에 각 키를 추가합니다.

다음 리소스 기반 정책을 연결해야 할 수도 있습니다.

  • Lambda 함수 노드를 포함하는 경우 프롬프트 흐름이 호출하여 서비스 역할이 함수에 액세스할 수 있는 권한을 제공하는 리소스 기반 정책을 Lambda 함수에 연결합니다. 자세한 내용은 Amazon Bedrock이 작업 그룹 Lambda 함수를 호출하도록 허용하는 리소스 기반 정책 단원을 참조하십시오.

  • Amazon Lex 노드를 포함하는 경우 프롬프트 흐름이 호출하여 서비스 역할이 Amazon Lex 봇에 액세스할 수 있는 권한을 제공하는 리소스 기반 정책을 Amazon Lex 봇에 연결합니다. 자세한 내용은 Amazon Lex에 대한 리소스 기반 정책 예제를 참조하세요.

  • 프롬프트 흐름을 암호화하는 경우 프롬프트 흐름을 암호화하는 데 사용하는 KMS 키에 키 정책을 연결합니다.

신뢰 관계

Amazon Bedrock이 이 역할을 수임하고 프롬프트 흐름을 관리할 수 있도록 다음 신뢰 정책을 프롬프트 흐름 실행 역할에 연결합니다. 교체 values 필요에 따라. 이 정책에는 보안 모범 사례로 사용할 것을 권장하는 선택적 조건 키(Amazon Bedrock의 조건 키 및 AWS 전역 조건 컨텍스트 키 참조)가 Condition 필드에 포함되어 있습니다.

참고

모범 사례로 * 생성 후 프롬프트 흐름 ID를 사용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FlowsTrustBedrock", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "${account-id}" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:flow/*" } } } ] }

흐름 서비스 역할에 대한 자격 증명 기반 권한입니다.

다음 정책을 연결하여 서비스 역할에 대한 권한을 제공하고 values 필요에 따라. 정책에는 다음 문이 포함되어 있습니다. 사용 사례에 적용되지 않는 문은 생략합니다. 정책에는 보안 모범 사례로 사용하는 것이 권장되는 선택적 조건 키(Amazon Bedrock의 조건 키 및 AWS 전역 조건 컨텍스트 키 참조)가 Condition 필드에 포함되어 있습니다.

  • 프롬프트 흐름에서 사용할 Amazon Bedrock 기본 모델에 대한 액세스입니다. 프롬프트 흐름에 사용되는 각 모델을 Resource 목록에 추가합니다.

  • 프로비저닝된 처리량을 사용하여 모델을 호출하는 경우 프로비저닝된 모델에 액세스하고 호출할 수 있는 권한입니다. 프롬프트 흐름에 사용되는 각 모델을 Resource 목록에 추가합니다.

  • 사용자 지정 모델을 호출하는 경우 사용자 지정 모델에 액세스하고 호출할 수 있는 권한입니다. 프롬프트 흐름에 사용되는 각 모델을 Resource 목록에 추가합니다.

  • 흐름에 추가하는 노드를 기반으로 한 권한:

    • 프롬프트 관리의 프롬프트를 사용하는 프롬프트 노드를 포함하는 경우 프롬프트에 액세스할 수 있는 권한입니다. 프롬프트 흐름에 사용되는 각 프롬프트를 Resource 목록에 추가합니다.

    • 지식 기반 노드를 포함하는 경우 지식 기반을 쿼리할 수 있는 권한입니다. 프롬프트 흐름에서 쿼리된 각 지식 기반을 Resource 목록에 추가합니다.

    • 에이전트 노드를 포함하는 경우 에이전트의 별칭을 호출할 수 있는 권한입니다. 프롬프트 흐름에서 호출된 각 에이전트를 Resource 목록에 추가합니다.

    • S3 검색 노드를 포함하는 경우 데이터를 검색할 Amazon S3 버킷에 액세스할 수 있는 권한입니다. 데이터가 검색되는 각 버킷을 Resource 목록에 추가합니다.

    • S3 스토리지 노드를 포함하는 경우 출력 데이터가 저장될 Amazon S3 버킷에 쓸 수 있는 권한입니다. 데이터가 기록되는 각 버킷을 Resource 목록에 추가합니다.

    • 프롬프트 흐름에서 호출된 리소스를 암호화한 경우 키를 복호화할 수 있는 권한입니다. Resource 목록에 각 키를 추가합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "InvokeModel", "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:${region}::foundation-model/${model-id}" ] }, { "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetProvisionedModelThroughput" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:provisioned-model/${model-id}" ] }, { "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetCustomModel" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:custom-model/${model-id}" ] }, { "Sid": "UsePromptManagement", "Effect": "Allow", "Action": [ "bedrock:GetPrompt" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:prompt/${prompt-id}" ] }, { "Sid": "QueryKnowledgeBase", "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:RetrieveAndGenerate" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id" ] }, { "Sid": "InvokeAgent", "Effect": "Allow", "Action": [ "bedrock:InvokeAgent" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:agent-alias/${agent-alias-id}" ] }, { "Sid": "AccessS3Bucket", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::${bucket-name}/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "WriteToS3Bucket", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::${bucket-name}", "arn:aws:s3:::${bucket-name}/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "KMSPermissions", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${region}:${account-id}:key/${key-id}" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } } ] }

프롬프트 흐름에 대한 리소스 기반 정책

프롬프트 흐름에 Lambda 함수 노드 또는 Amazon Lex 노드를 포함하는 경우, Amazon Bedrock이 프롬프트 흐름을 호출할 때 액세스할 수 있는 권한을 제공하기 위해 각 리소스에 다음 정책을 연결해야 합니다.

프롬프트 흐름을 호출할 때 Amazon Bedrock이 Lambda 함수를 호출하도록 허용하는 리소스 기반 정책

Lambda에 대한 리소스 기반 정책 사용의 단계에 따라 다음 리소스 기반 정책을 Lambda 함수에 연결하여 Amazon Bedrock이 프롬프트 흐름을 위해 Lambda 함수에 액세스하도록 허용하고 values 필요에 따라. 이 정책에는 보안 모범 사례로 사용할 것을 권장하는 선택적 조건 키(Amazon Bedrock의 조건 키 및 AWS 전역 조건 컨텍스트 키 참조)가 Condition 필드에 포함되어 있습니다.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowBedrockToAccessLambdaFunction", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:${region}:${account-id}:function:${function-name}", "Condition": { "StringEquals": { "AWS:SourceAccount": "${account-id}" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:flow/${flow-id}" } } }] }

Amazon Bedrock이 Amazon Lex 봇을 호출하도록 허용하는 리소스 기반 정책

Amazon Lex에 대한 리소스 기반 정책 예제의 단계에 따라 Amazon Lex 봇에 다음 리소스 기반 정책을 연결하여 Amazon Bedrock이 프롬프트 흐름으로 호출할 수 있도록 하고 values 필요에 따라. 이 정책에는 보안 모범 사례로 사용할 것을 권장하는 선택적 조건 키(Amazon Bedrock의 조건 키 및 AWS 전역 조건 컨텍스트 키 참조)가 Condition 필드에 포함되어 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBedrockToAccessLexBot", "Effect": "Allow", "Principal": { "Service": [ "bedrock.amazonaws.com" ] }, "Action": [ "lex:RecognizeUtterance" ], "Resource": [ "arn:aws:lex:${region}:${account-id}:bot-alias/${bot-id}/${bot-alias-id}" ], "Condition": { "StringEquals": { "AWS:SourceAccount": ${account-id} }, "ArnEquals": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:flow/${flow-id}" } } } ]

Amazon Bedrock이 흐름을 암호화 및 복호화할 수 있도록 허용하는 주요 정책

키 정책 생성의 단계에 따라 다음 키 정책을 KMS 키에 연결하여 Amazon Bedrock이 키로 흐름을 암호화 및 복호화하고 values 필요에 따라. 정책에는 보안 모범 사례로 사용하는 것이 권장되는 선택적 조건 키(Amazon Bedrock의 조건 키 및 AWS 전역 조건 컨텍스트 키 참조)가 Condition 필드에 포함되어 있습니다.

{ "Sid": "EncryptFlowKMS", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext": "arn:aws:bedrock:${region}:${account-id}:flow/${flow-id}" } } }