Cyberduck with Assume Role + GCP S3

Il est possible d’utiliser Cyberduck avec les assumes roles

Extraire le MSI en un répertoire local, utilisable en mode portable

 msiexec /a "Cyberduck-Installer-7.2.5.32097.msi" TARGETDIR="C:\REPERTOIRE\" /lv*x! "Cyberduck-Installer-7.2.5.32097.txt" /qn

Modifier le répertoire et le nom du MSI. Il suffit de lancer le fichier exe.

Télécharger le profil compatible

Le profil s3 par défaut ne permet pas de faire un assume role.

On télécharge ici le profile from Command Line https://trac.cyberduck.io/wiki/help/en/howto/s3

https://svn.cyberduck.io/trunk/profiles/S3%20(Credentials%20from%20AWS%20Command%20Line%20Interface).cyberduckprofile

Liste complete des profils ici : https://svn.cyberduck.io/trunk/profiles/

En version portable, il suffit de renseigner à windows d’ouvrir avec cyberduck.exe ou d’ajouter le profile dans le dossier du même nom.

Configurer les identités et les profiles CLI AWS

Il est possible d’utiliser des assume-role prenant pour source profile un user avec mfa ou aws-google-auth. Attention Cyberduck ne lit que dans le fichier Credentials, j’ai donc du copier le contenu du fichier Config pour qu’il ressemble à cela :

[master]
aws_access_key_id = AKDIAFFAK
aws_secret_access_key = xxxxx
aws_security_token = xxxx
aws_session_expiration = 2020-03-26T20:07:20+0000
aws_session_token = xxxx


[profile role]
source_profile = master
role_arn = arn:aws:iam::account:role/nomdurole
region = eu-west-1

Aws-mfa et aws-google-auth ont tendance a modifier un peu les champs donc les transformer manuellement dans le fichier Credentials si besoin.

Renseigner ensuite dans le champs du profil : “profile nomdurole” (en laissant profile)

Bien ajouter le mot “profile” avant sinon ça ne fonctionne pas

Activer ou désactiver le proxy si besoin.

Utiliser un bucket GCP comme S3 :