

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 限制直接访问内存
<a name="memory-gateway-restrict-access"></a>

网关上的精细访问控制策略管理*通过网关到达的请求。*它们不会阻止对内存资源拥有 IAM 权限的委托人直接调用内存数据平面并绕过网关。为确保只能通过网关访问内存，请将基于资源的策略附加到内存资源，该策略仅允许在该网关转发请求时进行访问。这是一项基于 JSON 资源的内存策略，而不是 Cedar 策略，它是对网关上的 Cedar 策略的补充。

在两种出站凭证模式下，网关在转发的每个请求上使用其网关 ARN 标记`aws:SourceArn`条件密钥。以下基于资源的策略仅在`aws:SourceArn`与您的网关 ARN 匹配时才允许访问内存。将示例账户、区域、资源 ID 和来电主体替换为您自己的账户。

```
{
"Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowOnlyThroughGateway",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:role/CallerRole"
      },
      "Action": "bedrock-agentcore:*",
      "Resource": "arn:aws:bedrock-agentcore:us-east-1:123456789012:memory/<memory-id>",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/<gateway-id>"
        }
      }
    }
  ]
}
```

**注意**  
网关`aws:SourceArn`会在两种出站凭据模式下盖章，因此无论您使用哪种模式，此策略都有效。`Principal`您指定的因模式而异，因为它必须与内存授权的身份相匹配：使用`CALLER_IAM_CREDENTIALS`，即调用方的 IAM 身份；使用`GATEWAY_IAM_ROLE`时，它是网关执行角色。有关更多信息，请参阅出站凭证模式[如何影响 Amazon Bedro AgentCore [ ck 的内存访问控制](resource-based-policies.md)和](memory-gateway-connector.md#memory-gateway-connector-credential-modes)Resource-based 策略。