AppSpec sezione 'autorizzazioni' (solo EC2 /distribuzioni locali) - AWS CodeDeploy

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AppSpec sezione 'autorizzazioni' (solo EC2 /distribuzioni locali)

Nella sezione 'permissions' viene specificato come le autorizzazioni speciali, se presenti, devono essere applicate a file e cartelle della sezione 'files' dopo essere stati copiati nell'istanza. Puoi specificare più istruzioni object. Questa sezione è facoltativa. Si applica solo ad Amazon Linux, Ubuntu Server e RHEL alle istanze.

Nota

La 'permissions' sezione viene utilizzata solo per le distribuzioni EC2 /On-Premises. Non viene utilizzato per le implementazioni AWS Lambda o AmazonECS.

Questa sezione ha la seguente struttura:

permissions: - object: object-specification pattern: pattern-specification except: exception-specification owner: owner-account-name group: group-name mode: mode-specification acls: - acls-specification context: user: user-specification type: type-specification range: range-specification type: - object-type

Sono disponibili le seguenti istruzioni:

  • object: obbligatorio È un set di oggetti del file system (file o directory/cartelle) a cui vengono applicate le autorizzazioni specificate dopo che gli oggetti del file system sono stati copiati nell'istanza.

    Specificare object con una stringa.

  • pattern Facoltativo. Specifica un modello per applicare le autorizzazioni. Se non è specificato o è specificato con i caratteri speciali "**", le autorizzazioni vengono applicate a tutti i file o le directory corrispondenti, a seconda del type.

    Specifica pattern con una stringa tra virgolette ("").

  • except Facoltativo. Specifica i file o le directory che sono eccezioni di pattern.

    Specifica except con un elenco di stringhe separate da virgola tra parentesi quadre.

  • owner Facoltativo. Il nome del proprietario di object. Se non specificato, tutti i proprietari esistenti applicati alla struttura di directory/cartelle o file originale rimangono invariati dopo l'operazione di copia.

    Specificare owner con una stringa.

  • group Facoltativo. Il nome del gruppo per object. Se non specificato, tutti i gruppi esistenti applicati alla struttura di directory/cartelle o file originale rimangono invariati dopo l'operazione di copia.

    Specificare group con una stringa.

  • mode Facoltativo. Un valore numerico che specifica le autorizzazioni a cui applicare. object L'impostazione della modalità segue la sintassi del comando Linux chmod.

    Importante

    Se il valore include uno zero iniziale, è necessario racchiuderlo tra virgolette doppie o rimuovere lo zero iniziale in modo che rimangano solo tre cifre.

    Nota

    La notazione simbolica, ad esempio, non u+x è supportata per l'impostazione. mode

    Esempi:

    • mode: "0644"fornisce autorizzazioni di lettura e scrittura al proprietario dell'oggetto (6), autorizzazioni di sola lettura al gruppo (4) e autorizzazioni di sola lettura a tutti gli altri utenti (4).

    • mode: 644concede le stesse autorizzazioni di. mode: "0644"

    • mode: 4755imposta l'attributo setuid (4), fornisce i permessi di controllo completo al proprietario (7), fornisce i permessi di lettura ed esecuzione al gruppo (5) e fornisce i permessi di lettura ed esecuzione a tutti gli altri utenti (5).

      Per altri esempi, consultate la documentazione del comando Linux chmod.

      Se la modalità non è specificata, tutte le modalità esistenti applicate alla struttura originale del file o della cartella rimangono invariate dopo l'operazione di copia.

  • acls Facoltativo. Un elenco di stringhe di caratteri che rappresentano una o più voci dell'elenco di controllo degli accessi (ACL) applicate a. object Ad esempio, u:bob:rw rappresenta le autorizzazioni di lettura e scrittura per l'utente bob. (Per altri esempi, consultate gli esempi di formati di ACL ingresso nella documentazione dei setfacl comandi Linux.) È possibile specificare più ACL voci. Se non acls è specificato, qualsiasi elemento esistente ACLs applicato al file o alla struttura di directory/cartelle originale rimane invariato dopo l'operazione di copia. Queste sostituiscono quelle esistenti. ACLs

    Specifica acls con un trattino (-) seguito da uno spazio e quindi da una stringa, ad esempio, - u:jane:rw. Se ne hai più di unoACL, ognuno viene specificato su una riga separata.

    Nota

    L'impostazione di utenti senza nome, gruppi senza nome o altre ACL voci simili causa un errore nel AppSpec file. Utilizza mode per specificare i tipi di autorizzazione.

  • context Facoltativo. Per le istanze abilitate a Security-Enhanced Linux (SELinux), un elenco di etichette di contesto rilevanti per la sicurezza da applicare agli oggetti copiati. Le etichette vengono specificate come chiavi contenenti user, type e range. (Per ulteriori informazioni, consultate la documentazione.) SELinux Ogni chiave viene specificata con una stringa. Se non specificato, tutte le etichette esistenti applicate alla struttura di directory/cartelle o file originale rimangono invariate dopo l'operazione di copia.

    • user Facoltativo. L'SELinuxutente.

    • type Facoltativo. Il nome del SELinux tipo.

    • range Facoltativo. L'identificatore dell'SELinuxintervallo. Ciò non ha effetto a meno che la sicurezza a più livelli (MLS) e la sicurezza multicategoria (MCS) non siano abilitate sulla macchina. Se non è abilitata, l’impostazione di range è predefinita su s0.

    Specificare context con una stringa (ad esempio, user: unconfined_u). Ogni context viene specificato su una riga separata.

  • type Facoltativo. I tipi di oggetti a cui si applicano le autorizzazioni specificate. type è una stringa che può essere impostata su file o directory. Se file è specificato, le autorizzazioni vengono applicate solo ai file contenuti direttamente in object dopo l'operazione di copia (e non a object stesso). Se directory è specificato, le autorizzazioni vengono applicate in modo ricorsivo a tutte le directory/cartelle contenute ovunque in object dopo l'operazione di copia (ma non a object stesso).

    Specifica type con un trattino (-) seguito da uno spazio e quindi da una stringa, ad esempio, - file.

