Esempi di policy basate sull'identità per AWS CodeArtifact - CodeArtifact

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à.

Esempi di policy basate sull'identità per AWS CodeArtifact

Per impostazione predefinita, gli utenti e i ruoli non dispongono dell'autorizzazione per creare o modificare risorse. CodeArtifact Inoltre, non possono eseguire attività utilizzando AWS Management Console, AWS Command Line Interface (AWS CLI) o AWS API. Per concedere agli utenti il permesso di eseguire azioni sulle risorse di cui hanno bisogno, un IAM amministratore può creare IAM policy. L'amministratore può quindi aggiungere le IAM politiche ai ruoli e gli utenti possono assumerli.

Per informazioni su come creare una politica IAM basata sull'identità utilizzando questi documenti di esempio, consulta Create JSON IAM policy (console) nella Guida per l'IAMutente.

Per informazioni dettagliate sulle azioni e sui tipi di risorse definiti da CodeArtifact, incluso il formato di ARNs per ogni tipo di risorsa, consulta Azioni, risorse e chiavi di condizione AWS CodeArtifact nel Service Authorization Reference.

Best practice per le policy

Le politiche basate sull'identità determinano se qualcuno può creare, accedere o eliminare CodeArtifact risorse nel tuo account. Queste azioni possono comportare costi aggiuntivi per l' Account AWS. Quando crei o modifichi policy basate su identità, segui queste linee guida e raccomandazioni:

  • Inizia con le policy AWS gestite e passa alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni a utenti e carichi di lavoro, utilizza le politiche gestite che concedono le autorizzazioni per molti casi d'uso comuni.AWS Sono disponibili nel tuo. Account AWS Ti consigliamo di ridurre ulteriormente le autorizzazioni definendo politiche gestite dai AWS clienti specifiche per i tuoi casi d'uso. Per ulteriori informazioni, consulta le politiche AWS gestite o le politiche AWS gestite per le funzioni lavorative nella Guida per l'IAMutente.

  • Applica le autorizzazioni con privilegi minimi: quando imposti le autorizzazioni con le IAM politiche, concedi solo le autorizzazioni necessarie per eseguire un'attività. Puoi farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come autorizzazioni con privilegi minimi. Per ulteriori informazioni sull'utilizzo per applicare le autorizzazioni, consulta Politiche e autorizzazioni nella Guida IAM per l'utente. IAM IAM

  • Utilizza le condizioni nelle IAM politiche per limitare ulteriormente l'accesso: puoi aggiungere una condizione alle tue politiche per limitare l'accesso ad azioni e risorse. Ad esempio, puoi scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzandoSSL. È inoltre possibile utilizzare condizioni per concedere l'accesso alle azioni di servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio AWS CloudFormation. Per ulteriori informazioni, consulta Elementi IAM JSON della politica: Condizione nella Guida IAM per l'utente.

  • Usa IAM Access Analyzer per convalidare IAM le tue policy e garantire autorizzazioni sicure e funzionali: IAM Access Analyzer convalida le policy nuove ed esistenti in modo che aderiscano al linguaggio delle IAM policy () e alle best practice. JSON IAM IAMAccess Analyzer fornisce più di 100 controlli delle politiche e consigli pratici per aiutarti a creare policy sicure e funzionali. Per ulteriori informazioni, consulta Convalida delle politiche con IAM Access Analyzer nella Guida per l'utente. IAM

  • Richiedi l'autenticazione a più fattori (MFA): se hai uno scenario che richiede l'utilizzo di IAM utenti o di un utente root Account AWS, attiva questa opzione MFA per una maggiore sicurezza. Per richiedere MFA quando vengono richiamate API le operazioni, aggiungi MFA delle condizioni alle tue politiche. Per ulteriori informazioni, consulta Secure API access with MFA nella Guida IAM per l'utente.

Per ulteriori informazioni sulle best practice inIAM, consulta la sezione Procedure consigliate in materia di sicurezza IAM nella Guida IAM per l'utente.

Utilizzo della CodeArtifact console

