

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

# Amazon Bedrock 에이전트에 대한 서비스 역할 생성
<a name="agents-permissions"></a>

Amazon Bedrock에서 자동으로 생성하는 역할 대신 에이전트에 대한 사용자 지정 서비스 역할을 사용하려면 서비스에 권한을 [위임할 역할 생성의 단계에 따라 IAM 역할을 생성하고 다음 권한을 연결합니다AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).
+ 신뢰 정책
+ 다음 자격 증명 기반 권한이 포함된 정책입니다.
  + Amazon Bedrock 기본 모델에 대한 액세스 권한
  + 에이전트의 작업 그룹용 OpenAPI 스키마가 포함된 Amazon S3 객체에 대한 액세스 권한
  + Amazon Bedrock에서 에이전트에 연결하려는 지식 기반을 쿼리할 수 있는 권한
  + 사용 사례가 다음 상황에 관련된 경우, 정책에 설명을 추가하거나 서비스 역할에 대한 설명이 포함된 정책을 추가합니다.
    + (선택 사항) 다중 에이전트 협업을 활성화하면 별칭을 가져오고 에이전트 공동 작업자를 간접 호출할 수 있는 권한이 부여됩니다.
    + (선택 사항) 프로비저닝된 처리량을 에이전트 별칭과 연결하는 경우, 해당 프로비저닝된 처리량을 사용하여 모델 간접 호출을 수행할 수 있는 권한을 부여합니다.
    + (선택 사항) 에이전트에 가드레일을 연결하는 경우, 해당 가드레일을 적용할 수 있는 권한을 부여합니다. 가드레일이 KMS 키로 암호화된 경우, 서비스 역할에도 [키를 복호화할 수 있는 권한](guardrails-permissions-kms.md)이 필요합니다.
    + (선택 사항) KMS 키로 에이전트를 암호화하는 경우, [키를 복호화할 수 있는 권한](encryption-agents.md)을 부여합니다.

