Compare commits

..

13 Commits

Author SHA1 Message Date
Tom Keller 2748f18272 chore(docs): document immutable OIDC subject claim
GitHub made the OIDC `sub` claim immutable for repositories created on
github.com on or after 2026-04-23 (and older repos that opt in). The claim
now appends the numeric org and repository IDs after each name, separated by
`@`, e.g. `repo:org@123456/repo@789012:ref:refs/heads/main`.

Closes #1888.
2026-07-15 10:48:06 -07:00
GitHub Actions e977f476bf chore: Update dist 2026-07-14 03:59:59 +00:00
dependabot[bot] ab0d61f6a0 chore(deps): bump @aws-sdk/client-sts from 3.1080.0 to 3.1086.0 (#1880)
Bumps [@aws-sdk/client-sts](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sts) from 3.1080.0 to 3.1086.0.
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-sts/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1086.0/clients/client-sts)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-sts"
  dependency-version: 3.1086.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 03:59:28 +00:00
GitHub Actions ccf493e3b1 chore: Update dist 2026-07-14 03:56:32 +00:00
dependabot[bot] 05ed620dc8 chore(deps-dev): bump @aws-sdk/credential-provider-env (#1886)
Bumps [@aws-sdk/credential-provider-env](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages-internal/credential-provider-env) from 3.972.54 to 3.972.57.
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages-internal/credential-provider-env/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/HEAD/packages-internal/credential-provider-env)

