You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CHANGELOG.md
+3
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,8 @@
1
1
# Changelog
2
2
3
+
## 2023-mar-20 (v3.3)
4
+
* Option to set custom Session Duration
5
+
3
6
## 2022-dec-19 (v3.2)
4
7
* Fix [#61](https://github.com/prolane/samltoawsstskeys/issues/61). Instead of using the aws http api directly for AssumeRoleWithSAML, this version switches to using the aws sdk. This is to fix processing large SAML Assertions.
5
8
* Fix [#62](https://github.com/prolane/samltoawsstskeys/issues/62). When the IDP does not add a Session Duration as SAML Assertion Attribute, ignore and continue.
Copy file name to clipboardexpand all lines: README.md
+16-11
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
# SAML to AWS STS Keys Conversion
2
-
Google Chrome Extension which converts a SAML 2.0 assertion to AWS STS Keys (temporary credentials). Just log in to the AWS Web Management Console using your SAML IDP and the Chrome Extension will fetch the SAML Assertion from the HTTP request. The SAML Assertion is then used to call the assumeRoleWithSAML API to create the temporary credentials. (AccessKeyId, SecretAccessKey and SessionToken).
2
+
Google Chrome Extension, which converts a SAML 2.0 assertion to AWS STS Keys (temporary credentials). Just log in to the AWS Web Management Console using your SAML IDP, and the Chrome Extension will fetch the SAML Assertion from the HTTP request. The SAML Assertion is then used to call the assumeRoleWithSAML API to create the temporary credentials. (AccessKeyId, SecretAccessKey and SessionToken).
3
3
4
4
The Chrome Extension can be downloaded here:
5
5
[Google Chrome Web Store](https://chrome.google.com/webstore/detail/ekniobabpcnfjgfbphhcolcinmnbehde/)
@@ -8,23 +8,25 @@ The Chrome Extension can be downloaded here:
8
8
9
9
# Table of Contents
10
10
*[Why this Chrome Extension?](#why)
11
-
*[Getting Started](#gettingstarted)
12
-
*[Create a symlink to your .aws directory (for Windows users)](#symlink)
11
+
*[Getting Started from source](#gettingstarted)
13
12
*[Plugin Development Notes](#development)
14
13
*[Frequently Asked Question](#faq)
15
14
16
15
## <aname="why"></a>Why this Chrome Extension?
17
-
If you don't have any user administration setup within AWS Identity & Access Management (IAM) but instead rely on your corporate user directory, i.e. Microsoft Active Directory. Your company uses a SAML 2.0 Identity Provider (IDP) to log in to the AWS Web Management Console (Single Sign On). Then this Chrome Estension if for you!
16
+
If you don't have any user administration setup within AWS Identity & Access Management (IAM) but instead rely on your corporate user directory, i.e. Microsoft Active Directory. Your company uses a SAML 2.0 Identity Provider (IDP) to log in to the AWS Web Management Console (Single Sign On).
17
+
Then this Chrome Extension is for you!
18
18
19
-
You run into trouble as soon as you would like to execute some fancy scripts from your computer which calls the AWS API's. When sending a request to the AWS API's you need credentials, meaning an AccessKey and SecretKey. You can easily generate these keys for each user in AWS IAM. However, since you don't have any users in AWS IAM and don't want to create users just for the sake of having an AccessKey and SecretKey you are screwed. But there is a way to get temporary credentials specifically for your corporate identity.
19
+
You run into trouble as soon as you want to execute some fancy scripts from your computer, which call the AWS API. When sending a request to the AWS API, you need credentials, meaning AccessKey and SecretKey. You can quickly generate these keys for each user in AWS IAM. However, since you don't have any users in AWS IAM and don't want to create users just for the sake of having an AccessKey and SecretKey, you are screwed. But there is a way to get temporary credentials specifically for your corporate identity.
20
20
21
-
The Security Token Service (STS) from AWS provides an API action assumeRoleWithSAML. Using the SAML Assertion given by your IDP the Chrome Extension will call this API action to fetch temporary credentials. (AccessKeyId, SecretAccessKey and SessionToken). This way there is no need to create some sort of anonymous user in AWS IAM used for executing scripts. This would be a real security nightmare, since it won't be possible to audit who did what. This Chrome Extension however will make it super easy for you to just use your corporate identity for executing scripts calling AWS API's.
21
+
The Security Token Service (STS) from AWS provides an API action assumeRoleWithSAML. Using the SAML Assertion given by your IDP, the Chrome Extension will call this API action to fetch temporary credentials. (AccessKeyId, SecretAccessKey and SessionToken). This way, there is no need to create some anonymous user in AWS IAM used for executing scripts. This would be an absolute security nightmare since it is impossible to audit who did what. This Chrome Extension, however, will make it super easy for you to use your corporate identity for executing scripts calling AWS API.
22
22
23
-
## <aname="gettingstarted"></a>Getting Started
24
-
TODO
25
-
26
-
## <aname="symlink"></a>Create a symlink to your .aws directory (for Windows users)
27
-
TODO
23
+
## <aname="gettingstarted"></a>Getting Started from source
24
+
1. Clone this repository
25
+
2. Open Chrome and go to `chrome://extensions/`
26
+
3. Enable Developer Mode
27
+
4. Click on "Load unpacked extension..."
28
+
5. Select the folder where you cloned this repository
29
+
6. Enjoy!
28
30
29
31
## <aname="development"></a>Plugin Development Notes
30
32
Here are some important notes for development of this plugin.
@@ -57,3 +59,6 @@ With security in mind Google has limited the Chrome browser to only read and wri
57
59
58
60
3. How long are the credentials valid?
59
61
AWS calls this 'session duration'. The default session duration is 1 hour. The maximum session duration is configured in AWS IAM as an attribute of the IAM Role. Your IDP might be configured to pass along an additional SAML claim which requests to apply a custom session duration. This value can be configured to be higher than the default of 1 hour. However, this can never be higher than the configured maximum session duration on the IAM Role as this will result in an error.
Copy file name to clipboardexpand all lines: options/changelog.html
+7
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,13 @@
20
20
<hr>
21
21
22
22
<divid="divChangelog">
23
+
<h3>2023-mar-20<br>v3.3</h3>
24
+
<ul>
25
+
<li>Option to set custom Session Duration.</li>
26
+
</ul>
27
+
<br/>
28
+
<br/>
29
+
23
30
<h3>2022-dec-19<br>v3.2</h3>
24
31
<ul>
25
32
<li>Fix <ahref="https://github.com/prolane/samltoawsstskeys/issues/61" target="_blank">#61</a>. Instead of using the aws http api directly for AssumeRoleWithSAML, this version switches to using the aws sdk. This is to fix processing large SAML Assertions.</li>
0 commit comments