Esempio di sezione 'Autorizzazioni'

L'esempio seguente mostra come specificare la sezione 'permissions' con le istruzioni object, pattern, except, owner, mode e type. Questo esempio si applica solo ad Amazon Linux, Ubuntu Server e RHEL alle istanze. In questo esempio presupponiamo che i file e le cartelle seguenti siano copiati nell'istanza in questa gerarchia:

/tmp `-- my-app |-- my-file-1.txt |-- my-file-2.txt |-- my-file-3.txt |-- my-folder-1 | |-- my-file-4.txt | |-- my-file-5.txt | `-- my-file-6.txt `-- my-folder-2 |-- my-file-7.txt |-- my-file-8.txt |-- my-file-9.txt `-- my-folder-3

Il AppSpec file seguente mostra come impostare le autorizzazioni per questi file e cartelle dopo che sono stati copiati:

version: 0.0 os: linux # Copy over all of the folders and files with the permissions they # were originally assigned. files: - source: ./my-file-1.txt destination: /tmp/my-app - source: ./my-file-2.txt destination: /tmp/my-app - source: ./my-file-3.txt destination: /tmp/my-app - source: ./my-folder-1 destination: /tmp/my-app/my-folder-1 - source: ./my-folder-2 destination: /tmp/my-app/my-folder-2 # 1) For all of the files in the /tmp/my-app folder ending in -3.txt # (for example, just my-file-3.txt), owner = adm, group = wheel, and # mode = 464 (-r--rw-r--). permissions: - object: /tmp/my-app pattern: "*-3.txt" owner: adm group: wheel mode: 464 type: - file # 2) For all of the files ending in .txt in the /tmp/my-app # folder, but not for the file my-file-3.txt (for example, # just my-file-1.txt and my-file-2.txt), # owner = ec2-user and mode = 444 (-r--r--r--). - object: /tmp/my-app pattern: "*.txt" except: [my-file-3.txt] owner: ec2-user mode: 444 type: - file # 3) For all the files in the /tmp/my-app/my-folder-1 folder except # for my-file-4.txt and my-file-5.txt, (for example, # just my-file-6.txt), owner = operator and mode = 646 (-rw-r--rw-). - object: /tmp/my-app/my-folder-1 pattern: "**" except: [my-file-4.txt, my-file-5.txt] owner: operator mode: 646 type: - file # 4) For all of the files that are immediately under # the /tmp/my-app/my-folder-2 folder except for my-file-8.txt, # (for example, just my-file-7.txt and # my-file-9.txt), owner = ec2-user and mode = 777 (-rwxrwxrwx). - object: /tmp/my-app/my-folder-2 pattern: "**" except: [my-file-8.txt] owner: ec2-user mode: 777 type: - file # 5) For all folders at any level under /tmp/my-app that contain # the name my-folder but not # /tmp/my-app/my-folder-2/my-folder-3 (for example, just # /tmp/my-app/my-folder-1 and /tmp/my-app/my-folder-2), # owner = ec2-user and mode = 555 (dr-xr-xr-x). - object: /tmp/my-app pattern: "*my-folder*" except: [tmp/my-app/my-folder-2/my-folder-3] owner: ec2-user mode: 555 type: - directory # 6) For the folder /tmp/my-app/my-folder-2/my-folder-3, # group = wheel and mode = 564 (dr-xrw-r--). - object: /tmp/my-app/my-folder-2/my-folder-3 group: wheel mode: 564 type: - directory

Le autorizzazioni risultanti sono le seguenti:

-r--r--r-- ec2-user root my-file-1.txt -r--r--r-- ec2-user root my-file-2.txt -r--rw-r-- adm wheel my-file-3.txt dr-xr-xr-x ec2-user root my-folder-1 -rw-r--r-- root root my-file-4.txt -rw-r--r-- root root my-file-5.txt -rw-r--rw- operator root my-file-6.txt dr-xr-xr-x ec2-user root my-folder-2 -rwxrwxrwx ec2-user root my-file-7.txt -rw-r--r-- root root my-file-8.txt -rwxrwxrwx ec2-user root my-file-9.txt dr-xrw-r-- root wheel my-folder-3

L'esempio seguente mostra come specificare la sezione 'permissions' con l'aggiunta delle istruzioni context e acls. Questo esempio si applica solo ad Amazon Linux, Ubuntu Server e RHEL alle istanze.

permissions: - object: /var/www/html/WordPress pattern: "**" except: [/var/www/html/WordPress/ReadMe.txt] owner: bob group: writers mode: 644 acls: - u:mary:rw - u:sam:rw - m::rw context: user: unconfined_u type: httpd_sys_content_t range: s0 type: - file