Questa pagina descrive il comando config-connector bulk-export
e come utilizzarlo per esportare le risorse Google Cloud in file YAML Config Connector, che puoi poi importare in Config Connector.
config-connector bulk-export
utilizza
la funzionalità di esportazione di Cloud Asset Inventory
per scoprire le risorse Google Cloud esistenti. Puoi fornire un'esportazione dell'inventario Cloud Asset oppure config-connector
può eseguire l'esportazione per tuo conto.
Cloud Asset Inventory esporta strutture JSON. Ogni struttura ha il nome della risorsa, il relativo tipo di inventario e le risorse predecessori: progetti, cartelle e organizzazione. Per scoprire i tipi supportati dall'inventario, consulta l'articolo Tipi di asset supportati.
Prima di iniziare
Se vuoi utilizzare lo strumento
config-connector
per esportare direttamente da Cloud Asset Inventory, attiva l'API Cloud Asset Inventory nel tuo progetto Google Cloud Identity congcloud
.gcloud services enable cloudasset.googleapis.com
Esempio di esportazione collettiva
In questo esempio crei un PubSubTopic con l'interfaccia a riga di comando di Google Cloud e poi importalo in Config Connector.
Crea un argomento denominato
sample-topic
con l'interfaccia a riga di comando di Google Cloud:gcloud pubsub topics create sample-topic
Riceverai la conferma che l'argomento è stato creato.
Created topic [projects/PROJECT_ID/topics/sample-topic].
Nell'output,
PROJECT_ID
viene sostituito con il tuo progetto Google Cloud.Recupera il nome della risorsa Google Cloud dell'argomento e salvalo in una variabile di ambiente con il seguente comando:
TOPIC_RESOURCE_NAME=$(gcloud pubsub topics describe sample-topic --format "value(name)")
Per identificare gli oggetti, lo strumento
config-connector
utilizza le strutture JSON di Cloud Asset Inventory. Salva la struttura JSON dell'asset argomento in una variabile di ambiente:TOPIC_ASSET='{"name":"//pubsub.googleapis.com/'"${TOPIC_RESOURCE_NAME}"'","asset_type":"pubsub.googleapis.com/Topic"}'
Passa l'asset a
config-connector bulk-export
eseguendo questo comando:echo ${TOPIC_ASSET} | config-connector bulk-export
L'output è una risorsa Config Connector in formato YAML.
--- apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 kind: PubSubTopic metadata: annotations: cnrm.cloud.google.com/project-id: PROJECT_ID name: sample-topic ...
Nell'output,
PROJECT_ID
viene sostituito con il tuo progetto Google Cloud.Puoi trasferire questa risorsa in Config Connector con
kubectl apply -f -
. Per passare direttamente la risorsa, esegui il comando seguente:echo ${TOPIC_ASSET} | config-connector bulk-export | kubectl apply -f - --namespace CC_NAMESPACE
Sostituisci CC_NAMESPACE con lo spazio dei nomi da cui Config Connector gestisce le risorse.
Config Connector acquisisce la risorsa.
Conferma che Config Connector gestisca la risorsa con
kubectl describe
:kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
Sostituisci
CC_NAMESPACE
con lo spazio dei nomi da cui Config Connector gestisce le risorse.
Pulizia
Puoi eliminare PubSubTopic con config-connector bulk-export
e
kubectl delete
.
echo ${TOPIC_ASSET} | config-connector bulk-export | kubectl delete -f - --namespace CC_NAMESPACE
Sostituisci CC_NAMESPACE
con lo spazio dei nomi da cui Config Connector gestisce le risorse.
Scoperta delle risorse da importare
Quando importi le risorse, puoi eseguire un'esportazione dell'inventario di Cloud Asset e fornire i risultati a config-connector bulk-export
o fare in modo che config-connector bulk-export
ne esegua una al posto dell'utente.
Importazione da un'esportazione dell'inventario Cloud Asset
Puoi fornire un'esportazione dell'inventario asset fornendo il percorso di un file locale contenente l'esportazione o comunicando i risultati di un'esportazione a config-connector
in STDIN.
Importazione da un file locale
Puoi fornire un'esportazione dell'inventario asset in config-connector bulk-export
utilizzando un file locale con il parametro --input
.
config-connector bulk-export --input ASSET_INVENTORY_EXPORT
Sostituisci ASSET_INVENTORY_EXPORT
con il nome file dell'esportazione del tuo
inventario Cloud Asset.
Importazione da STDIN
Per fornire un'esportazione dell'inventario degli asset su STDIN, invia i risultati di un'esportazione a
config-connector bulk-export
. Ad esempio, se l'esportazione è in un file locale denominato
export.json
, invia i contenuti al file tramite pipe in config-connector bulk-export
, senza
fornire i parametri di esportazione.
cat export.json | config-connector bulk-export
Filtrare un'esportazione dell'inventario delle risorse su STDIN
Per filtrare un'esportazione dell'inventario delle risorse, puoi utilizzare lo strumento e la barra verticale jq
per inserire i risultati in config-connector bulk-export
. Ad esempio, se vuoi importare solo gli asset PubSubTopic dal file EXPORT_FILE, esegui il comando seguente:
cat EXPORT_FILE | jq '. | select( .asset_type == "pubsub.googleapis.com/Topic" )' | config-connector bulk-export
Esportare un inventario con config-connector
Lo strumento config-connector bulk-export
può esportare risorse da una gerarchia delle risorse di Google Cloud.
Esportazione del progetto
Per esportare tutte le risorse dal progetto, utilizza il parametro --project
.
config-connector bulk-export --project PROJECT_ID
Sostituisci PROJECT_ID
con il tuo progetto Google Cloud.
Esportazione della cartella
Per esportare tutte le risorse da una cartella, utilizza il parametro --folder
.
config-connector bulk-export --folder FOLDER_NUMBER
Sostituisci FOLDER_NUMBER
con il numero della cartella di Google Cloud.
Esportazione dell'organizzazione
Per esportare tutte le risorse della tua organizzazione, utilizza il parametro --organization
.
config-connector bulk-export --organization ORGANIZATION_ID
Sostituisci ORGANIZATION_ID
con l'ID organizzazione Google Cloud.
Località di Cloud Storage
La posizione di output dell'esportazione dell'inventario asset è un URI di Cloud Storage. Quando
config-connector bulk-export
esegue un'esportazione, utilizza un bucket
Cloud Storage. Per impostazione predefinita, config-connector bulk-export
crea un bucket temporaneo. Puoi anche specificare il nome del bucket.
Bucket temporaneo Cloud Storage
Se non fornisci il parametro --storage-key
,
config-connector bulk-export
crea un bucket Cloud Storage temporaneo per tuo conto. Il bucket viene eliminato al termine dell'esportazione.
Specifica di un bucket temporaneo
Per specificare un bucket, utilizza un URI Cloud Storage con il parametro storage-key
. Se l'URI è solo il nome del bucket, viene generato un nome per l'oggetto di esportazione. Se l'URI è un percorso completo di un oggetto di archiviazione,
viene utilizzato il percorso completo.
config-connector bulk-export --storage-key gs://BUCKET_NAME
Output
L'output del comando config-connector bulk-export
è
le risorse Config Connector in formato YAML. Il file YAML è scritto in STDOUT per impostazione predefinita. Puoi indirizzare l'output delle risorse ai file con l'opzione
output
.
Output in un singolo file
Quando imposti il parametro --output
, config-connector bulk-export
scrive i risultati in un
singolo file se si verifica una delle seguenti condizioni:
- Il file specificato da
output
esiste ed è un fileregular
. - Il file specificato da
output
non esiste e la directory padre rappresentata daoutput
esiste.
Output in una directory
config-connector
scrive i risultati in più file quando il parametro --output
è una directory che termina con un /
. config-connector bulk-export
crea un file per risorsa e i nomi dei file corrispondono ai rispettivi nomi.
config-connector bulk-export --project PROJECT_ID --on-error continue --output OUTPUT_DIRECTORY/
Sostituisci PROJECT_ID
con il tuo progetto Google Cloud.
Ad esempio, per generare asset dal progetto my-project
alla directory sample
, esegui il comando seguente:
config-connector bulk-export --project my-project --on-error continue --output sample/
Risorse supportate
Puoi stampare l'elenco delle risorse per lo strumento config-connector
insieme ai formati del nome della risorsa eseguendo questo comando:
config-connector print-resources
Opzioni della riga di comando
Il comando config-connector bulk-export
prevede le seguenti opzioni:
config-connector bulk-export
--input FILENAME \
--output FILENAME \
--storage-key gs://BUCKET_NAME \
--project PROJECT_ID \
--folder FOLDER_NUMBER \
--organization ORGANIZATION_ID \
--oauth2-token TOKEN \
--on-error [halt | continue | ignore] \
--iam-format [policy | policymember | none] \
--filter-deleted-iam-members [true | false] \
--verbose
--input
: file di input di Cloud Asset Inventory.--output
: un percorso facoltativo del file di output che disattiva l'output standard. Quando un file contiene il risultato dell'output comando, se contiene una directory, la directory conterrà un nuovo file per ogni risorsa nell'output.--storage-key
: scegli come target il bucket Cloud Storage temporaneo per l'esportazione.--project
: ID progetto Google Cloud da esportare--folder
: ID cartella Google Cloud da esportare--organization
: ID organizzazione Google Cloud da esportare.--oauth2-token
: un token OAUTH2 come identità Google Cloud. Per impostazione predefinita,config-connector
utilizza le credenziali predefinite dell'interfaccia a riga di comando di Google.--on-error
: controlla questo comportamento quando si verifica un errore recuperabile. Le opzioni sono 'continua', 'halt' o 'ignora'.halt
: interrompi l'esecuzione per qualsiasi errore (impostazione predefinita)continue
: continua a elaborare le risorse, stampa l'errore in STDERRignore
: continua a elaborare le risorse e non stampare l'errore
--iam-format
: specifica il tipo di output delle risorse IAM con l'esportazione. Le opzioni sonopolicy
(impostazione predefinita),policymember
onone
.--filter-deleted-iam-members
: specifica se filtrare le entità IAM eliminate. Le opzioni sonotrue
ofalse
. Il valore predefinito èfalse
.--verbose
: attiva il logging dettagliato.
Passaggi successivi
- Scopri come Config Connector acquisisce le risorse Google Cloud esistenti
- Scopri di più su Cloud Asset Inventory ed esportazione di asset in Cloud Storage.
- Scopri le risorse supportate da Config Connector.