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. Per concedere agli utenti l’autorizzazione a eseguire operazioni sulle risorse di cui hanno bisogno, un amministratore IAM può creare policy IAM.

Per informazioni su come creare una policy basata su identità IAM utilizzando questi documenti di policy JSON di esempio, consultare Creazione di policy IAM (console) nella Guida per l’utente di IAM.

Per informazioni dettagliate sulle azioni e sui tipi di risorse definiti da CodeArtifact, incluso il formato di ARNs per ogni tipo di risorsa, vedere 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 operazioni possono comportare costi aggiuntivi per l’ Account AWS. Quando si creano o modificano policy basate sull’identità, seguire 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 maggiori informazioni, consultare Policy gestite da AWS o Policy gestite da AWS per le funzioni dei processi nella Guida per l’utente di IAM.

  • Applicazione delle autorizzazioni con privilegio minimo - Quando si impostano le autorizzazioni con le policy IAM, concedere solo le autorizzazioni richieste per eseguire un’attività. È possibile farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come autorizzazioni con privilegio minimo. Per maggiori informazioni sull’utilizzo di IAM per applicare le autorizzazioni, consultare Policy e autorizzazioni in IAM nella Guida per l’utente di IAM.

  • Condizioni d’uso nelle policy IAM per limitare ulteriormente l’accesso - Per limitare l’accesso a operazioni e risorse è possibile aggiungere una condizione alle policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi anche utilizzare le condizioni per concedere l'accesso alle azioni del servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio CloudFormation. Per maggiori informazioni, consultare la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l’utente di IAM.

  • Utilizzo di IAM Access Analyzer per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali - IAM Access Analyzer convalida le policy nuove ed esistenti in modo che aderiscano alla sintassi della policy IAM (JSON) e alle best practice di IAM. IAM Access Analyzer offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per maggiori informazioni, consultare Convalida delle policy per il Sistema di analisi degli accessi IAM nella Guida per l’utente di IAM.

  • Richiedi l'autenticazione a più fattori (MFA): se hai uno scenario che richiede utenti IAM o un utente root nel Account AWS tuo, attiva l'MFA per una maggiore sicurezza. Per richiedere la MFA quando vengono chiamate le operazioni API, aggiungere le condizioni MFA alle policy. Per maggiori informazioni, consultare Protezione dell’accesso API con MFA nella Guida per l’utente di IAM.

Per maggiori informazioni sulle best practice in IAM, consultare Best practice di sicurezza in IAM nella Guida per l’utente di IAM.

Utilizzo della console di CodeArtifact

Per accedere alla AWS CodeArtifact console, devi 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 si cra 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 consentire autorizzazioni minime per la console agli utenti che effettuano chiamate solo verso AWS CLI o l' AWS API. Al contrario, è opportuno concedere l’accesso solo alle operazioni che corrispondono all’operazione API che stanno cercando di eseguire.

Per garantire che utenti e ruoli possano ancora utilizzare la CodeArtifact console, allega anche la policy AWSCodeArtifactAdminAccess o la policy AWSCodeArtifactReadOnlyAccess AWS gestita alle entità. Per maggiori informazioni, consultare Aggiunta di autorizzazioni a un utente nella Guida per l’utente di IAM.

Policy (predefinite) gestite da AWS per AWS CodeArtifact

AWS affronta molti casi d'uso comuni fornendo policy IAM 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 esaminare quali autorizzazioni sono necessarie. Per ulteriori informazioni, consulta Policy gestite AWS nella Guida per gli utenti di IAM.

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.

    JSON
    { "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

    JSON
    { "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 policy IAM personalizzate per concedere le autorizzazioni per operazioni e risorse CodeArtifact. Puoi associare queste policy personalizzate agli utenti o ai gruppi IAM che richiedono tali autorizzazioni.

Consenti a un utente di visualizzare le proprie autorizzazioni

Questo esempio mostra in che modo è possibile creare una policy che consente agli utenti IAM di visualizzare le policy inline e gestite che sono cpllegate alla relativa identità utente. Questa politica include le autorizzazioni per completare questa azione sulla console o utilizzando l'API o a livello di codice. AWS CLI AWS

{ "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 policy consente a un utente o a un ruolo IAM di elencare e descrivere qualsiasi tipo di CodeArtifact risorsa, inclusi domini, repository, pacchetti e asset. La policy 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 l'API. GetAuthorizationToken

JSON
{ "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

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codeartifact:ListDomains", "Resource": "arn:aws:codeartifact:us-east-2:111122223333: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 l'GetAuthorizationTokenAPI.

JSON
{ "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 saranno in grado di creare solo token di autorizzazione con una durata di 12 ore.

JSON
{ "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

JSON
{ "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" } } } ] }