Skip to main content

Identifiants IAM

Overview

  • AWS Bedrock : Un service entièrement géré qui offre un accès aux principaux modèles d'IA générative (ex : Anthropic Claude, Amazon Nova) via AWS.
    En savoir plus sur AWS Bedrock.
  • Careti : Une extension VS Code qui agit comme un assistant de codage en s'intégrant aux modèles d'IA—permettant aux développeurs de générer du code, de déboguer et d'analyser des données.
  • Focus Entreprise : Ce guide est conçu pour les organisations disposant d'environnements AWS établis (utilisant des rôles IAM, AWS SSO, AWS Organizations, etc.) afin de garantir une utilisation sécurisée et conforme.

Step 1: Prepare Your AWS Environment

1.1 Create or Use an IAM Role/User

  1. Connectez-vous à la AWS Management Console :
    Console AWS
  2. Accédez à IAM :
    • Recherchez IAM (Identity and Access Management) dans la Console AWS.
    • Créez un nouvel utilisateur IAM ou utilisez le AWS SSO de votre entreprise pour assumer un rôle dédié à l'accès à Bedrock.
    • Guide de l'utilisateur AWS IAM

1.2 Attach the Required Policies

Pour s'assurer que Careti peut interagir avec AWS Bedrock, votre utilisateur ou rôle IAM a besoin de permissions spécifiques. Bien que la politique gérée AmazonBedrockLimitedAccess offre un accès complet, pour une configuration plus restreinte et sécurisée respectant le principe du least privilege, les permissions minimales suivantes sont suffisantes pour la fonctionnalité principale d'invocation de modèle de Careti :

  • bedrock:InvokeModel
  • bedrock:InvokeModelWithResponseStream

Vous pouvez créer une politique IAM personnalisée avec ces permissions et l'attacher à votre utilisateur ou rôle IAM.

Option 1 : Permissions Minimales (Recommandé pour la Production & Least Privilege)

  1. Dans la console AWS IAM, créez une nouvelle politique.
  2. Utilisez le JSON editor pour ajouter le document de politique suivant :
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Effect": "Allow",
    "Action": ["bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream"],
    "Resource": "*" // Pour une sécurité renforcée, limitez cela aux ARN de modèles spécifiques si possible.
    }
    ]
    }
  3. Nommez la politique (ex : ClineBedrockInvokeAccess) et attachez-la à votre utilisateur ou rôle IAM.

Option 2 : Utilisation d'une Politique Gérée (Configuration Initiale plus Simple)

  • Alternativement, vous pouvez attacher la politique gérée AWS AmazonBedrockLimitedAccess. Celle-ci accorde des permissions plus larges, incluant la possibilité de lister les modèles, de gérer le provisionnement et d'autres fonctionnalités de Bedrock. Cela peut être plus simple pour une configuration initiale ou si vous avez besoin de ces capacités étendues. Voir les détails de la politique AmazonBedrockLimitedAccess

Considérations Importantes :

  • Listing des modèles dans Careti : Les permissions minimales (bedrock:InvokeModel, bedrock:InvokeModelWithResponseStream) sont suffisantes pour que Careti puisse utiliser un modèle si vous spécifiez l'ID du modèle directement dans les paramètres de Careti. Si vous comptez sur Careti pour lister dynamiquement les modèles Bedrock disponibles, vous pourriez avoir besoin de permissions supplémentaires comme bedrock:ListFoundationModels.
  • Abonnements AWS Marketplace : Pour les modèles tiers (ex : Anthropic Claude), assurez-vous d'avoir des abonnements AWS Marketplace actifs. Cela est généralement géré dans la console AWS Bedrock sous "Model access" et peut nécessiter les permissions aws-marketplace:Subscribe si cela n'est pas déjà fait.
  • Conseil Entreprise : Appliquez toujours les pratiques de least-privilege. Dans la mesure du possible, limitez les ARN de ressources dans vos politiques IAM à des modèles ou des régions spécifiques. Utilisez les Service Control Policies (SCPs) pour une gouvernance globale dans AWS Organizations.

Step 2: Verify Regional and Model Access

2.1 Choose and Confirm a Region

  1. Sélectionnez une Région :
    AWS Bedrock est disponible dans plusieurs régions (ex : US East, Europe, Asia Pacific). Choisissez la région qui répond à vos besoins de latence et de conformité.
    Infrastructure mondiale AWS
  2. Vérifiez l'Accès aux Modèles :
    • Dans la console AWS Bedrock, confirmez que les modèles dont votre équipe a besoin (ex : Anthropic Claude, Amazon Nova) sont marqués comme "Access granted".
    • Note : Certains modèles avancés peuvent nécessiter un Inference Profile s'ils ne sont pas disponibles on-demand.