사용자 지정 역할 사용 여부와 관계없이, 에이전트의 작업 그룹에 대한 Lambda 함수에 **리소스 기반 정책**을 연결하여 서비스 역할이 함수에 액세스할 수 있는 권한을 제공해야 합니다. 자세한 내용은 [Amazon Bedrock이 작업 그룹 Lambda 함수를 간접적으로 호출하도록 허용하는 리소스 기반 정책](#agents-permissions-lambda) 섹션을 참조하세요.

**Topics**
+ [신뢰 관계](#agents-permissions-trust)
+ [에이전트 서비스 역할에 대한 자격 증명 기반 권한](#agents-permissions-identity)
+ [(선택 사항) Amazon Bedrock이 에이전트 별칭과 함께 프로비저닝된 처리량을 사용하도록 허용하는 ID 기반 정책](#agents-permissions-pt)
+ [(선택 사항) Amazon Bedrock이 에이전트 공동 작업자를 연결하고 간접 호출하도록 허용하는 자격 증명 기반 정책](#agents-permissions-mac)
+ [(선택 사항) Amazon Bedrock이 에이전트에서 가드레일을 사용하도록 허용하는 ID 기반 정책](#agents-permissions-gr)
+ [(선택 사항) Amazon Bedrock이 코드 해석에 사용할 S3의 파일에 액세스할 수 있도록 허용하는 ID 기반 정책](#agents-permissions-files-ci)
+ [Amazon Bedrock이 작업 그룹 Lambda 함수를 간접적으로 호출하도록 허용하는 리소스 기반 정책](#agents-permissions-lambda)

## 신뢰 관계
<a name="agents-permissions-trust"></a>

다음 신뢰 정책은 Amazon Bedrock이 이 역할을 맡아 에이전트를 만들고 관리할 수 있도록 허용합니다. 필요에 따라 {{${values}}}를 바꿉니다. 이 정책에는 보안 모범 사례로 사용할 것을 권장하는 선택적 조건 키([Amazon Bedrock의 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) 및 [AWS 전역 조건 컨텍스트 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) 참조)가 `Condition` 필드에 포함되어 있습니다.

**참고**  
보안을 위한 가장 좋은 방법은 에이전트 ID를 생성한 후 {{\*}}를 특정 에이전트 ID로 바꾸는 것입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{123456789012}}"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:agent/{{*}}"
                }
            }
        }
    ]
}
```

------

## 에이전트 서비스 역할에 대한 자격 증명 기반 권한
<a name="agents-permissions-identity"></a>

다음 정책을 연결하여 서비스 역할에 대한 권한을 제공하고 필요에 따라 {{${values}}}를 대체합니다. 정책에는 다음과 같은 설명이 포함되어 있습니다. 사용 사례에 해당되지 않는 설명은 생략합니다. 이 정책에는 보안 모범 사례로 사용할 것을 권장하는 선택적 조건 키([Amazon Bedrock의 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) 및 [AWS 전역 조건 컨텍스트 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) 참조)가 `Condition` 필드에 포함되어 있습니다.

**참고**  
고객 관리형 KMS 키로 에이전트를 암호화하는 경우, 추가해야 하는 추가 권한은 [2025년 1월 22일 이전에 생성된 에이전트의 에이전트 리소스 암호화](encryption-agents.md) 섹션을 참조하세요.
+ Amazon Bedrock 파운데이션 모델을 사용하여 에이전트의 오케스트레이션에 사용되는 프롬프트에서 모델 추론을 실행할 수 있는 권한.
+ Amazon S3의 에이전트 작업 그룹 API 스키마에 액세스할 수 있는 권한. 에이전트에 작업 그룹이 없는 경우 이 설명을 생략합니다.
+ 에이전트와 관련된 지식 기반에 액세스할 수 있는 권한. 에이전트에 연결된 지식 기반이 없는 경우 이 설명을 생략합니다.
+ 에이전트와 연결된 타사(Pinecone 또는 Redis Enterprise Cloud) 지식 기반에 액세스할 수 있는 권한. 지식 기반이 자사(Amazon OpenSearch Serverless 또는 Amazon Aurora)이거나 에이전트에 연결된 지식 기반이 없는 경우 이 설명을 생략합니다.
+ 프롬프트 관리에서 프롬프트에 액세스할 수 있는 권한입니다. Amazon Bedrock 콘솔에서 에이전트를 사용하여 프롬프트 관리의 프롬프트를 테스트할 계획이 없는 경우 이 문을 생략합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "{{AgentModelInvocationPermissions}}",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/anthropic.claude-v2",
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/anthropic.claude-v2:1",
                "arn:aws:bedrock:{{us-east-1}}::foundation-model/anthropic.claude-instant-v1"
            ]
        },
        {
            "Sid": "{{AgentActionGroupS3}}",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/SchemaJson"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "{{123456789012}}"
                }
            }
        },
        {
            "Sid": "{{AgentKnowledgeBaseQuery}}",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:knowledge-base/{{knowledge-base-id}}"
            ]
        },
        {
            "Sid": "{{Agent3PKnowledgeBase}}",
            "Effect": "Allow",
            "Action": [
                "bedrock:AssociateThirdPartyKnowledgeBase"
            ],
            "Resource": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:knowledge-base/{{knowledge-base-id}}",
            "Condition": {
                "StringEquals": {
                    "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/{{KeyId}}"
                }
            }
        },
        {
            "Sid": "{{AgentPromptManagementConsole}}",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetPrompt"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:prompt/{{prompt-id}}"
            ]
        }
    ]
}
```

------

## (선택 사항) Amazon Bedrock이 에이전트 별칭과 함께 프로비저닝된 처리량을 사용하도록 허용하는 ID 기반 정책
<a name="agents-permissions-pt"></a>

[프로비저닝된 처리량](prov-throughput.md)을 에이전트의 별칭과 연결하는 경우 서비스 역할에 다음 ID 기반 정책을 연결하거나 [에이전트 서비스 역할에 대한 자격 증명 기반 권한](#agents-permissions-identity)의 정책에 설명을 추가합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {        
        "Sid": "UseProvisionedThroughput",
        "Effect": "Allow",
        "Action": [
            "bedrock:InvokeModel", 
            "bedrock:GetProvisionedModelThroughput"
        ],
        "Resource": [
            "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:provisioned-model/{{${provisioned-model-id}}}"
        ]
      }
    ]
}
```

------

## (선택 사항) Amazon Bedrock이 에이전트 공동 작업자를 연결하고 간접 호출하도록 허용하는 자격 증명 기반 정책
<a name="agents-permissions-mac"></a>

[다중 에이전트 협업](agents-multi-agent-collaboration.md)을 활성화하는 경우 다음 자격 증명 기반 정책을 서비스 역할에 연결하거나 [에이전트 서비스 역할에 대한 자격 증명 기반 권한](#agents-permissions-identity)의 정책에 문을 추가합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AmazonBedrockAgentMultiAgentsPolicyProd",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetAgentAlias",
                "bedrock:InvokeAgent"
            ],
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:{{agent-alias}}/{{${agent-id}}}/{{${agent-alias-id}}}"
            ]
        }
    ]
}
```

