

# Utiliser les clés de condition IAM avec Amazon Bedrock Gateway AgentCore
<a name="security-gateway-condition-keys"></a>

Utilisez les clés de AgentCore-specific condition Amazon Bedrock pour contrôler la façon dont vous créez et configurez les passerelles et les cibles de passerelle dans votre organisation. Ces clés de condition s'appliquent aux opérations du plan de contrôle. Ils sont particulièrement utiles dans les politiques de contrôle des services (SCP) pour appliquer les exigences de sécurité de l'organisation.

Par exemple, vous pouvez effectuer les actions suivantes :
+ Exiger que toutes les passerelles utilisent un fournisseur d'identité spécifique pour l'authentification.
+ Limitez les types de cibles pouvant être créés.
+ Veillez à ce que les cibles utilisent des types de fournisseurs d'informations d'identification spécifiques.
+ Exigez que les cibles de passerelle se connectent via des sous-réseaux et des groupes de sécurité approuvés.

## Clés d'état de la passerelle
<a name="gateway-condition-keys"></a>

Les clés de condition suivantes s'appliquent aux `UpdateGateway` opérations `CreateGateway` et.


| Clé de condition | Type | opérations d’API | Description | 
| --- | --- | --- | --- | 
|  `bedrock-agentcore:DiscoveryUrl`  | String |  `CreateGateway`, `UpdateGateway`  | Filtre l'accès en fonction de l'URL de découverte configurée sur la passerelle. Utilisez-le pour vous assurer que les passerelles utilisent un fournisseur d'identité spécifique. | 
|  `bedrock-agentcore:KmsKeyArn`  | String |  `CreateGateway`, `UpdateGateway`  | Filtre l'accès par l'ARN de la clé KMS utilisée pour chiffrer les ressources de la passerelle. | 
|  `bedrock-agentcore:PolicyEngineArn`  | String |  `CreateGateway`, `UpdateGateway`  | Filtre l'accès par l'ARN de la configuration du moteur de politiques associée à la passerelle. | 
|  `bedrock-agentcore:PolicyEngineMode`  | String |  `CreateGateway`, `UpdateGateway`  | Filtre l'accès en fonction du mode de configuration du moteur de politiques associé à la passerelle. | 
|  `bedrock-agentcore:ProtocolType`  | String |  `CreateGateway`, `UpdateGateway`  | Filtre l'accès en fonction du type de protocole de la passerelle. | 
|  `bedrock-agentcore:GatewayAuthorizerType`  | String |  `CreateGateway`, `UpdateGateway`  | Filtre l'accès en fonction du type d'autorisation configuré sur la passerelle. Les valeurs valides sont `AWS_IAM`, `CUSTOM_JWT` et `NONE`. | 

## Clés de condition cible de la passerelle
<a name="gateway-target-condition-keys"></a>

Les clés de condition suivantes s'appliquent aux `UpdateGatewayTarget` opérations `CreateGatewayTarget` et.


| Clé de condition | Type | opérations d’API | Description | 
| --- | --- | --- | --- | 
|  `bedrock-agentcore:McpTargetConfigurationType`  | String |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès en fonction du type de cible MCP. Les valeurs valides sont `apiGateway`, `lambda`, `mcpServer`, `openApiSchema`, `smithyModel` et `connector`. | 
|  `bedrock-agentcore:HttpTargetConfigurationType`  | String |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès en fonction du type de cible HTTP. Les valeurs valides sont `agentcoreRuntime` et `passthrough`. | 
|  `bedrock-agentcore:InferenceTargetConfigurationType`  | String |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès en fonction du type de cible d'inférence. Les valeurs valides sont `connector` et `provider`. | 
|  `bedrock-agentcore:CredentialProviderType`  | String |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès en fonction du type de fournisseur d'informations d'identification configuré sur la cible. Les valeurs valides incluent `GATEWAY_IAM_ROLE`, `OAUTH`, `API_KEY`, `CALLER_IAM_CREDENTIALS` et `JWT_PASSTHROUGH`. | 
|  `bedrock-agentcore:PrivateEndpointType`  | String |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès en fonction du type de point de terminaison privé d'une cible. Les valeurs valides sont `managedVpcResource` et `selfManagedLatticeResource`. | 
|  `bedrock-agentcore:ResourceConfigurationIdentifier`  | String |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès en fonction de l'identifiant de configuration des ressources du point de terminaison privé d'une cible. | 
|  `bedrock-agentcore:subnets`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès par les sous-réseaux configurés pour la ressource VPC gérée d'une cible. Consultez la section [Utiliser les clés de condition IAM avec les paramètres AgentCore VPC](security-vpc-condition.md). | 
|  `bedrock-agentcore:securityGroups`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès par les groupes de sécurité configurés pour la ressource VPC gérée d'une cible. | 
|  `bedrock-agentcore:AllowedQueryParameters`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès en fonction des paramètres de requête autorisés dans la configuration des métadonnées de la cible. | 
|  `bedrock-agentcore:AllowedRequestHeaders`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès en fonction des en-têtes de demande autorisés dans la configuration des métadonnées de la cible. | 
|  `bedrock-agentcore:AllowedResponseHeaders`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès en fonction des en-têtes de réponse autorisés dans la configuration des métadonnées de la cible. | 
|  `bedrock-agentcore:CredentialProviderScope`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtre l'accès selon les étendues configurées sur un fournisseur d'informations d'identification OAuth pour la cible. | 

