Contrôle des autorisations permettant de générer et d’utiliser les clés d’API Amazon Bedrock - Amazon Bedrock

Contrôle des autorisations permettant de générer et d’utiliser les clés d’API Amazon Bedrock

La génération et l’utilisation des clés d’API Amazon Bedrock sont contrôlées par des actions et des clés de condition dans les services Amazon Bedrock et IAM.

Contrôle de la génération des clés d’API Amazon Bedrock

L’action iam:CreateServiceSpecificCredential contrôle la génération d’une clé spécifique au service (telle qu’une clé d’API Amazon Bedrock à long terme). Vous pouvez étendre cette action aux utilisateurs IAM en tant que ressource afin de limiter le nombre d’utilisateurs pour lesquels une clé peut être générée.

Vous pouvez utilisez les clés de condition suivantes pour imposer des conditions à l’autorisation pour l’action iam:CreateServiceSpecificCredential :

  • iam:ServiceSpecificCredentialAgeDays : vous permet de spécifier, dans la condition, le délai d’expiration de la clé en jours. Par exemple, vous pouvez utiliser cette clé de condition pour autoriser uniquement des clés API qui expirent au terme d’un délai de 90 jours.

  • iam:ServiceSpecificCredentialServiceName : permet de spécifier, dans la condition, le nom d’un service. Par exemple, vous pouvez utiliser cette clé de condition pour autoriser uniquement la clé d’API pour Amazon Bedrock et non pour d’autres services.

Contrôle de l’utilisation des clés d’API Amazon Bedrock

L’action Bedrock:CallWithBearerToken contrôle l’utilisation d’une clé d’API Amazon Bedrock à court ou à long terme.

Vous pouvez utiliser la clé de condition bedrock:bearerTokenType avec des opérateurs de condition de chaîne pour spécifier le type de jeton porteur pour lequel vous souhaitez demander l’autorisation pour bedrock:CallWithBearerToken. Vous pouvez spécifier l’une des valeurs suivantes :

  • SHORT_TERM : spécifie les clés d’API Amazon Bedrock à court terme dans la condition.

  • LONG_TERM : spécifie les clés API Amazon Bedrock à long terme dans la condition.

Le tableau suivant explique comment empêcher une identité de générer ou d’utiliser des clés d’API Amazon Bedrock :

Objectif Clé à long terme Clé à court terme
Empêcher la génération de clés Associez une stratégie qui refuse l’action iam:CreateServiceSpecificCredential à une identité IAM. N/A
Empêcher l’utilisation d’une clé Associez une stratégie qui refuse l’action bedrock:CallWithBearerToken à l’utilisateur IAM associé à la clé. Associez une politique qui refuse l’action bedrock:CallWithBearerToken aux identités IAM dont vous ne souhaitez pas qu’elles puissent utiliser la clé.
Avertissement

Dans la mesure où une clé d’API Amazon Bedrock à court terme utilise les informations d’identification existantes d’une session, vous pouvez empêcher son utilisation en refusant à l’action bedrock:CallWithBearerToken d’agir sur l’identité qui a généré la clé. Toutefois, vous ne pouvez pas empêcher la génération d’une clé de courte durée.

Exemples de stratégies pour contrôler la génération et l’utilisation des clés d’API

Par exemple, les politiques IAM pour contrôler la génération et l’utilisation des clés d’API, sélectionnez l’une des rubriques suivantes :

Empêcher une identité de générer des clés à long terme et d’utiliser les clés d’API Amazon Bedrock

Pour empêcher une identité IAM de générer des clés d’API Amazon Bedrock à long terme et d’utiliser des clés d’API Amazon Bedrock, associez la stratégie suivante à l’identité :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid":"DenyBedrockShortAndLongTermAPIKeys", "Effect": "Deny", "Action": [ "iam:CreateServiceSpecificCredential", "bedrock:CallWithBearerToken" ], "Resource": [ "*" ] } ] }
Avertissement

Empêcher une identité d’utiliser des clés d’API à court terme

Pour empêcher une identité IAM d’utiliser des clés d’API Amazon Bedrock à court terme, associez la stratégie suivante à l’identité :

Empêcher une identité d’utiliser des clés d’API à long terme

Pour empêcher une identité IAM d’utiliser des clés d’API Amazon Bedrock à long terme, associez la stratégie suivante à l’identité :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "bedrock:CallWithBearerToken", "Resource": "*", "Condition": { "StringEquals": { "bedrock:bearerTokenType": "LONG_TERM" } } } ] }

Empêcher explicitement une identité d’utiliser des clés d’API à court terme

Pour empêcher explicitement une identité IAM d’utiliser des clés d’API Amazon Bedrock à court terme, mais autoriser l’utilisation d’autres clés d’API, associez la stratégie suivante à l’identité :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "bedrock:CallWithBearerToken", "Resource": "*", "Condition": { "StringEquals": { "bedrock:bearerTokenType": "SHORT_TERM" } } }, { "Effect": "Allow", "Action": "bedrock:CallWithBearerToken", "Resource": "*" } ] }

Empêcher explicitement une identité d’utiliser des clés d’API à long terme

Pour empêcher explicitement une identité IAM d’utiliser des clés d’API Amazon Bedrock à long terme, mais autoriser l’utilisation d’autres clés d’API, associez la stratégie suivante à l’identité :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "bedrock:CallWithBearerToken", "Resource": "*", "Condition": { "StringEquals": { "bedrock:bearerTokenType": "LONG_TERM" } } }, { "Effect": "Allow", "Action": "bedrock:CallWithBearerToken", "Resource": "*" } ] }

Autorisation de la création de clés Amazon Bedrock uniquement si elles expirent au terme d’un délai de 90 jours

Pour autoriser une identité IAM à créer une clé d’API à long terme uniquement si elle est destinée à Amazon Bedrock et si le délai d’expiration est inférieur ou égal à 90 jours, associez la stratégie suivante à l’identité :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceSpecificCredential", "Resource": "arn:aws:iam::123456789012:user/username", "Condition": { "StringEquals": { "iam:ServiceSpecificCredentialServiceName": "bedrock.amazonaws.com" }, "NumericLessThanEquals": { "iam:ServiceSpecificCredentialAgeDays": "90" } } } ] }