Per accedere alla AWS CodeArtifact console, è necessario disporre di un set minimo di autorizzazioni. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle CodeArtifact risorse del tuo. Account AWS Se crei una policy basata sull'identità più restrittiva rispetto alle autorizzazioni minime richieste, la console non funzionerà nel modo previsto per le entità (utenti o ruoli) associate a tale policy.

Non è necessario concedere autorizzazioni minime per la console agli utenti che effettuano chiamate solo verso il AWS CLI o il. AWS API Consenti invece l'accesso solo alle azioni che corrispondono all'APIoperazione che stanno cercando di eseguire.

Per garantire che utenti e ruoli possano continuare a utilizzare la CodeArtifact console, collega anche la policy AWSCodeArtifactAdminAccess o la policy AWSCodeArtifactReadOnlyAccess AWS gestita alle entità. Per ulteriori informazioni, consulta Aggiungere autorizzazioni a un utente nella Guida per l'IAMutente.

AWSpolitiche gestite (predefinite) per AWS CodeArtifact

AWS affronta molti casi d'uso comuni fornendo IAM politiche autonome create e amministrate da AWS. Queste policy AWS gestite concedono le autorizzazioni necessarie per i casi d'uso comuni, in modo da evitare di dover verificare quali autorizzazioni sono necessarie. Per ulteriori informazioni, consulta AWSManaged Policies nella Guida per l'IAMutente.

Le seguenti politiche AWS gestite, che puoi allegare agli utenti del tuo account, sono specifiche per AWS CodeArtifact.

  • AWSCodeArtifactAdminAccess— Fornisce l'accesso completo all' CodeArtifact inclusione delle autorizzazioni per amministrare CodeArtifact i domini.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "codeartifact:*" ], "Effect": "Allow", "Resource": "*" }, { "Effect": "Allow", "Action": "sts:GetServiceBearerToken", "Resource": "*", "Condition": { "StringEquals": { "sts:AWSServiceName": "codeartifact.amazonaws.com" } } } ] }
  • AWSCodeArtifactReadOnlyAccess— Fornisce accesso in sola lettura a. CodeArtifact

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "codeartifact:Describe*", "codeartifact:Get*", "codeartifact:List*", "codeartifact:ReadFromRepository" ], "Effect": "Allow", "Resource": "*" }, { "Effect": "Allow", "Action": "sts:GetServiceBearerToken", "Resource": "*", "Condition": { "StringEquals": { "sts:AWSServiceName": "codeartifact.amazonaws.com" } } } ] }

Per creare e gestire i ruoli CodeArtifact di servizio, è inoltre necessario allegare la policy AWS gestita denominata. IAMFullAccess

È inoltre possibile creare IAM politiche personalizzate per consentire le CodeArtifact autorizzazioni per azioni e risorse. È possibile allegare queste politiche personalizzate agli IAM utenti o ai gruppi che richiedono tali autorizzazioni.

Consenti a un utente di visualizzare le proprie autorizzazioni

Questo esempio mostra come è possibile creare una politica che consenta IAM agli utenti di visualizzare le politiche in linea e gestite allegate alla loro identità utente. Questa politica include le autorizzazioni per completare questa azione sulla console o utilizzando o a livello di codice. AWS CLI AWS API

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Consenti a un utente di ottenere informazioni su repository e domini

La seguente politica consente a un IAM utente o a un ruolo di elencare e descrivere qualsiasi tipo di CodeArtifact risorsa, inclusi domini, repository, pacchetti e risorse. La politica include anche l'codeArtifact:ReadFromRepositoryautorizzazione, che consente al principale di recuperare i pacchetti da un repository. CodeArtifact Non consente la creazione di nuovi domini o repository e non consente la pubblicazione di nuovi pacchetti.

Le sts:GetServiceBearerToken autorizzazioni codeartifact:GetAuthorizationToken e sono necessarie per chiamare il. GetAuthorizationToken API

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:List*", "codeartifact:Describe*", "codeartifact:Get*", "codeartifact:Read*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "sts:GetServiceBearerToken", "Resource": "*", "Condition": { "StringEquals": { "sts:AWSServiceName": "codeartifact.amazonaws.com" } } } ] }

