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à.
Prerequisiti per l'integrazione di RDS for SQL Server con S3
Prima di iniziare, trova o crea il bucket S3 che desideri utilizzare. Quindi, aggiungi le autorizzazioni in modo che l'istanza database RDS possa accedere al bucket S3. Per configurare questo accesso, crea una policy e un ruolo IAM.
Per creare una policy IAM per accedere ad Amazon S3
-
Nel riquadro di navigazione della console di gestione IAM
, scegliere Policies (Policy). -
Creare una nuova policy e usare la scheda Visual editor (Editor visivo) per le seguenti fasi.
-
Per Service (Servizio), immettere
S3e scegliere il servizio S3. -
Per Actions (Operazioni), scegliere le seguenti opzioni per concedere l'accesso richiesto dall'istanza database:
-
ListAllMyBuckets– obbligatorio -
ListBucket– obbligatorio -
GetBucketAcl– obbligatorio -
GetBucketLocation– obbligatorio -
GetObject– obbligatorio per il download dei file da S3 aD:\S3\ -
PutObject– obbligatorio per il caricamento dei file daD:\S3\a S3 -
ListMultipartUploadParts– obbligatorio per il caricamento dei file daD:\S3\a S3 -
AbortMultipartUpload– obbligatorio per il caricamento dei file daD:\S3\a S3
-
-
Per Resources (Risorse), le opzioni visualizzate dipendono dalle operazioni scelte nella fase precedente. Potrebbero essere visualizzate le opzioni per bucket, object (oggetto) o entrambi. Per ognuna di queste opzioni, aggiungere l'Amazon Resource Name (ARN) appropriato.
Per bucket, aggiungere l'ARN per il bucket che si desidera utilizzare. Ad esempio, se il bucket è denominato
amzn-s3-demo-bucket, impostare l'ARN suarn:aws:s3:::.amzn-s3-demo-bucketPer object (oggetto), immettere l'ARN per il bucket e scegliere una delle opzioni seguenti:
-
Per concedere l'accesso a tutti i file nel bucket specificato, selezionare Any (Qualsiasi) per Bucket name (Nome bucket) e Object name (Nome oggetto).
-
Per concedere l'accesso a file o cartelle specifici nel bucket, fornisci ARNs i bucket e gli oggetti specifici a cui desideri che SQL Server acceda.
-
-
Seguire le istruzioni indicate nella console fino al termine della creazione della policy.
Le precedenti sono indicazioni generali per la creazione di una policy. Per istruzioni più dettagliate sulla creazione delle policy IAM, consultare Creazione di policy IAM nella Guida per l'utente di IAM.
Per creare un ruolo IAM che utilizza la policy IAM della procedura precedente
-
Nel riquadro di navigazione della console di gestione IAM
, scegliere Roles (Ruoli). -
Creare un nuovo ruolo IAM e scegliere le seguenti opzioni quando vengono visualizzate nella console:
-
AWS service
-
RDS
-
RDS – Add Role to Database (RDS – Aggiungi ruolo al database)
Scegliere Next: Permissions (Successivo: Autorizzazioni) nella parte inferiore dello schermo.
-
-
Per Attach permissions policies (Collega policy di autorizzazioni), immettere il nome della policy IAM precedentemente creata. Scegliere quindi la policy dall'elenco.
-
Seguire le istruzioni indicate nella console fino al termine della creazione del ruolo.
Le precedenti sono indicazioni generali per la configurazione di un ruolo. Per istruzioni più dettagliate sulla creazione dei ruoli, consultare Ruoli IAM nella Guida per l'utente di IAM.
Per concedere ad Amazon RDS l'accesso a un bucket Amazon S3, utilizza la seguente procedura:
-
Creare una policy IAM che conceda ad Amazon RDS l'accesso a un bucket S3.
-
Creare un ruolo IAM che Amazon RDS può assumere per conto dell'utente per accedere ai bucket S3.
Per ulteriori informazioni, consulta la pagina relativa alla creazione di un ruolo per delegare le autorizzazioni a un utente IAM nella Guida per l'utente IAM.
-
Collegare la policy IAM al ruolo IAM creato.
Co,e creare la policy IAM
Includere le operazioni appropriate per garantire l'accesso richiesto dall'istanza database:
-
ListAllMyBuckets– obbligatorio -
ListBucket– obbligatorio -
GetBucketAcl– obbligatorio -
GetBucketLocation– obbligatorio -
GetObject– obbligatorio per il download dei file da S3 aD:\S3\ -
PutObject– obbligatorio per il caricamento dei file daD:\S3\a S3 -
ListMultipartUploadParts– obbligatorio per il caricamento dei file daD:\S3\a S3 -
AbortMultipartUpload– obbligatorio per il caricamento dei file daD:\S3\a S3
-
Il AWS CLI comando seguente crea una policy IAM denominata
rds-s3-integration-policycon queste opzioni. Concede l'accesso a un bucket denominatoamzn-s3-demo-bucket.Per LinuxmacOS, oUnix:
aws iam create-policy \ --policy-namerds-s3-integration-policy\ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/key_prefix/*" } ] }'Per Windows:
Assicurarsi di cambiare i caratteri di fine riga con quelli supportati dall'interfaccia in uso (
^al posto di\). Inoltre, in Windows, è necessario applicare a tutte le doppie virgolette il carattere di escape\. Per evitare l'uso del carattere di escape per le virgolette in JSON, è possibile salvarlo in un file e passarlo come parametro.Per prima cosa creare il file
policy.jsoncon la seguente policy di autorizzazione:Usare il comando seguente per creare la policy:
aws iam create-policy ^ --policy-namerds-s3-integration-policy^ --policy-document file://file_path/assume_role_policy.json -
Dopo aver creato la policy, annotarne l'Amazon Resource Name (ARN). L'ARN sarà necessario in una fase successiva.
Per creare il ruolo IAM
-
Il AWS CLI comando seguente crea il ruolo
rds-s3-integration-roleIAM per questo scopo.Per LinuxmacOS, oUnix:
aws iam create-role \ --role-namerds-s3-integration-role\ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'Per Windows:
Assicurarsi di cambiare i caratteri di fine riga con quelli supportati dall'interfaccia in uso (
^al posto di\). Inoltre, in Windows, è necessario applicare a tutte le doppie virgolette il carattere di escape\. Per evitare l'uso del carattere di escape per le virgolette in JSON, è possibile salvarlo in un file e passarlo come parametro.Per prima cosa creare il file
assume_role_policy.jsoncon la seguente policy:Usare il comando seguente per creare il ruolo IAM:
aws iam create-role ^ --role-namerds-s3-integration-role^ --assume-role-policy-document file://file_path/assume_role_policy.jsonEsempio di utilizzare la chiave del contesto delle condizioni globale per creare il ruolo IAM
Si consiglia di utilizzare le chiavi di contesto delle condizioni globali
aws:SourceArneaws:SourceAccountnelle policy basate sulle risorse per limitare le autorizzazioni del servizio a una risorsa specifica. Questo è il modo più efficace per proteggersi dal problema di deputy confused.Puoi usare le chiavi di contesto delle condizioni globali e avere il valore
aws:SourceArnche contiene l'ID dell'account. In questo caso, il valoreaws:SourceAccounte l'account nel valoreaws:SourceArndeve utilizzare lo stesso ID account quando viene utilizzato nella stessa istruzione della policy.-
Utilizzare
aws:SourceArnse si desidera un accesso cross-service per una singola risorsa. -
Utilizzare
aws:SourceAccountse si desidera consentire l'associazione di qualsiasi risorsa in tale account all'uso cross-service.
Nella policy, assicurati di utilizzare la chiave di contesto della condizione globale
aws:SourceArncon l'Amazon Resource Name (ARN) completo delle risorse che accedono al ruolo. Per l'integrazione con S3, assicurati di includere l'istanza DB ARNs, come mostrato nell'esempio seguente.Per LinuxmacOS, oUnix:
aws iam create-role \ --role-namerds-s3-integration-role\ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceArn":"arn:aws:rds:Region:my_account_ID:db:db_instance_identifier" } } } ] }'Per Windows:
Aggiungi la chiave di contesto delle condizioni globali a
assume_role_policy.json. -
Per allegare la policy IAM al ruolo IAM
-
Il AWS CLI comando seguente associa la policy al ruolo denominato
rds-s3-integration-role. Sostituirecon l'ARN della policy annotato nel passaggio precedente.your-policy-arnPer LinuxmacOS, oUnix:
aws iam attach-role-policy \ --policy-arnyour-policy-arn\ --role-namerds-s3-integration-rolePer Windows:
aws iam attach-role-policy ^ --policy-arnyour-policy-arn^ --role-namerds-s3-integration-role