googleapis / googleapis/google-cloud-python

AWS Workload Identity Federation

Open
#15,186 3 comments 4 reactions 2 assignees Claimed by @BigTailWolf View on GitHub
Dominant language
Python
Stars
5.4k
Forks
1.8k
Avg merge
3d 4h
Merged PRs (30d)
122

Description

Hey, do you have some documentation on how to use this lib with AWS and Workload Identity Federation?

The code below is given me the following error
```
cred = aws.Credentials.from_file("./work-identify-pool.json")
request = google.auth.transport.requests.Request()
aws_cred = cred.refresh(request)
```

```
{
"errorMessage": "('Unable to acquire impersonated credentials', '{\\n \"error\": {\\n \"code\": 400,\\n \"message\": \"Request contains an invalid argument.\",\\n \"status\": \"INVALID_ARGUMENT\"\\n }\\n}\\n')",
"errorType": "RefreshError",
"requestId": "",
"stackTrace": [
" File \"/var/lang/lib/python3.10/importlib/__init__.py\", line 126, in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n",
" File \"\", line 1050, in _gcd_import\n",
" File \"\", line 1027, in _find_and_load\n",
" File \"\", line 1006, in _find_and_load_unlocked\n",
" File \"\", line 688, in _load_unlocked\n",
" File \"\", line 883, in exec_module\n",
" File \"\", line 241, in _call_with_frames_removed\n",
" File \"/var/task/main.py\", line 20, in \n aws_cred = cred.refresh(request)\n",
" File \"/var/task/google/auth/external_account.py\", line 360, in refresh\n self._impersonated_credentials.refresh(request)\n",
" File \"/var/task/google/auth/impersonated_credentials.py\", line 247, in refresh\n self._update_token(request)\n",
" File \"/var/task/google/auth/impersonated_credentials.py\", line 276, in _update_token\n self.token, self.expiry = _make_iam_token_request(\n",
" File \"/var/task/google/auth/impersonated_credentials.py\", line 104, in _make_iam_token_request\n raise exceptions.RefreshError(_REFRESH_ERROR, response_body)\n"
]
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.