

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

# 고객 관리형 키(CMK)를 사용한 에이전트 리소스 암호화
<a name="cmk-agent-resources"></a>

언제든지 고객 관리형 키를 생성하여 에이전트를 빌드할 때 제공된 다음 에이전트 정보를 사용하여 에이전트의 정보를 암호화할 수 있습니다.

**참고**  
다음 에이전트 리소스는 2025년 1월 22일 이후에 생성된 에이전트에 대해서만 암호화됩니다.


****  


- **[CreateAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgent.html)**
  - **CMK 활성화 필드:** instruction / **설명:** 에이전트에게 수행해야 할 작업과 사용자와 상호 작용하는 방법을 지시합니다.
  - **CMK 활성화 필드:** basePromptTemplate / **설명:** 기본 프롬프트 템플릿을 대체할 프롬프트 템플릿을 정의합니다.

- **[CreateAgentActionGroup](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html)**
  - **CMK 활성화 필드:** description / **설명:** 작업 그룹에 대한 설명
  - **CMK 활성화 필드:** [apiSchema](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_APISchema.html) / **설명:** 에이전트 작업 그룹의 apiSchema 세부 정보 또는 스키마를 정의하는 JSON 또는 YAML 형식 페이로드가 포함됩니다.
  - **CMK 활성화 필드:** [s3](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_APISchema.html) / **설명:** 에이전트 작업 그룹의 apiSchema가 포함된 Amazon S3 객체에 대한 세부 정보를 포함합니다.
  - **CMK 활성화 필드:** functionSchema / **설명:** 에이전트 작업 그룹의 함수 스키마 또는 스키마를 정의하는 JSON-YAML 형식의 페이로드에 대한 세부 정보를 포함합니다.

- **[AssociateAgentKnowledgeBase](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_AssociateAgentKnowledgeBase.html)**
  - **CMK 활성화 필드:** description
  - **설명:** 에이전트가 지식 기반을 사용해야 하는 이유에 대한 설명

- **[AssociateAgentCollaborator](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_AssociateAgentCollaborator.html)**
  - **CMK 활성화 필드:** collaborationInstruction
  - **설명:** 공동 작업자 에이전트를 위한 지침



고객 관리형 키를 사용하려면 다음 단계를 완료합니다.

1.  AWS Key Management Service를 사용하여 고객 관리형 키를 만듭니다.

1. 키 정책을 만들고 고객 관리형 키에 연결

## 고객 관리형 키 생성
<a name="create-cmk-agent"></a>

 AWS 관리 콘솔 또는 AWS Key Management Service APIs.

 먼저 `CreateKey` 권한이 있는지 확인한 다음 *AWS Key Management Service 개발자 안내서*의 [대칭 고객 관리형 키 생성](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) 단계를 따릅니다.

**키 정책** - 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 만들 때 키 정책을 지정할 수 있습니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [고객 관리형 키에 대한 액세스 관리](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)를 참조하세요.

2025년 1월 22일 이후에 에이전트를 생성하고 고객 관리형 키를 사용하여 에이전트의 정보를 암호화하려는 경우 에이전트 API 작업을 직접 호출하는 사용자 또는 역할에 키 정책에 다음 권한이 있는지 확인합니다.
+ [kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) - AWS KMS 외부에서 사용할 고유한 대칭 데이터 키를 반환합니다.
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) – KMS 키로 암호화된 사이퍼텍스트를 해독합니다.

키를 생성하면 에이전트를 생성할 때 `customerEncryptionKeyArn`으로 사용할 수 있는 키에 대한 `Arn`이 반환됩니다.

## 키 정책을 만들고 고객 관리형 키에 연결
<a name="attach-policy-agent"></a>

고객 관리형 키로 에이전트 리소스를 암호화하는 경우 Amazon Bedrock이 사용자 대신 에이전트 리소스를 암호화하고 복호화하도록 허용하려면 ID 기반 정책 및 리소스 기반 정책을 설정해야 합니다.

**자격 증명 기반 정책**

사용자를 대신하여 에이전트 리소스를 암호화하고 해독하는 에이전트 API를 호출할 수 있는 권한이 있는 IAM 역할 또는 사용자에게 다음 자격 증명 기반 정책을 연결합니다. 이 정책은 API 호출을 수행하는 사용자에게 AWS KMS 권한이 있는지 확인합니다. `${region}`, `${account-id}`, `${agent-id}` 및 `${key-id}`를 적절한 값으로 바꿉니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EncryptAgents",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

**리소스 기반 정책**

Amazon S3의 스키마가 암호화된 작업 그룹을 생성하는 *경우에만* 다음 리소스 기반 정책을 AWS KMS 키에 연결합니다. 다른 사용 사례에 대해서는 리소스 기반 정책을 연결할 필요가 없습니다.

다음 리소스 기반 정책을 연결하려면 필요에 따라 권한 범위를 변경하고 `${region}`, `${account-id}`, `${agent-id}` 및 `${key-id}`를 적절한 값으로 바꿉니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow account root to modify the KMS key, not used by Amazon Bedrock.",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:root"
            },
            "Action": "kms:*",
            "Resource": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/${key-id}"
        },
        {
            "Sid": "Allow Amazon Bedrock to encrypt and decrypt Agent resources on behalf of authorized users",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:{{us-east-1}}:{{123456789012}}:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

## 고객 관리형 키 변경
<a name="change-cmk"></a>

Amazon Bedrock 에이전트는 *DRAFT* 에이전트와 연결된 고객 관리형 키가 변경되거나 고객 관리형 키에서 AWS 소유 키로 이동할 때 버전이 지정된 에이전트의 재암호화를 지원하지 않습니다. *DRAFT* 리소스의 데이터만 새 키로 다시 암호화됩니다.

버전이 지정된 에이전트의 키를 프로덕션 데이터를 제공하는 데 사용하는 경우, 키에 대한 권한을 삭제하거나 제거하지 않아야 합니다.

버전에서 사용 중인 키를 보고 확인하려면 [GetAgentVersion](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_GetAgentVersion.html)을 직접 호출하고 응답에서 `customerEncryptionKeyArn`을 확인합니다.