Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizza un provider di credenziali specifico
SDKUtilizza i fornitori di credenziali per recuperare, gestire e fornire le credenziali di autenticazione (come chiavi di accesso e token di sessione) necessarie per l'accesso. Servizi AWS
I fornitori di credenziali semplificano il recupero delle credenziali da varie fonti, implementano le migliori pratiche di sicurezza e supportano strategie di autenticazione flessibili in tutti gli ambienti. AWS
Specificare un fornitore di credenziali
Per aggirare la catena di provider di credenziali predefinita, specifica quale provider di credenziali deve utilizzare un client di servizio. Quando fornite un fornitore di credenziali specifico, SDK salta il processo di verifica delle varie ubicazioni, il che riduce leggermente il tempo necessario per creare un client di servizio.
Ad esempio, se imposti la configurazione predefinita utilizzando variabili di ambiente, fornisci un EnvironmentVariableCredentialsProvidercredentialsProvider
metodo sul service client builder, come mostrato nel seguente frammento di codice:
Region region = Region.US_WEST_2; DynamoDbClient ddb = DynamoDbClient.builder() .region(region) .credentialsProvider(EnvironmentVariableCredentialsProvider.create()) .build();
Per un elenco completo dei fornitori di credenziali e delle catene di provider, vedete All Known Implementing Classes nel riferimento per. API AwsCredentialsProvider
Nota
È inoltre possibile utilizzare il proprio fornitore di credenziali o le proprie catene di fornitori implementando l'AwsCredentialsProvider
interfaccia.
Configurare un provider di credenziali
Come esempio di configurazione di un'implementazione di un provider di credenziali, potresti voler SDK utilizzare un thread in background per prerecuperare (recuperare in anticipo) le credenziali prima che scadano. In questo modo è possibile evitare la chiamata di blocco che recupera nuove credenziali.
Di seguito viene mostrato un esempio che crea un file StsAssumeRoleCredentialsProvider
che utilizza un thread in background per prerecuperare le credenziali impostando la asyncCredentialUpdateEnabled
proprietà su on the builder: true
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();
Quando si richiama un'operazione on s3Client
per la prima volta, un AssumeRoleRequest
viene inviato a (). AWS Security Token Service STS STSrestituisce credenziali temporanee valide per 15 minuti (900 secondi). L's3Client
istanza utilizza le credenziali memorizzate nella cache fino al momento di aggiornarle prima che trascorrano i 15 minuti. Per impostazione predefinita, SDK tenta di recuperare nuove credenziali per una nuova sessione tra 5 minuti e 1 minuto prima della scadenza della sessione corrente. La finestra di pre-fetch è configurabile utilizzando le proprietà and. prefetchTime
staleTime
È possibile configurare in modo analogo i seguenti provider di credenziali basati sulla sessione:
-
StsWebIdentityTokenFileCredentialsProvider
-
StsGetSessionTokenCredentialsProvider
-
StsGetFederationTokenCredentialsProvider
-
StsAssumeRoleWithWebIdentityCredentialsProvider
-
StsAssumeRoleWithSamlCredentialsProvider
-
StsAssumeRoleCredentialsProvider
-
DefaultCredentialsProvider
(quando delega al provider di credenziali che utilizza le sessioni) -
ProcessCredentialsProvider
-
WebIdentityTokenFileCredentialsProvider
-
ContainerCredentialsProvider
-
InstanceProfileCredentialsProvider