|
43 | 43 | :aws/secret-access-key (:SecretAccessKey creds)
|
44 | 44 | :aws/session-token (:SessionToken creds)
|
45 | 45 | ::credentials/ttl (credentials/calculate-ttl creds)}))))
|
46 |
| - |
47 |
| -;; Example steps |
48 |
| -;; 1: create client with basic user credentials |
49 |
| -;; 2: assume role with the client, along with mfa serial and mfa token |
50 |
| -;; 3: create s3 client with assumed role credentials |
51 |
| -;; 4. list buckets using s3 client |
52 |
| -(let [ |
53 |
| - ;; load from 1password or somethin |
54 |
| - mfa-token-code "577170" |
55 |
| - |
56 |
| - ;; load with aero |
57 |
| - mfa-serial-number "arn:aws:iam::123412341234:mfa/jol" |
58 |
| - user-creds {:access-key-id "AKIATY00000000000000" |
59 |
| - :secret-access-key "****************************************"} |
60 |
| - assume-role-arn "arn:aws:iam::123412341234:role/OtherRole" |
61 |
| - sts-client (create-sts-client user-creds) |
62 |
| - assumed-role-creds (assume-role {:sts-client sts-client |
63 |
| - :role-arn assume-role-arn |
64 |
| - :mfa-serial mfa-serial-number |
65 |
| - :mfa-token mfa-token-code |
66 |
| - :session-prefix "my-session"}) |
67 |
| - credentials-provider (wrap-in-credentials-provider assumed-role-creds) |
68 |
| - s3-client (aws/client {:api :s3 |
69 |
| - :region "eu-west-1" |
70 |
| - :credentials-provider credentials-provider})] |
71 |
| - |
72 |
| - ;; list buckets using assumed role credentials |
73 |
| - (def assumed-role-creds assumed-role-creds) |
74 |
| - (aws/invoke s3-client {:op :ListBuckets})) |
0 commit comments