---
updated-dependencies:
- dependency-name: "@aws-sdk/credential-provider-env"
  dependency-version: 3.972.57
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 03:56:05 +00:00
dependabot[bot] 62f98f6930 chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 (#1882)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 6.0.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](https://github.com/microsoft/TypeScript/commits)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 03:54:45 +00:00
dependabot[bot] 5a780d06ff chore(deps-dev): bump @smithy/property-provider from 4.4.6 to 4.4.8 (#1884)
Bumps [@smithy/property-provider](https://github.com/smithy-lang/smithy-typescript/tree/HEAD/packages/property-provider) from 4.4.6 to 4.4.8.
- [Release notes](https://github.com/smithy-lang/smithy-typescript/releases)
- [Changelog](https://github.com/smithy-lang/smithy-typescript/blob/main/packages/property-provider/CHANGELOG.md)
- [Commits](https://github.com/smithy-lang/smithy-typescript/commits/@smithy/property-provider@4.4.8/packages/property-provider)

---
updated-dependencies:
- dependency-name: "@smithy/property-provider"
  dependency-version: 4.4.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 03:53:16 +00:00
dependabot[bot] d3cb30b08b chore(deps-dev): bump @biomejs/biome from 2.5.2 to 2.5.3 (#1885)
Bumps [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) from 2.5.2 to 2.5.3.
- [Release notes](https://github.com/biomejs/biome/releases)
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md)
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.3/packages/@biomejs/biome)

---
updated-dependencies:
- dependency-name: "@biomejs/biome"
  dependency-version: 2.5.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 03:51:27 +00:00
dependabot[bot] eb48debd38 chore(deps-dev): bump @types/node from 26.1.0 to 26.1.1 (#1881)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 26.1.0 to 26.1.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.1.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 03:48:33 +00:00
dependabot[bot] e69af16b6c chore(deps-dev): bump memfs from 4.58.0 to 4.64.0 (#1883)
Bumps [memfs](https://github.com/streamich/memfs) from 4.58.0 to 4.64.0.
- [Release notes](https://github.com/streamich/memfs/releases)
- [Changelog](https://github.com/streamich/memfs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/streamich/memfs/compare/v4.58.0...v4.64.0)

---
updated-dependencies:
- dependency-name: memfs
  dependency-version: 4.64.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 03:46:28 +00:00
GitHub Actions 7fb20f0656 chore: Update dist 2026-07-14 03:44:06 +00:00
dependabot[bot] 4e7ae70130 chore(deps): bump @smithy/node-http-handler from 4.9.3 to 4.9.5 (#1879)
Bumps [@smithy/node-http-handler](https://github.com/smithy-lang/smithy-typescript/tree/HEAD/packages/node-http-handler) from 4.9.3 to 4.9.5.
- [Release notes](https://github.com/smithy-lang/smithy-typescript/releases)
- [Changelog](https://github.com/smithy-lang/smithy-typescript/blob/main/packages/node-http-handler/CHANGELOG.md)
- [Commits](https://github.com/smithy-lang/smithy-typescript/commits/@smithy/node-http-handler@4.9.5/packages/node-http-handler)

---
updated-dependencies:
- dependency-name: "@smithy/node-http-handler"
  dependency-version: 4.9.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-14 03:43:32 +00:00
Tom Keller 9ae780b171 fix: attach git credentials before Tag Major Version push (#1877)
The Tag Major Version step ran 'git push origin' after Checkout Again
re-cloned with persist-credentials: false, leaving the remote without
credentials. This caused 'fatal: could not read Username' (exit 128) on
the first release. Set the authenticated remote URL using OSDS_ACCESS_TOKEN
before pushing tags, mirroring the Update README step.
2026-07-09 13:46:15 -07:00
6 changed files with 2192 additions and 1957 deletions
+2
View File
@@ -55,6 +55,8 @@
run: |
git config user.name "GitHub Actions"
git config user.email "github-aws-sdk-osds-automation@amazon.com"
echo "::add-mask::${{ env.OSDS_ACCESS_TOKEN }}"
git remote set-url origin https://${{ env.OSDS_ACCESS_TOKEN }}@github.com/aws-actions/configure-aws-credentials.git
if git rev-parse "v${{ steps.release.outputs.major }}" >/dev/null 2>&1; then
git tag -d "v${{ steps.release.outputs.major }}"
git push origin ":v${{ steps.release.outputs.major }}"
+35 -7
View File
@@ -26,7 +26,7 @@ Authenticate to AWS in GitHub Actions (and others)! Works especially well with
"Condition": {
"StringEquals": {
"token.actions.githubusercontent.com:aud": "sts.amazonaws.com",
"token.actions.githubusercontent.com:sub": "repo:<GITHUB_ORG>/<GITHUB_REPOSITORY>:ref:refs/heads/<GITHUB_BRANCH>"
"token.actions.githubusercontent.com:sub": "repo:<GITHUB_ORG>@<ORG_ID>/<GITHUB_REPOSITORY>@<REPO_ID>:ref:refs/heads/<GITHUB_BRANCH>"
}
}
}
@@ -36,11 +36,16 @@ Authenticate to AWS in GitHub Actions (and others)! Works especially well with
</details>
Note: if you are running in a GitHub environment based workflow, the value
for the Sub claim will be different, in the form of
`repo:<GITHUB_ORG>/<GITHUB_REPOSITORY>:environment:<ENVIRONMENT_NAME>`.
Adjust the trust policy accordingly if you are using environment-based
workflows.
Note: The value of the `sub` claim may be different depending on the workflow
and the environment in which it's running. Workflows in repositories created
prior to [15 July 2026][immutable-sub] will omit the `@<ORG_ID>` and
`@<REPO_ID>` suffixes unless opted in. Workflows running in GitHub
environments will include an`environment:<ENVIRONMENT_NAME>` stanza. See
[Claims and scoping permissions](#claims-and-scoping-permissions) for more
information.
[immutable-sub]:
https://github.blog/changelog/2026-04-23-immutable-subject-claims-for-github-actions-oidc-tokens/
3. Attach permissions to the IAM Role that allow it to access the AWS resources
you need.
@@ -593,6 +598,29 @@ claims ([1][gh-blog-oidc], [2][sub-claim-custom]).
> unintended access. Instead, use `StringEquals` or `StringLike` operators to
> check for specific claim values.
#### Immutable subject claims
Repositories created on github.com on or after 15 July 2026, and older
repositories that have opted in, emit an [immutable `sub` claim][immutable-sub].
This claim appends the permanent numeric ID of the organization and of the
repository after each name, separated by `@`, so that a recycled org or
repository name cannot be used to mint tokens matching a stale trust policy.
For example:
```text
# Legacy (mutable) sub claim
repo:octo-org/octo-repo:ref:refs/heads/main
# Immutable sub claim
repo:octo-org@123456/octo-repo@789012:ref:refs/heads/main
```
If your trust policy matches the legacy name-only form and your repository emits
the immutable claim, `AssumeRoleWithWebIdentity` fails with `Not authorized to
perform sts:AssumeRoleWithWebIdentity`. To fix this, update the `sub` condition
to the immutable form. You can find your repository's prefix in the Settings,
or by following the token inspection steps below.
[least-privilege]:
https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege
[gh-blog-oidc]:
@@ -605,7 +633,7 @@ claims ([1][gh-blog-oidc], [2][sub-claim-custom]).
If you aren't sure what claim values your workflow is producing, the
[`actions-oidc-debugger`](https://github.com/github/actions-oidc-debugger)
action will print the decoded JWT payload. Run it in a private repository
only the token itself is short-lived but the claim values may be sensitive.
only; the token itself is short-lived but the claim values may be sensitive.
See the GitHub [security-hardening guide][gh-oidc-hardening] for further
discussion of trust conditions and threat modeling.
+21 -21
View File
@@ -222,7 +222,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The following npm package may be included in this product:
- @aws-sdk/client-sts@3.1080.0
- @aws-sdk/client-sts@3.1086.0
This package contains the following license:
@@ -432,9 +432,9 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/signature-v4-multi-region@3.996.38
- @smithy/core@3.29.1
- @smithy/types@4.15.1
- @aws-sdk/signature-v4-multi-region@3.996.39
- @smithy/core@3.29.3
- @smithy/types@4.16.1
These packages each contain the following license:
@@ -832,7 +832,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The following npm package may be included in this product:
- @aws-sdk/core@3.974.28
- @aws-sdk/core@3.975.1
This package contains the following license:
@@ -1042,16 +1042,16 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/credential-provider-env@3.972.54
- @aws-sdk/credential-provider-ini@3.972.61
- @aws-sdk/credential-provider-node@3.972.63
- @aws-sdk/token-providers@3.1080.0
- @aws-sdk/types@3.973.15
- @aws-sdk/xml-builder@3.972.33
- @smithy/credential-provider-imds@4.4.6
- @smithy/fetch-http-handler@5.6.3
- @smithy/node-http-handler@4.9.3
- @smithy/signature-v4@5.6.2
- @aws-sdk/credential-provider-env@3.972.57
- @aws-sdk/credential-provider-ini@3.973.1
- @aws-sdk/credential-provider-node@3.972.67
- @aws-sdk/token-providers@3.1083.0
- @aws-sdk/types@3.974.0
- @aws-sdk/xml-builder@3.972.34
- @smithy/credential-provider-imds@4.4.8
- @smithy/fetch-http-handler@5.6.5
- @smithy/node-http-handler@4.9.5
- @smithy/signature-v4@5.6.4
These packages each contain the following license:
@@ -1261,9 +1261,9 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/credential-provider-process@3.972.54
- @aws-sdk/credential-provider-sso@3.972.60
- @aws-sdk/credential-provider-web-identity@3.972.60
- @aws-sdk/credential-provider-process@3.972.57
- @aws-sdk/credential-provider-sso@3.973.1
- @aws-sdk/credential-provider-web-identity@3.972.63
These packages each contain the following license:
@@ -1473,9 +1473,9 @@ Apache License
The following npm packages may be included in this product:
- @aws-sdk/credential-provider-http@3.972.56
- @aws-sdk/credential-provider-login@3.972.60
- @aws-sdk/nested-clients@3.997.28
- @aws-sdk/credential-provider-http@3.972.59
- @aws-sdk/credential-provider-login@3.972.63
- @aws-sdk/nested-clients@3.997.31
These packages each contain the following license:
Generated Vendored
+1503 -1660
View File
File diff suppressed because it is too large Load Diff
+623 -261
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -17,25 +17,25 @@
"organization": true
},
"devDependencies": {
"@aws-sdk/credential-provider-env": "^3.972.49",
"@biomejs/biome": "2.5.2",
"@smithy/property-provider": "^4.4.6",
"@types/node": "^26.1.0",
"@aws-sdk/credential-provider-env": "^3.972.57",
"@biomejs/biome": "2.5.3",
"@smithy/property-provider": "^4.4.8",
"@types/node": "^26.1.1",
"@vitest/coverage-v8": "4.1.10",
"aws-sdk-client-mock": "^4.1.0",
"esbuild": "^0.28.1",
"generate-license-file": "^4.2.1",
"json-schema": "^0.4.0",
"markdownlint-cli": "^0.49.0",
"memfs": "^4.58.0",
"memfs": "^4.64.0",
"standard-version": "^9.5.0",
"typescript": "^6.0.3",
"typescript": "^7.0.2",
"vitest": "4.1.10"
},
"dependencies": {
"@actions/core": "^3.0.1",
"@aws-sdk/client-sts": "^3.1080.0",
"@smithy/node-http-handler": "^4.9.1",
"@aws-sdk/client-sts": "^3.1086.0",
"@smithy/node-http-handler": "^4.9.5",
"proxy-agent": "^8.0.2"
},
"keywords": [