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à.
Carica credenziali temporanee da un processo esterno
avvertimento
Di seguito viene descritto un metodo per ottenere credenziali temporanee da un processo esterno. Questo può essere potenzialmente pericoloso, quindi procedi con cautela. Se possibile, dovrebbero essere preferiti altri fornitori di credenziali. Se si utilizza questa opzione, è necessario assicurarsi che il config
file sia il più protetto possibile utilizzando le migliori pratiche di sicurezza per il sistema operativo in uso.
Assicurati che lo strumento per le credenziali personalizzate non scriva StdErr
informazioni segrete su. SDKse AWS CLI può acquisire e registrare tali informazioni, esponendole potenzialmente a utenti non autorizzati.
Con la versione SDK per Java 2.x, è possibile acquisire credenziali temporanee da un processo esterno per casi d'uso personalizzati. Esistono due modi per configurare questa funzionalità.
Usa l'credential_process
impostazione
Se disponi di un metodo che fornisce credenziali temporanee, puoi integrarlo aggiungendo l'credential_process
impostazione come parte di una definizione di profilo nel config
file. Il valore specificato deve utilizzare il percorso completo del file di comando. Se il percorso del file contiene spazi, è necessario racchiuderlo tra virgolette.
SDKChiama il comando esattamente come indicato e quindi legge i JSON dati da. stdout
Gli esempi seguenti mostrano l'uso di questa impostazione per percorsi di file senza spazi e percorsi di file con spazi.
Il seguente frammento di codice mostra come creare un client di servizio che utilizza le credenziali temporanee definite come parte del profilo denominato. process-credential-profile
Region region = Region.US_WEST_2; S3Client s3Client = S3Client.builder() .region(region) .credentialsProvider(ProfileCredentialsProvider.create("process-credential-profile")) .build();
Per informazioni dettagliate sull'utilizzo di un processo esterno come fonte di credenziali temporanee, consultate la sezione relativa alle credenziali di processo nella and Tools Reference Guide. AWS SDKs
Utilizzate un ProcessCredentialsProvider
In alternativa all'utilizzo delle impostazioni nel config
file, puoi utilizzare i ProcessCredentialsProvider
per caricare le SDK credenziali temporanee utilizzando Java.
Gli esempi seguenti mostrano varie versioni di come specificare un processo esterno utilizzando ProcessCredentialsProvider
e configurare un client di servizio che utilizza le credenziali temporanee.
Usa IAM Roles Anywhere per l'autenticazione
IAMRoles Anywhere è un Servizio AWS programma che consente di ottenere AWS credenziali temporanee per carichi di lavoro eseguiti al di fuori di. AWS Consente l'accesso sicuro alle AWS risorse da ambienti locali o altri ambienti cloud.
Prima di poter autenticare le richieste con IAM Roles Anywhere, devi prima raccogliere le informazioni richieste e scaricare lo strumento di supporto alle credenziali. Seguendo le istruzioni introduttive contenute nella Guida per l'utente di IAM Roles Anywhere, è possibile creare gli elementi necessari.
Usa l'impostazione in un profilo credential_process
Il seguente frammento del file di AWS
configurazione condiviso mostra un profilo denominato roles_anywhere
che utilizza l'impostazione: credential_process
[profile roles_anywhere] credential_process =
./
aws_signing_helper credential-process \ --certificate/path/to/certificate
\ --private-key/path/to/private-key
\ --trust-anchor-arn arn:aws:rolesanywhere:region
:account
:trust-anchor/TA_ID
\ --profile-arn arn:aws:rolesanywhere:region
:account
:profile/PROFILE_ID
\ --role-arn arn:aws:iam::account
:role/role-name-with-path
È necessario sostituire il testo mostrato in rosso con i valori dopo aver assemblato tutti gli artefatti. Il primo elemento dell'impostazione,aws_signing_helper
, è l'eseguibile dello strumento di supporto alle credenziali ed credential-process
è il comando.
Quando si configura un client di servizio per l'utilizzo del roles_anywhere
profilo, come illustrato nel codice seguente, memorizza nella SDK cache le credenziali temporanee e le aggiorna prima della scadenza:
S3Client s3Client = S3Client.builder() .credentialsProvider(ProfileCredentialsProvider.builder() .profileName("roles_anywhere").build()) .build();
Configura un ProcessCredentialsProvider
Come illustrato di seguito, puoi utilizzare un approccio basato solo sul codice con, ProcessCredentialsProvider
anziché utilizzare le impostazioni del profilo:
ProcessCredentialsProvider processCredentialsProvider = ProcessCredentialsProvider.builder() .command("""
./
aws_signing_helper credential-process \ --certificate/path/to/certificate
\ --private-key/path/to/private-key
\ --trust-anchor-arn arn:aws:rolesanywhere:region
:account
:trust-anchor/TA_ID
\ --profile-arn arn:aws:rolesanywhere:region
:account
:profile/PROFILE_ID
\ --role-arn arn:aws:iam::account
:role/role-name-with-path
""").build(); S3Client s3Client = S3Client.builder() .credentialsProvider(processCredentialsProvider) .build();
Sostituisci il testo mostrato in rosso con i tuoi valori dopo aver assemblato tutti gli artefatti.