Consenti a un utente di ottenere informazioni su domini specifici

Di seguito viene illustrato un esempio di politica di autorizzazioni che consente a un utente di elencare i domini solo nella us-east-2 regione in cui si riferisce l'account 123456789012 di qualsiasi dominio che inizia con quel nome. my

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codeartifact:ListDomains", "Resource": "arn:aws:codeartifact:us-east-2:123456789012:domain/my*" } ] }

Consenti a un utente di ottenere informazioni su repository specifici

Di seguito viene illustrato un esempio di politica di autorizzazioni che consente a un utente di ottenere informazioni sui repository che terminano contest, incluse informazioni sui pacchetti in essi contenuti. L'utente non sarà in grado di pubblicare, creare o eliminare risorse.

Le sts:GetServiceBearerToken autorizzazioni codeartifact:GetAuthorizationToken e sono necessarie per chiamare il GetAuthorizationTokenAPI.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:List*", "codeartifact:Describe*", "codeartifact:Get*", "codeartifact:Read*" ], "Resource": "arn:aws:codeartifact:*:*:repository/*/*test" }, { "Effect": "Allow", "Action": [ "codeartifact:List*", "codeartifact:Describe*" ], "Resource": "arn:aws:codeartifact:*:*:package/*/*test/*/*/*" }, { "Effect": "Allow", "Action": "sts:GetServiceBearerToken", "Resource": "*", "Condition": { "StringEquals": { "sts:AWSServiceName": "codeartifact.amazonaws.com" } } }, { "Effect": "Allow", "Action": "codeartifact:GetAuthorizationToken", "Resource": "*" } ] }

Limita la durata del token di autorizzazione

Gli utenti devono autenticarsi CodeArtifact con token di autorizzazione per pubblicare o utilizzare le versioni dei pacchetti. I token di autorizzazione sono validi solo per il periodo di vita configurato. I token hanno una durata predefinita di 12 ore. Per ulteriori informazioni sui token di autorizzazione, vedere. AWS CodeArtifact autenticazione e token

Quando recuperano un token, gli utenti possono configurare la durata del token. I valori validi per la durata di un token di autorizzazione sono 0 e qualsiasi numero compreso tra 900 (15 minuti) e 43200 (12 ore). Un valore di 0 creerà un token con una durata pari alle credenziali temporanee del ruolo dell'utente.

Gli amministratori possono limitare i valori validi per la durata di un token di autorizzazione utilizzando la chiave di sts:DurationSeconds condizione nella politica di autorizzazione allegata all'utente o al gruppo. Se l'utente tenta di creare un token di autorizzazione con una durata superiore ai valori validi, la creazione del token avrà esito negativo.

Le politiche di esempio seguenti limitano le possibili durate di un token di autorizzazione creato dagli CodeArtifact utenti.

Politica di esempio: limita la durata del token esattamente a 12 ore (43200 secondi)

Con questa politica, gli utenti potranno creare solo token di autorizzazione con una durata di 12 ore.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codeartifact:*", "Resource": "*" }, { "Sid": "sts", "Effect": "Allow", "Action": "sts:GetServiceBearerToken", "Resource": "*", "Condition": { "NumericEquals": { "sts:DurationSeconds": 43200 }, "StringEquals": { "sts:AWSServiceName": "codeartifact.amazonaws.com" } } } ] }

Politica di esempio: limita la durata del token tra 15 minuti e 1 ora o uguale al periodo temporaneo delle credenziali dell'utente

Con questa politica, gli utenti saranno in grado di creare token validi tra 15 minuti e 1 ora. Gli utenti potranno anche creare un token che duri per la durata delle credenziali temporanee del loro ruolo 0 specificando for. --durationSeconds

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codeartifact:*", "Resource": "*" }, { "Sid": "sts", "Effect": "Allow", "Action": "sts:GetServiceBearerToken", "Resource": "*", "Condition": { "NumericLessThanEquals": { "sts:DurationSeconds": 3600 }, "StringEquals": { "sts:AWSServiceName": "codeartifact.amazonaws.com" } } } ] }