Я пытался использовать роль как:
~/.aws/credentials
[default]
role_arn=arn:aws:iam::xxxxxxx:role/yyyy
, но я получаю сообщение об ошибке:
Partial credentials found in assume-role, missing: source_profile or credential_source
, поэтому кажется, что роль IAM не может заменить
[default]
aws_access_key_id = AAAAAAAAAAAAAAAAAAAAAAAA
aws_secret_access_key = BBBBBBBBBBBBBBBBBBBBBBBBBBB
поскольку согласно http://boto3.readthedocs.io/en/latest/guide/configuration.html
# In ~/.aws/credentials:
[development]
aws_access_key_id=foo
aws_access_key_id=bar
# In ~/.aws/config
[profile crossaccount]
role_arn=arn:aws:iam:...
source_profile=development
мне все равно придется использовать ключи, которые могут представлять угрозу безопасности, даже если они не используются в коде
Есть ли способ использоватьboto3 с правами администратора без использования учетных данных API aws?
в общем:
- Свяжите роль «admin» с экземпляром ec2, который вы собираетесь использовать для запуска ваших скриптов boto3
- Убедитесь, что выглядит хорошо.
$curl <a href="http://169.254.169.254/latest/meta-data/iam/security-credentials/" rel="nofollow noreferrer">http://169.254.169.254/latest/meta-data/iam/security-credentials/</a></li>
<li><p>test boto3 script</p>
<p>#!/usr/bin/env python
import boto3<br>
ec2_client = boto3.client('ec2')<br>
def main():
vpcs = ec2_client.describe_vpcs()
for vpc_info in vpcs['Vpcs']:
print(vpc_info['VpcId'])<br>
if <strong>name</strong> == "<strong>main</strong>":
main()
Я столкнулся с Приложением на github, которое решает эту проблему:
https://github.com/AdRoll/hologram