AWS Database Migration Service esempi di politiche basate sull'identità - AWS Servizio di migrazione del Database

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

AWS Database Migration Service esempi di politiche basate sull'identità

Per impostazione predefinita, IAM gli utenti e i ruoli non dispongono dell'autorizzazione per creare o modificare risorse. AWS DMS Inoltre, non possono eseguire attività utilizzando AWS Management Console AWS CLI, o AWS API. Un IAM amministratore deve creare IAM politiche che concedano a utenti e ruoli l'autorizzazione a eseguire API operazioni specifiche sulle risorse specifiche di cui ha bisogno. L'amministratore deve quindi allegare tali politiche agli IAM utenti o ai gruppi che richiedono tali autorizzazioni.

Per informazioni su come creare una politica IAM basata sull'identità utilizzando questi documenti di esempioJSON, consulta Creazione di politiche nella JSON scheda della Guida per l'utente. IAM

Best practice per le policy

Le politiche basate sull'identità determinano se qualcuno può creare, accedere o eliminare risorse nel tuo account. AWS DMS 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, vedere Convalida delle policy di 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, vedere Configurazione dell'APIaccesso MFA protetto nella Guida per l'IAMutente.

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

Utilizzo della console di AWS DMS

La seguente politica ti consente di accedere AWS DMS, inclusa la AWS DMS console, e specifica anche le autorizzazioni per determinate azioni necessarie da altri servizi Amazon come Amazon. EC2

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:service:region:account:resourcetype/id" } ] }

L'analisi di queste autorizzazioni potrebbe aiutarti a comprendere meglio il motivo per cui ciascuna di esse è necessaria per l'uso della console.

La seguente sezione è necessaria per consentire all'utente di elencare le chiavi AWS KMS e gli alias disponibili per la visualizzazione nella console. Questa voce non è obbligatoria se conosci l'Amazon Resource Name (ARN) per la KMS chiave e stai utilizzando solo il AWS Command Line Interface (AWS CLI).

{ "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

La sezione seguente è obbligatoria per alcuni tipi di endpoint che richiedono il trasferimento ARN di un ruolo con l'endpoint. Inoltre, se i AWS DMS ruoli richiesti non vengono creati in anticipo, la AWS DMS console ha la possibilità di creare il ruolo. Se tutti i ruoli sono configurati in anticipo, sono tutti necessari in iam:GetRole e iam:PassRole. Per ulteriori informazioni sui ruoli, consulta Creazione dei IAM ruoli da utilizzare con AWS CLI e AWS DMS API.

{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

La sezione seguente è obbligatoria perché è AWS DMS necessario creare l'EC2istanza Amazon e configurare la rete per l'istanza di replica creata. Queste risorse esistono nell'account del cliente, perciò è necessaria la possibilità di eseguire tali azioni per conto del cliente.

{ "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

La seguente sezione è necessaria per consentire all'utente di visualizzare i parametri dell'istanza di replica.

{ "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

Questa sezione è necessaria per consentire all'utente di visualizzare i log della replica.

{ "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

La AWS DMS console crea diversi ruoli che vengono automaticamente collegati al tuo AWS account quando utilizzi la AWS DMS console. Se utilizzi il AWS Command Line Interface (AWS CLI) o il AWS DMS API per la migrazione, devi aggiungere questi ruoli al tuo account. Per ulteriori informazioni sull'aggiunta di questi ruoli, consulta Creazione dei IAM ruoli da utilizzare con AWS CLI e AWS DMS API.

Per ulteriori informazioni sui requisiti per l'utilizzo di questa politica di accesso AWS DMS, consultaIAMautorizzazioni necessarie per l'uso AWS DMS.

Consentire agli utenti di visualizzare le loro 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": "*" } ] }

Accesso a un bucket Amazon S3

AWS DMSutilizza i bucket Amazon S3 come storage intermedio per la migrazione del database. In genere, AWS DMS gestisce i bucket S3 predefiniti per questo scopo. Tuttavia, in alcuni casi, specialmente quando si utilizza AWS CLI o il AWS DMSAPI, AWS DMS consente invece di specificare il proprio bucket S3. Ad esempio, puoi specificare il tuo bucket S3 per la migrazione dei dati a un endpoint di destinazione Amazon Redshift. In questo caso, è necessario creare un ruolo con autorizzazioni basate sulla policy -managed. AWSAmazonDMSRedshiftS3Role

L'esempio seguente mostra una versione della policy AmazonDMSRedshiftS3Role. Consente di concedere AWS DMS a un IAM utente del tuo AWS account l'accesso a uno dei tuoi bucket Amazon S3. Consente inoltre all'utente di aggiungere, aggiornare ed eliminare oggetti.

Oltre ad assegnare le autorizzazioni s3:PutObject, s3:GetObject e s3:DeleteObject all'utente, la policy assegna anche le autorizzazioni s3:ListAllMyBuckets, s3:GetBucketLocation e s3:ListBucket. Queste sono le autorizzazioni aggiuntive richieste dalla console. Altre autorizzazioni consentono di gestire AWS DMS il ciclo di vita del bucket. Inoltre, l'operazione s3:GetObjectAcl è necessaria per poter copiare gli oggetti.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:ListBucket", "s3:DeleteBucket", "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetBucketPolicy", "s3:PutBucketPolicy", "s3:GetBucketAcl", "s3:PutBucketVersioning", "s3:GetBucketVersioning", "s3:PutLifecycleConfiguration", "s3:GetLifecycleConfiguration", "s3:DeleteBucketPolicy" ], "Resource": "arn:aws:s3:::dms-*" } ] }

Per ulteriori informazioni sulla creazione di un ruolo basato su questa policy, consulta Impostazioni del bucket Amazon S3.

Accesso alle risorse AWS DMS in base ai tag

Puoi utilizzare le condizioni nella policy basata sulle identità per controllare l'accesso alle risorse di AWS DMS in base ai tag. Questo esempio mostra come è possibile creare una policy che consenta l'accesso a tutti gli AWS DMS endpoint. Tuttavia, l'autorizzazione viene concessa solo se il valore del tag Owner del database dell'endpoint è quello del nome dell'utente.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:*:*:endpoint/*", "Condition": { "StringEquals": {"dms:endpoint-tag/Owner": "${aws:username}"} } } ] }

Puoi allegare questa politica agli IAM utenti del tuo account. Se un utente denominato richard-roe tenta di accedere a un AWS DMS endpoint, il database dell'endpoint deve essere taggato Owner=richard-roe o. owner=richard-roe In caso contrario, a questo utente viene negato l'accesso. La chiave di tag di condizione Owner corrisponde a Owner e owner perché i nomi delle chiavi di condizione non effettuano la distinzione tra maiuscole e minuscole. Per ulteriori informazioni, consulta Elementi IAM JSON della politica: Condizione nella Guida per l'IAMutente.