## Exemples de politiques
<a name="gateway-condition-key-examples"></a>

Les exemples suivants montrent comment utiliser les clés de condition dans les politiques IAM et les SCP pour appliquer les contrôles organisationnels sur la configuration de la passerelle.

### Exiger que les passerelles utilisent un fournisseur d'identité spécifique
<a name="example-require-specific-idp"></a>

Utilisez le SCP suivant pour refuser la création ou la mise à jour d'une passerelle lorsque celle-ci n'utilise pas l'URL de découverte du fournisseur d'identité approuvé par votre organisation.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EnforceGatewayIdP",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGateway",
                "bedrock-agentcore:UpdateGateway"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "bedrock-agentcore:DiscoveryUrl": "https://login.example.com/.well-known/openid-configuration"
                }
            }
        }
    ]
}
```

### Restreindre les types de fournisseurs d'informations d'identification pour les cibles
<a name="example-restrict-target-credential-types"></a>

Utilisez le SCP suivant pour limiter les cibles de passerelle aux types de fournisseurs d'informations d'identification approuvés. Dans cet exemple, vous limitez les cibles de la passerelle à n'utiliser que le rôle IAM de la passerelle ou les informations d'identification IAM de l'appelant. Les cibles ne peuvent pas utiliser de clés d'API ou de jetons OAuth gérés en externe.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "RestrictTargetCredentialTypes",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGatewayTarget",
                "bedrock-agentcore:UpdateGatewayTarget"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "bedrock-agentcore:CredentialProviderType": [
                        "GATEWAY_IAM_ROLE",
                        "CALLER_IAM_CREDENTIALS"
                    ]
                }
            }
        }
    ]
}
```

### Restreindre les types de cibles MCP qui peuvent être créées
<a name="example-restrict-target-types"></a>

Utilisez la politique suivante pour refuser la création de cibles MCP utilisant certains types de configuration. Cet exemple empêche les cibles d'utiliser des URL de serveur MCP directes.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DenyDirectMcpServerTargets",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGatewayTarget",
                "bedrock-agentcore:UpdateGatewayTarget"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock-agentcore:McpTargetConfigurationType": "mcpServer"
                }
            }
        }
    ]
}
```

### Exiger que les cibles utilisent des points de terminaison privés
<a name="example-enforce-private-endpoints"></a>

Utilisez le SCP suivant pour refuser la création de cibles qui ne spécifient pas de type de point de terminaison privé. Cela garantit que tout le trafic cible reste sur les réseaux privés.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EnforcePrivateEndpoints",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGatewayTarget",
                "bedrock-agentcore:UpdateGatewayTarget"
            ],
            "Resource": "*",
            "Condition": {
                "Null": {
                    "bedrock-agentcore:PrivateEndpointType": "true"
                }
            }
        }
    ]
}
```

### Exiger que les passerelles utilisent une clé KMS gérée par le client
<a name="example-require-encryption"></a>

Utilisez ce SCP pour exiger que toutes les passerelles utilisent une clé KMS gérée par le client pour le chiffrement au lieu de la clé par défaut du service.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EnforceCustomerManagedKey",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGateway",
                "bedrock-agentcore:UpdateGateway"
            ],
            "Resource": "*",
            "Condition": {
                "Null": {
                    "bedrock-agentcore:KmsKeyArn": "true"
                }
            }
        }
    ]
}
```

### Appliquer les sous-réseaux approuvés pour les cibles de passerelle
<a name="example-enforce-approved-subnets-for-targets"></a>

Utilisez la politique suivante pour limiter les cibles de passerelle aux sous-réseaux approuvés. Pour plus d'informations, consultez [Utiliser les clés de condition IAM avec les paramètres AgentCore VPC](security-vpc-condition.md).

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EnforceApprovedSubnets",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGatewayTarget",
                "bedrock-agentcore:UpdateGatewayTarget"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringNotEquals": {
                    "bedrock-agentcore:subnets": [
                        "subnet-0123456789abcdef0",
                        "subnet-0123456789abcdef1"
                    ]
                }
            }
        }
    ]
}
```