Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utiliser un fournisseur d'informations d'identification spécifique
Il SDK utilise des fournisseurs d'informations d'identification pour récupérer, gérer et fournir les informations d'authentification (telles que les clés d'accès et les jetons de session) nécessaires pour accéder Services AWS.
Les fournisseurs d'informations d'identification simplifient la récupération des informations d'identification auprès de diverses sources, mettent en œuvre les meilleures pratiques de sécurité et prennent en charge des stratégies d'authentification flexibles dans AWS tous les environnements.
Spécifier un fournisseur d'informations d'identification
Pour contourner la chaîne de fournisseurs d'informations d'identification par défaut, spécifiez le fournisseur d'informations d'identification qu'un client de service doit utiliser. Lorsque vous fournissez un fournisseur d'informations d'identification spécifique, le SDK processus de vérification des différents emplacements n'est pas nécessaire, ce qui réduit légèrement le temps nécessaire à la création d'un client de service.
Par exemple, si vous définissez votre configuration par défaut à l'aide de variables d'environnement, fournissez un EnvironmentVariableCredentialsProvidercredentialsProvider
méthode dans le générateur de clients de services, comme illustré dans l'extrait de code suivant :
Region region = Region.US_WEST_2; DynamoDbClient ddb = DynamoDbClient.builder() .region(region) .credentialsProvider(EnvironmentVariableCredentialsProvider.create()) .build();
Pour une liste complète des fournisseurs d'informations d'identification et des chaînes de fournisseurs, voir Toutes les classes d'implémentation connues dans la API référence pour AwsCredentialsProvider
Note
Vous pouvez également utiliser votre propre fournisseur d'informations d'identification ou des chaînes de fournisseurs en implémentant l'AwsCredentialsProvider
interface.
Configuration d'un fournisseur d'informations d'identification
À titre d'exemple de configuration de l'implémentation d'un fournisseur d'informations d'identification, vous souhaiterez peut-être SDK utiliser un thread d'arrière-plan pour pré-récupérer (récupérer à l'avance) les informations d'identification avant leur expiration. De cette façon, vous pouvez éviter l'appel bloquant qui permet de récupérer de nouvelles informations d'identification.
L'exemple suivant montre un exemple qui crée un StsAssumeRoleCredentialsProvider
qui utilise un thread d'arrière-plan pour pré-récupérer les informations d'identification en définissant la asyncCredentialUpdateEnabled
propriété true
sur le générateur :
S3Client s3Client = S3Client.builder() .credentialsProvider(StsAssumeRoleCredentialsProvider.builder() .asyncCredentialUpdateEnabled(true) .stsClient(StsClient.create()) .refreshRequest(r -> r .roleArn("arn:aws:iam::111122223333:role/S3-listbuckets-only-role") .roleSessionName("test-temp-session") .durationSeconds(900)) .build()) .build();
Lorsque vous appelez une opération on s3Client
pour la première fois, un AssumeRoleRequest
est envoyé au AWS Security Token Service (STS). STSrenvoie des informations d'identification temporaires valides pendant 15 minutes (900 secondes). L's3Client
instance utilise les informations d'identification mises en cache jusqu'à ce qu'il soit temps de les actualiser avant l'expiration des 15 minutes. Par défaut, les SDK tentatives de récupération de nouvelles informations d'identification pour une nouvelle session sont effectuées entre 5 minutes et 1 minute avant l'heure d'expiration de la session en cours. La fenêtre de pré-extraction est configurable à l'aide des propriétés prefetchTime
etstaleTime
.
Vous pouvez configurer les fournisseurs d'informations d'identification basés sur les sessions suivants de la même manière :
-
StsWebIdentityTokenFileCredentialsProvider
-
StsGetSessionTokenCredentialsProvider
-
StsGetFederationTokenCredentialsProvider
-
StsAssumeRoleWithWebIdentityCredentialsProvider
-
StsAssumeRoleWithSamlCredentialsProvider
-
StsAssumeRoleCredentialsProvider
-
DefaultCredentialsProvider
(lorsqu'il délègue au fournisseur d'informations d'identification qui utilise des sessions) -
ProcessCredentialsProvider
-
WebIdentityTokenFileCredentialsProvider
-
ContainerCredentialsProvider
-
InstanceProfileCredentialsProvider