

# 使用政策引擎建立閘道
<a name="create-gateway-with-policy"></a>

本節提供使用與政策強制執行相關聯的政策引擎建立閘道的範例。

**注意**  
\* 設定傳入授權時，授權組態的值來自 。\* 如果您選擇涉及指定明顯閘道服務角色 ARN 的選項，請確定您已指定現有的閘道服務角色 ARN。如需詳細資訊，請參閱 Amazon Bedrock AgentCore Gateway 服務角色許可。

選取下列其中一種方法：

**Example**  

1. 在終端機中執行下列程式碼，使用 AWS CLI 建立具有政策引擎的閘道：

   ```
   aws bedrock-agentcore-control create-gateway \
     --name my-gateway \
     --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
     --protocol-type MCP \
     --authorizer-type CUSTOM_JWT \
     --authorizer-configuration '{
       "customJWTAuthorizer": {
         "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
         "allowedClients": ["clientId"]
       }
     }' \
     --policy-engine-configuration '{
       "mode": "ENFORCE",
       "arn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:policy-engine/my_policy_engine"
     }'
   ```

   回應中的 gatewayUrl 是呼叫閘道時要使用的端點。

1. 下列 Python 程式碼說明如何使用 AWS Python SDK (Boto3) 建立具有政策引擎的閘道：

   ```
   import boto3
   
   gateway_client = boto3.client('bedrock-agentcore-control')
   
   response = gateway_client.create_gateway(
       name='my-gateway',
       protocolType='MCP',
       authorizerType='CUSTOM_JWT',
       authorizerConfiguration={
           'customJWTAuthorizer': {
               'allowedClients': ['clientId'],
               'discoveryUrl': 'https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration'
           }
       },
       roleArn='arn:aws:iam::123456789012:role/my-gateway-service-role',
       policyEngineConfiguration={
           'mode': 'ENFORCE',
           'arn': 'arn:aws:bedrock-agentcore:us-west-2:123456789012:policy-engine/my_policy_engine'
       }
   )
   print(f"GATEWAY ARN: {response['gatewayArn']}")
   print(f"GATEWAY URL: {response['gatewayUrl']}")
   ```

   回應中的 gatewayUrl 是呼叫閘道時要使用的端點。