私はAWS_ACCESS_KEY_IDとAWS_SECRET_KEYを持っています。これらはアクティブな資格情報であるため、AWSアカウントに属するアクティブなユーザーに属します。どのようにBoto3を使用すると、このAWSアカウントのIDを見つけることができますか?BotoからAWSアカウントIDを取得
10
A
答えて
18
アカウントID get-caller-identity sts関数から取得できます。これは、「アカウント」フィールドを返します。
client = boto3.client("sts", aws_access_key_id=access_key, aws_secret_access_key=secret_key)
account_id = client.get_caller_identity()["Account"]
1
次の関数は、あなたの鍵のペアのためにあなたのアカウントIDを取得します:
import boto3
def get_aws_account_id(access_key, secret_key):
sts = boto3.client(
"sts", aws_access_key_id=access_key, aws_secret_access_key=secret_key,
)
user_arn = sts.get_caller_identity()["Arn"]
return user_arn.split(":")[4]
ユーザーのARNはフォーマット "ARN:AWS:IAM :: ACCOUNT_ID:ユーザー/ USERNAME" であるので、これは動作します。コロンで分割すると、アカウントIDは4番目の項目です(0でインデックス付けされています)。
2
このような何かが動作します:
import boto3
ACCESS_KEY = 'FOO'
SECRET_KEY = 'BAR'
iam = boto3.resource('iam',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
)
account_id = iam.CurrentUser().arn.split(':')[4]
print account_id
あなたはEC2 IAMロールを使用する場合は、アクセス/秘密鍵のものとすべてのコードを省略することができますが、単純に次のようになります。
iam = boto3.resource('iam')
account_id = iam.CurrentUser().arn.split(':')[4]
関連する問題
- 1. Boto AWS Glacier - アーカイブを取得
- 2. BOTO Pythonを使用してAWSでインスタンスのパブリックDNSを取得する方法
- 3. paypalアカウントからクライアントIDと秘密鍵を取得する方法
- 4. Windowsサービスからのアカウント名の取得
- 5. JavaScriptを使用してAWSアカウントIDを検索する
- 6. IDからのIDの取得PHP SDK
- 7. ツイッターを返すアカウントのユーザーIDを取得する
- 8. Sugar CRMのプライマリEmailアドレスに基づいてアカウントIDを取得
- 9. 接続されたストライプアカウントのアカウントIDを取得
- 10. SQLコンパクトエディションからauto_increment IDを取得
- 11. Gitlab:コミットIDからマージリクエストを取得
- 12. DotNetOpenAuth ResourceServerプリンシパルからユーザーIDを取得
- 13. 文字列からIDを取得
- 14. FirebaseからIDでJavaオブジェクトを取得
- 15. ブロードキャストレシーバーからSMS IDを取得
- 16. コアデータ&sqliteから最大IDを取得
- 17. IDでエンティティフレームワークからアイテムを取得
- 18. IDをチェックボックスから取得する
- 19. データベース内のテーブルからIDを取得
- 20. アバターからBuddyPressアクティビティIDを取得
- 21. 別のサーバー(リンクサーバー)から@@ IDを取得
- 22. PHPでFacebookからユーザーIDを取得
- 23. div idからxpathコンテンツを取得
- 24. WebサイトからIISサイトIDを取得
- 25. ImageViewからリソースIDを取得
- 26. ブラウザからユーザーIDを取得する
- 27. プロセスIDからWinstation名を取得
- 28. ComオブジェクトからプロセスIDを取得
- 29. CellInfoLteからロケーションコードとセルIDを取得
- 30. android mobile sdkからawsでアカウントを作成
ここで言及したいくつかの方法https://gist.github.com/gene1wood/6d4974b7503336d642c9 [boto3で現在のユーザーアカウントIDを取得]の – Montaro
可能な複製(HTTPS:/ /stackoverflow.com/questions/33332050/getting-the-current-user-account-id-in-boto3) –
@MarnixKloosterこの質問はGoogleの検索「BotoアカウントID」に最初に表示されます。たぶん、他の質問に重複していると印をつけてください。 – Zags