AWS Database Migration Service esempi di policy 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 policy basate sull'identità

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

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

Best practice delle policy

Le politiche basate sull'identità determinano se qualcuno può creare, accedere o eliminare AWS DMS 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 Policy gestite da AWSo Policy gestite da AWS per le funzioni dei processi nella Guida per l'utente IAM.

  • Applica le autorizzazioni con privilegio minimo: quando imposti le autorizzazioni con le policy IAM, concedi solo le autorizzazioni richieste 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 di IAM per applicare le autorizzazioni, consulta Policy e autorizzazioni in IAM nella Guida per l'utente IAM.

  • Condizioni d'uso nelle policy IAM per limitare ulteriormente l'accesso: per limitare l'accesso a operazioni e risorse puoi aggiungere una condizione alle tue 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 AWS CloudFormation. Per ulteriori informazioni, consulta la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l'utente 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 ulteriori informazioni, consulta Convalida delle policy per IAM Access Analyzer nella Guida per l'utente 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, aggiungi le condizioni MFA alle policy. Per ulteriori informazioni, consulta Configurazione dell'accesso alle API protetto con MFA nella Guida per l'utente IAM.

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

Utilizzo della console di AWS DMS

La seguente politica consente di accedere a AWS DMS, inclusa la console AWS DMS, 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 è richiesta se si conosce l'ARN (Amazon Resource Name) per la chiave KMS e si sta utilizzando solo la AWS Command Line Interface (AWS CLI).

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

La seguente sezione è necessaria per determinati tipi di endpoint che richiedono il trasferimento dell'ARN del 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 ruoli IAM da utilizzare con l' AWS DMS API AWS CLI and.

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

La sezione seguente è necessaria perché è AWS DMS necessario creare l'istanza Amazon EC2 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 console AWS DMS crea diversi ruoli che vengono automaticamente collegati all' AWS account quando si utilizza la AWS console DMS. Se utilizzi AWS Command Line Interface (AWS CLI) o l'API AWS DMS per la migrazione, devi aggiungere questi ruoli al tuo account. Per ulteriori informazioni sull'aggiunta di questi ruoli, consulta Creazione dei ruoli IAM da utilizzare con l' AWS DMS API AWS CLI and.

Per ulteriori informazioni sui requisiti per l'utilizzo di questa politica per accedere a AWS DMS, consulta. Autorizzazioni IAM necessarie per utilizzare AWS DMS

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

Accesso a un bucket Amazon S3

AWS DMS utilizza i bucket Amazon S3 come storage intermedio per la migrazione dei database. In genere, AWS DMS gestisce i bucket S3 predefiniti per questo scopo. Tuttavia, in alcuni casi, specialmente quando si utilizza l'API AWS CLI o l'API DMS, AWS 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 a AWS DMS di concedere a un utente IAM 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 a AWS DMS di gestire 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 endpoint DMS. 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 policy agli utenti IAM nel tuo account. Se un utente denominato richard-roe tenta di accedere a un AWS DMS endpoint, il database dell'endpoint deve essere taggato o. Owner=richard-roe 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 la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l'utente IAM.