Creazione manuale di un IAM ruolo per SQL Server Audit - Amazon Relational Database Service

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

Creazione manuale di un IAM ruolo per SQL Server Audit

In genere, quando si AWS Management Console crea una nuova opzione, vengono creati automaticamente il IAM ruolo e la politica di IAM fiducia. Tuttavia, è possibile creare manualmente un nuovo IAM ruolo da utilizzare con SQL Server Audits, in modo da personalizzarlo con eventuali requisiti aggiuntivi. A tale scopo, crei un IAM ruolo e deleghi le autorizzazioni in modo che il RDS servizio Amazon possa utilizzare il tuo bucket Amazon S3. Quando crei questo IAM ruolo, alleghi politiche di fiducia e autorizzazioni. La politica di fiducia consente RDS ad Amazon di assumere questo ruolo. La policy di autorizzazione definisce le operazioni che questo ruolo può eseguire. Per ulteriori informazioni, vedere Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'utente di AWS Identity and Access Management.

Si possono utilizzare gli esempi riportati in questa sezione per creare le relazioni di attendibilità e le policy di autorizzazione necessarie.

L'esempio seguente mostra una relazione di fiducia per SQL Server Audit. Utilizza il service principal rds.amazonaws.com RDS per consentire la scrittura nel bucket S3. Un'entità servizio è un identificatore che viene utilizzato per concedere autorizzazioni a un servizio. Ogni volta che consenti l'accesso rds.amazonaws.com in questo modo, consenti di RDS eseguire un'azione per tuo conto. Per ulteriori informazioni sui principali servizi, vedere gli elementi AWS JSON della politica: Principal.

Esempio relazione di fiducia per SQL Server Audit
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Si consiglia di utilizzare le chiavi di contesto delle condizioni globali aws:SourceArn e aws:SourceAccount nelle relazioni di trust basate sulle risorse per limitare le autorizzazioni del servizio relative 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:SourceArn che contiene l'ID dell'account. In questo caso, il valore aws:SourceAccount e l'account nel valore aws:SourceArn deve utilizzare lo stesso ID account quando viene utilizzato nella stessa istruzione.

  • Utilizzare aws:SourceArn se si desidera un accesso cross-service per una singola risorsa.

  • Utilizzare aws:SourceAccount se si desidera consentire l'associazione di qualsiasi risorsa in tale account all'uso cross-service.

Nella relazione di fiducia, assicurati di utilizzare la chiave aws:SourceArn global condition context con l'Amazon Resource Name completo (ARN) delle risorse che accedono al ruolo. Per SQL Server Audit, assicurati di includere sia il gruppo di opzioni DB che le istanze DB, come mostrato nell'esempio seguente.

Esempio relazione di fiducia con la chiave di contesto della condizione globale per SQL Server Audit
{ "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", "arn:aws:rds:Region:my_account_ID:og:option_group_name" ] } } } ] }

Nel seguente esempio di una politica di autorizzazioni per SQL Server Audit, specifichiamo una ARN per il bucket Amazon S3. Puoi utilizzarlo ARNs per identificare un account, un utente o un ruolo specifico a cui desideri concedere l'accesso. Per ulteriori informazioni sull'utilizzoARNs, consulta Amazon resource names (ARNs).

Esempio politica di autorizzazione per SQL Server Audit
{ "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:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/key_prefix/*" } ] }
Nota

L's3:ListAllMyBucketsazione è necessaria per verificare che lo stesso AWS account possieda sia il bucket S3 che l'istanza Server DB. SQL L'operazione elenca i nomi dei bucket dell'account.

Gli spazi dei nomi dei bucket S3 sono globali. Se elimini accidentalmente il bucket, un altro utente può creare un bucket con lo stesso nome in un account diverso. Quindi i dati di SQL Server Audit vengono scritti nel nuovo bucket.