Importazione ed esportazione collettiva delle Google Cloud risorse esistenti
Questa pagina descrive il comando config-connector bulk-export
e come utilizzarlo per
esportare Google Cloud risorse in file YAML di Config Connector
che puoi successivamente importare in Config Connector.
config-connector bulk-export
utilizza la funzionalità Esporta di Cloud Asset Inventory per scoprire le risorse Google Cloud esistenti. Puoi fornire un'esportazione di Inventario asset di Cloud o config-connector
può eseguire l'esportazione per tuo conto.
Cloud Asset Inventory esporta strutture JSON. Ogni struttura ha il nome della risorsa, il tipo di inventario asset e le risorse antenate: progetti, cartelle e organizzazione. Per scoprire i tipi supportati dall'inventario delle risorse, consulta Tipi di asset supportati.
Prima di iniziare
Se vuoi utilizzare lo strumento
config-connector
per esportare direttamente da Cloud Asset Inventory, abilita l'API Cloud Asset Inventory nel progetto della tua identità congcloud
. Google Cloudgcloud services enable cloudasset.googleapis.com
Esempio di esportazione collettiva
In questo esempio, crei un argomento PubSub con Google Cloud CLI e poi lo importi in Config Connector.
Crea un argomento denominato
sample-topic
con Google Cloud CLI:gcloud pubsub topics create sample-topic
Riceverai una conferma della creazione dell'argomento.
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 della risorsa argomento in una variabile di ambiente:TOPIC_ASSET='{"name":"//pubsub.googleapis.com/'"${TOPIC_RESOURCE_NAME}"'","asset_type":"pubsub.googleapis.com/Topic"}'
Passa la risorsa a
config-connector bulk-export
eseguendo il seguente 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 passare questa risorsa a Config Connector con
kubectl apply -f -
. Per passare la risorsa direttamente, esegui il seguente comando: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.
Verifica 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.
Individuare le risorse da importare
Quando importi le risorse, puoi eseguire un'esportazione dell'inventario delle risorse cloud e fornire i risultati a config-connector bulk-export
o chiedere a config-connector bulk-export
di eseguirne una per tuo conto.
Importazione da un'esportazione di Cloud Asset Inventory
Puoi fornire un'esportazione dell'inventario delle risorse specificando il percorso di un file locale contenente l'esportazione o inviando i risultati di un'esportazione a config-connector
su STDIN.
Importazione da un file locale
Puoi fornire un'esportazione dell'inventario delle risorse a 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 del file dell'esportazione di Cloud Asset Inventory.
Importazione da STDIN
Per fornire un'esportazione dell'inventario di asset su STDIN, invia i risultati di un'esportazione a
config-connector bulk-export
. Ad esempio, se l'esportazione si trova in un file locale denominato
export.json
, invia i contenuti del file a config-connector bulk-export
senza
fornire nessuno dei parametri di esportazione.
cat export.json | config-connector bulk-export
Filtrare un'esportazione dell'inventario degli asset su STDIN
Per filtrare un'esportazione dell'inventario degli asset, puoi utilizzare lo strumento jq
e il pipe per inserire i risultati in config-connector bulk-export
. Ad esempio, se vuoi importare solo gli asset PubSubTopic dal file EXPORT_FILE, esegui il seguente comando:
cat EXPORT_FILE | jq '. | select( .asset_type == "pubsub.googleapis.com/Topic" )' | config-connector bulk-export
Esportazione di un inventario con config-connector
Lo strumento config-connector bulk-export
può esportare risorse da una Google Cloud
gerarchia delle risorse.
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.
Esportare la 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 tua Google Cloud cartella.
Esportazione dell'organizzazione
Per esportare tutte le risorse dalla tua organizzazione, utilizza il parametro --organization
.
config-connector bulk-export --organization ORGANIZATION_ID
Sostituisci ORGANIZATION_ID
con l'ID della tua Google Cloud organizzazione.
Località di Cloud Storage
La posizione di output dell'esportazione dell'inventario delle risorse è 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 Cloud Storage temporaneo
Se non fornisci il parametro --storage-key
, config-connector
bulk-export
crea un bucket Cloud Storage temporaneo per tuo conto. Il bucket viene creato nella località predefinita per i bucket di archiviazione, ovvero più regioni US
. 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 archiviazione dell'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
è costituito dalle risorse di Config Connector in formato YAML. Il file YAML viene scritto su
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 una delle seguenti condizioni è vera:
- Il file specificato da
output
esiste ed è un fileregular
. - Il file specificato da
output
non esiste, mentre la directory principale rappresentata daoutput
esiste.
Output in una directory
config-connector
scrive i risultati in più file quando il parametro --output
è una directory che termina con /
. config-connector bulk-export
crea un
file per risorsa e i nomi dei file corrispondono ai nomi delle risorse.
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 esportare gli asset dal progetto my-project
nella directory sample
, esegui il seguente comando:
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 dei nomi delle risorse eseguendo il seguente comando:
config-connector print-resources
Opzioni della riga di comando
Il comando config-connector bulk-export
ha 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. Se si tratta di un file, il risultato contiene tutto l'output del comando. Se si tratta di una directory, la directory conterrà un nuovo file per ogni risorsa nell'output.--storage-key
: bucket Cloud Storage temporaneo di destinazione per l'esportazione.--project
: Google Cloud ID progetto da esportare--folder
: Google Cloud ID cartella da esportare--organization
: Google Cloud ID organizzazione da esportare.--oauth2-token
: un token OAUTH2 come Google Cloud identità. Per impostazione predefinita,config-connector
utilizza le credenziali predefinite di Google Cloud CLI.--on-error
: controlla il comportamento quando si verifica un errore recuperabile. Le opzioni sono "continue", "halt" o "ignore".halt
: interrompi l'esecuzione in caso di errore (valore predefinito)continue
: continua a elaborare le risorse, stampa l'errore su STDERRignore
: continua a elaborare le risorse e non stampare l'errore
--iam-format
: specifica il tipo di risorse IAM uscente con l'esportazione. Le opzioni sonopolicy
(valore predefinito),policymember
onone
.--filter-deleted-iam-members
: specifica se escludere 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 e sull'esportazione di asset in Cloud Storage.
- Scopri di più sulle risorse supportate da Config Connector.