Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failure parsing expiration from cached temporary credentials in AWS CLI configuration from AWS SSO #15257

Closed
Fydon opened this issue Oct 24, 2023 · 4 comments · Fixed by #15258
Assignees
Labels
s3 AWS S3 Protocol Implementation
Milestone

Comments

@Fydon
Copy link
Contributor

Fydon commented Oct 24, 2023

Describe the bug
Connecting to S3 using S3 (Credentials from AWS Security Token Service). I think the main problem is the following from the debug log, which appears to be trying to parse Expiration from the Credentials object in the JSON file. The failure to parse Expiration appears to result in the other data not being parsed from the file either. No error is displayed to the user when using version 8.7.1 (40661). Nothing appears to occur other than the date updating on the History tab. I updated to the latest snapshot in case the issue was fixed, as I was experiencing an openning connections issue in the latest stable release.

2023-10-24 12:49:34,288 [background-9] DEBUG ch.cyberduck.core.s3.S3CredentialsConfigurator - Attempting to read SSO credentials from C:\Users\username\.aws\cli\cache\foo.json
2023-10-24 12:49:34,289 [background-9] WARN  ch.cyberduck.core.threading.BackgroundCallable - Failure running background task WorkerBackgroundAction{worker=MountWorker{cache=Cache{size=0}}}
java.lang.Exception: null
	at ch.cyberduck.core.threading.BackgroundCallable.<init>(BackgroundCallable.java:38) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.threading.DefaultBackgroundExecutor.execute(DefaultBackgroundExecutor.java:81) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.AbstractController.background(AbstractController.java:72) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at cli.Ch.Cyberduck.Ui.Controller.BrowserController$$$003C$$003Ec__DisplayClass229_0.<UnmountImpl>b__0(Unknown Source) ~[Cyberduck.exe:?]
	at ch.cyberduck.core.threading.BackgroundCallable$1.run(BackgroundCallable.java:76) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at cli.System.Delegate.DynamicInvokeImpl(Unknown Source) ~[mscorlib.dll:?]
	at cli.System.Windows.Forms.Control.InvokeMarshaledCallbackDo(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Threading.ExecutionContext.RunInternal(Unknown Source) ~[mscorlib.dll:?]
	at cli.System.Threading.ExecutionContext.Run(Unknown Source) ~[mscorlib.dll:?]
	at cli.System.Threading.ExecutionContext.Run(Unknown Source) ~[mscorlib.dll:?]
	at cli.System.Windows.Forms.Control.InvokeMarshaledCallback(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Control.InvokeMarshaledCallbacks(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Control.WndProc(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Form.WndProc(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.NativeWindow.Callback(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Application$ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Application$ThreadContext.RunMessageLoopInner(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.System.Windows.Forms.Application$ThreadContext.RunMessageLoop(Unknown Source) ~[System.Windows.Forms.dll:?]
	at cli.Ch.Cyberduck.Ui.Program.Main(Unknown Source) ~[Cyberduck.exe:?]
Caused by: java.lang.NumberFormatException: For input string: "2023-10-24T16:44:56Z"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[?:1.8.0]
	at java.lang.Long.parseLong(Long.java:589) ~[?:1.8.0]
	at java.lang.Long.valueOf(Long.java:803) ~[?:1.8.0]
	at ch.cyberduck.core.s3.S3CredentialsConfigurator.configure(S3CredentialsConfigurator.java:240) ~[Cyberduck.Protocols.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.s3.S3Session$7.get(S3Session.java:301) ~[Cyberduck.Protocols.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.s3.S3AuthenticationResponseInterceptor.get(S3AuthenticationResponseInterceptor.java:51) ~[Cyberduck.Protocols.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.s3.S3Session.login(S3Session.java:316) ~[Cyberduck.Protocols.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.KeychainLoginService.authenticate(KeychainLoginService.java:197) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.LoginConnectionService.authenticate(LoginConnectionService.java:166) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.LoginConnectionService.connect(LoginConnectionService.java:157) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.LoginConnectionService.check(LoginConnectionService.java:101) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.pool.StatelessSessionPool.borrow(StatelessSessionPool.java:57) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.threading.SessionBackgroundAction.run(SessionBackgroundAction.java:115) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.threading.SessionBackgroundAction$1.call(SessionBackgroundAction.java:106) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.threading.DefaultRetryCallable.call(DefaultRetryCallable.java:52) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.threading.SessionBackgroundAction.call(SessionBackgroundAction.java:108) ~[Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.threading.BackgroundCallable.run(BackgroundCallable.java:96) [Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at ch.cyberduck.core.threading.BackgroundCallable.call(BackgroundCallable.java:60) [Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:625) [?:1.8.0]
	at ch.cyberduck.core.threading.NamedThreadFactory$1.run(NamedThreadFactory.java:59) [Cyberduck.Core.DLL:3fef1fb760e93d545d1f5c4da110ffb26eab13a0]
	at java.lang.Thread.run(Thread.java:955) [?:1.8.0]
2023-10-24 12:49:34,304 [background-9] INFO  ch.cyberduck.core.threading.SessionBackgroundAction - Run alert callback Ch.Cyberduck.Ui.Winforms.Threading.DialogAlertCallback for failure BackgroundException{class=class ch.cyberduck.core.exception.ConnectionCanceledException, file=null, message='Error', detail='Unknown application error. For input string: "2023-10-24T16:44:56Z".', cause='java.lang.NumberFormatException: For input string: "2023-10-24T16:44:56Z"'}
2023-10-24 12:49:34,304 [background-9] DEBUG ch.cyberduck.core.threading.DefaultFailureDiagnostics - Determine cause for failure BackgroundException{class=class ch.cyberduck.core.exception.ConnectionCanceledException, file=null, message='Error', detail='Unknown application error. For input string: "2023-10-24T16:44:56Z".', cause='java.lang.NumberFormatException: For input string: "2023-10-24T16:44:56Z"'}
2023-10-24 12:49:34,304 [background-9] DEBUG ch.cyberduck.core.threading.BackgroundCallable - Return result null from background action WorkerBackgroundAction{worker=MountWorker{cache=Cache{size=0}}}

To Reproduce
Steps to reproduce the behavior:

  1. Open connection to S3 bucket using S3 (Credentials from AWS Security Token Service)

Expected behavior
I was able to interact with these S3 buckets using this profile recently, so probably failing as a result of an update.

Desktop (please complete the following information):

  • OS: Windows 11 Pro
  • Version: build 22621.2428

Log Files
cyberduck.log

@dkocher dkocher added the s3 AWS S3 Protocol Implementation label Oct 24, 2023
@dkocher dkocher self-assigned this Oct 24, 2023
@dkocher
Copy link
Contributor

dkocher commented Oct 24, 2023

Can you confirm you have configured the use of AWS SSO 1 in your ~/.aws/credentials?

Footnotes

  1. https://docs.cyberduck.io/protocols/s3/#aws-iam-identity-center

@dkocher dkocher added this to the 8.7.1 milestone Oct 24, 2023
dkocher added a commit that referenced this issue Oct 24, 2023
@dkocher dkocher changed the title Unable to connect to S3 using AWS STS Failure parsing expiration from cached temporary credentials in AWS CLI configuration from AWS SSO Oct 24, 2023
@dkocher dkocher linked a pull request Oct 24, 2023 that will close this issue
@Fydon
Copy link
Contributor Author

Fydon commented Oct 24, 2023

Thank you for the quick response. Yes I've configure ~/.aws/credentials to use AWS IAM Identity Center for SSO. I use aws configure sso/aws sso login and aws sts get-caller-identity. I'm using AWS CLI version 2.13.26, which I did update recently so that is probably the cause of the change.

@Fydon
Copy link
Contributor Author

Fydon commented Oct 24, 2023

Looking at cached files from last year, the format was 2022-02-23T21:56:47+00:00, but this year it's all been 2023-03-04T03:39:48Z so it doesn't seem like it changed much.

@dkocher
Copy link
Contributor

dkocher commented Oct 24, 2023

Looking at cached files from last year, the format was 2022-02-23T21:56:47+00:00, but this year it's all been 2023-03-04T03:39:48Z so it doesn't seem like it changed much.

We can reproduce the error and a fix will be available in the next snapshot build.

dkocher added a commit that referenced this issue Oct 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
s3 AWS S3 Protocol Implementation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants