Buscando una forma rápida de extraer mi número de cuenta, originalmente había pensado en usarlo, aws iam get-account-authorization-details --max-items 1
pero hay varios problemas al hacerlo de esta manera. ¿Hay alguna forma de hacer esto que no cruce los orígenes de las cuentas?
99
aws sts get-caller-identity|jq -r ".Account"
aws sts get-caller-identity --output json | jq '.Account' | sed 's/\"//g'
--query 'Account'
pieza.jq
estar involucrado o instalado en un sistema. Algunos servidores prohíben la instalación de paquetes extraños por motivos de seguridad. Podrías hacer algo como esto,aws sts get-caller-identity --output json |grep Account |awk -F ': "' '{print$2}' |sed 's/\".*//'
pero es un poco molesto y también podrías hacerlo--query 'Account' --output text
en ese momento.De mi respuesta relacionada para la CLI de AWS PowerShell , su ID de cuenta es parte del Arn de recursos que crea ... y aquellos que se crean automáticamente para usted. Algunos recursos también lo incluirán como OwnerId.
El grupo de seguridad predeterminado se crea automáticamente en la VPC predeterminada de cada región como grupo de seguridad reservado. De la documentación :
Esto lo convierte en un candidato confiable para recuperar nuestro ID de cuenta, siempre que esté en EC2 Classic o tenga una VPC predeterminada (* consulte los casos extremos si no la tiene).
Ejemplo:
Esto se utiliza
--query
para filtrar la salida hasta el "ID de propietario" para el primer resultado de esta solicitud, y luego se utiliza--output
para generar su ID de cuenta como texto sin formato:Casos de borde:
(Gracias @kenchew) Tenga en cuenta que si ha eliminado su VPC predeterminada en una región determinada, este grupo de seguridad ya no existe y debe utilizar una de estas soluciones alternativas:
Otras lecturas:
fuente
Si está ejecutando en un servidor que se está ejecutando con un rol asumido, no puede llamar
aws sts get-caller-identity
. Además,describe-security-groups
no siempre puede usar el--group-names
filtro (no funciona si no tiene una VPC predeterminada), así que elija el primer grupo de seguridad. Descubrí que este es el más confiable, independientemente del tipo de autenticación que use o del tipo de VPC que tenga.fuente
Mi método favorito es usarlo,
aws iam get-user [--profile <profile>]
ya que solo necesita el rol de autoservicio de IAM para que esto funcione.fuente