------

## (선택 사항) Amazon Bedrock이 에이전트에서 가드레일을 사용하도록 허용하는 ID 기반 정책
<a name="agents-permissions-gr"></a>

[가드레일](guardrails.md)을 에이전트에 연결하는 경우 다음 ID 기반 정책을 서비스 역할에 연결하거나 [에이전트 서비스 역할에 대한 자격 증명 기반 권한](#agents-permissions-identity)의 정책에 설명을 추가합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "{{ApplyGuardrail}}",
            "Effect": "Allow",
            "Action": "bedrock:ApplyGuardrail",
            "Resource": [
                "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:guardrail/{{${guardrail-id}}}"
            ]
        }
    ]
}
```

------

## (선택 사항) Amazon Bedrock이 코드 해석에 사용할 S3의 파일에 액세스할 수 있도록 허용하는 ID 기반 정책
<a name="agents-permissions-files-ci"></a>

[Amazon Bedrock에서 코드 해석 활성화](agents-enable-code-interpretation.md)하는 경우 다음 ID 기반 정책을 서비스 역할에 연결하거나 [에이전트 서비스 역할에 대한 ID 기반 권한](https://docs.aws.amazon.com//bedrock/latest/userguide/agents-permissions.html#agents-permissions-identity)의 정책에 설명을 추가합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {       
        "Sid": "AmazonBedrockAgentFileAccess", 
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:GetObjectVersionAttributes",
            "s3:GetObjectAttributes"
        ],
        "Resource": [
            "arn:aws:s3:::[[customerProvidedS3BucketWithKey]]"
        ]
      }
    ]
}
```

------

## Amazon Bedrock이 작업 그룹 Lambda 함수를 간접적으로 호출하도록 허용하는 리소스 기반 정책
<a name="agents-permissions-lambda"></a>

[Lambda에 리소스 기반 정책 사용](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html)의 단계에 따라 다음 리소스 기반 정책을 Lambda 함수에 연결하여 Amazon Bedrock이 에이전트의 작업 그룹에 대한 Lambda 함수에 액세스하도록 허용하고 필요에 따라 {{${values}}}를 대체합니다. 이 정책에는 보안 모범 사례로 사용할 것을 권장하는 선택적 조건 키([Amazon Bedrock의 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) 및 [AWS 전역 조건 컨텍스트 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) 참조)가 `Condition` 필드에 포함되어 있습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "{{AccessLambdaFunction}}",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:{{us-east-1}}:{{123456789012}}:function:{{function-name}}",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "{{123456789012}}"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:agent/{{${agent-id}}}"
                }
            }
        }
    ]
}
```

------