2.2 Set Up AWS Marketplace Subscriptions (si nécessaire)

  1. Abonnez-vous aux Modèles Tiers :
    • Accédez à la console AWS Bedrock et localisez la section d'abonnement aux modèles.
    • Pour les modèles de fournisseurs tiers (ex : Anthropic), acceptez les conditions pour vous abonner.
    • AWS Marketplace
  2. Conseil Entreprise :
    • Les abonnements aux modèles sont souvent gérés de manière centralisée. Vérifiez auprès de votre équipe cloud si un processus d'abonnement standard est en place.

Step 3: Configure the Careti VS Code Extension

3.1 Install and Open Careti

  1. Installez VS Code :
    Téléchargez-le depuis le site web de VS Code.
  2. Installez l'extension Careti :
    • Ouvrez VS Code.
    • Allez dans l'Extensions Marketplace (Ctrl+Shift+X ou Cmd+Shift+X).
    • Recherchez Careti et installez-la.

3.2 Configure Careti Settings

  1. Ouvrez les Paramètres de Careti :
    • Cliquez sur l'icône de paramètres ⚙️ pour sélectionner votre API Provider.
  2. Sélectionnez AWS Bedrock comme API Provider :
    • Dans le menu déroulant API Provider, choisissez AWS Bedrock.
  3. Saisissez vos identifiants AWS :
    • Entrez votre Access Key et Secret Key (ou utilisez des identifiants temporaires si vous utilisez AWS SSO).
    • Spécifiez la bonne AWS Region (ex : us-east-1 ou la région approuvée par votre entreprise).
  4. Sélectionnez un Modèle :
    • Choisissez un modèle on-demand (ex : anthropic.claude-3-5-sonnet-20241022-v2:0).
  5. Enregistrez et Testez :
    • Cliquez sur Done/Save pour appliquer vos paramètres.
    • Testez l'intégration en envoyant un prompt simple (ex : "Génère une fonction Python pour vérifier si un nombre est premier.").

Step 4: Security, Monitoring, and Best Practices

  1. Accès Sécurisé :
  2. Renforcer la Sécurité Réseau :
    • Envisagez de mettre en place AWS PrivateLink pour vous connecter de manière sécurisée à Bedrock.
  3. Surveiller et Journaliser l'Activité :
    • Activez AWS CloudTrail pour journaliser les appels API de Bedrock.
    • Utilisez CloudWatch pour surveiller des métriques telles que le nombre d'invocations, la latence et l'utilisation des tokens.
    • Configurez des alertes pour toute activité anormale.
  4. Gérer les Erreurs et les Coûts :
    • Implémentez un exponential backoff pour les erreurs de type throttling.
    • Utilisez AWS Cost Explorer et configurez des alertes de facturation pour suivre l'utilisation.
      Gestion des coûts AWS
  5. Audits Réguliers et Conformité :
    • Examinez périodiquement les rôles IAM et les journaux CloudTrail.
    • Suivez les politiques internes de confidentialité des données et de gouvernance.

Conclusion

En suivant ces étapes, votre équipe d'entreprise peut intégrer en toute sécurité AWS Bedrock à l'extension VS Code Careti pour accélérer le développement :

  1. Préparez votre environnement AWS : Créez ou utilisez un rôle/utilisateur IAM sécurisé, attachez la politique AmazonBedrockLimitedAccess et assurez-vous d'avoir les permissions nécessaires.
  2. Vérifiez l'accès à la région et aux modèles : Confirmez que votre région sélectionnée prend en charge les modèles requis et abonnez-vous via le AWS Marketplace si nécessaire.
  3. Configurez Careti dans VS Code : Installez et configurez Careti avec vos identifiants AWS et choisissez un modèle approprié.
  4. Implémentez la sécurité et la surveillance : Utilisez les meilleures pratiques pour IAM, la sécurité réseau, la surveillance et la gestion des coûts.

Pour plus de détails, consultez la Documentation AWS Bedrock et coordonnez-vous avec votre équipe cloud interne. Bon codage !


Ce guide sera mis à jour au fur et à mesure de l'évolution de AWS Bedrock et de Careti. Référez-vous toujours à la documentation la plus récente et aux politiques internes pour les pratiques à jour.