Autorizzazioni di ruolo collegate ai servizi per la gestione delle risorse - Amazon Security Lake

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

Autorizzazioni di ruolo collegate ai servizi per la gestione delle risorse

Security Lake utilizza il ruolo collegato ai servizi denominato AWSServiceRoleForSecurityLakeResourceManagement per eseguire monitoraggio continuo e miglioramenti delle prestazioni, che possono ridurre latenza e costi. Questo ruolo collegato al servizio si fida che il servizio assuma il resource-management.securitylake.amazonaws.com ruolo. L'attivazione AWSServiceRoleForSecurityLakeResourceManagement consentirà inoltre l'accesso a Lake Formation e registrerà automaticamente i bucket S3 gestiti da Security Lake con Lake Formation in tutte le regioni per una maggiore sicurezza.

La politica di autorizzazione per il ruolo, denominata policy AWS gestitaSecurityLakeResourceManagementServiceRolePolicy, consente l'accesso alle risorse di gestione create da Security Lake, inclusa la gestione dei metadati nel data lake. Per ulteriori informazioni sulle politiche AWS gestite per Amazon Security Lake, consulta le politiche AWS gestite per Amazon Security Lake.

Questo ruolo collegato al servizio consente a Security Lake di monitorare lo stato delle risorse distribuite da Security Lake (S3 Bucket, tabelle, Amazon SQS Queue AWS Glue , Metastore Manager () MSM Lambda Function e regole) sul tuo account. EventBridge Alcuni esempi di operazioni che Security Lake può eseguire con questo ruolo collegato al servizio sono:

  • Compattazione dei file manifest di Apache Iceberg, che migliora le prestazioni delle query e riduce i tempi e i costi di elaborazione MSM Lambda.

  • Monitora lo stato di Amazon SQS per rilevare problemi di ingestione.

  • Ottimizza la replica dei dati tra regioni per escludere i file di metadati.

Nota

Se non installi il ruolo AWSServiceRoleForSecurityLakeResourceManagement collegato al servizio, Security Lake continuerà a funzionare, ma si consiglia vivamente di accettare questo ruolo collegato al servizio in modo che Security Lake possa monitorare e ottimizzare le risorse del tuo account.

Dettagli dell'autorizzazione

Il ruolo è configurato con la seguente politica di autorizzazioni:

  • events— Consente ai responsabili di gestire EventBridge le regole richieste per le fonti di registro e gli abbonati ai log.

  • lambda— Consente ai principali di gestire la lambda utilizzata per aggiornare le partizioni di AWS Glue tabella dopo la distribuzione del AWS codice sorgente e la replica tra regioni.

  • glue— Consente ai principali di eseguire azioni di scrittura specifiche per le tabelle del Data Catalog. AWS Glue Ciò consente inoltre AWS Glue ai crawler di identificare le partizioni nei dati e a Security Lake di gestire i metadati di Apache Iceberg per le tabelle Apache Iceberg.

  • s3— Consente ai principali di eseguire azioni di lettura e scrittura specifiche sui bucket Security Lake contenenti dati di registro e metadati della tabella Glue.

  • logs— Consente ai principali di accedere in lettura per registrare l'output della funzione CloudWatch Lambda in Logs.

  • sqs— Consente ai responsabili di eseguire azioni di lettura e scrittura specifiche per le SQS code Amazon che ricevono notifiche di eventi quando gli oggetti vengono aggiunti o aggiornati nel tuo data lake.

  • lakeformation— Consente ai presidi di leggere le impostazioni di Lake Formation per monitorare eventuali errori di configurazione.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadEventBridgeRules", "Effect": "Allow", "Action": [ "events:ListRules" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ManageSecurityLakeEventRules", "Effect": "Allow", "Action": [ "events:PutRule" ], "Resource": "arn:aws:events:*:*:rule/AmazonSecurityLake-*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ManageSecurityLakeLambdaConfigurations", "Effect": "Allow", "Action": [ "lambda:GetEventSourceMapping", "lambda:GetFunction", "lambda:PutFunctionConcurrency", "lambda:GetProvisionedConcurrencyConfig", "lambda:GetFunctionConcurrency", "lambda:GetRuntimeManagementConfig", "lambda:PutProvisionedConcurrencyConfig", "lambda:PublishVersion", "lambda:DeleteFunctionConcurrency", "lambda:DeleteEventSourceMapping", "lambda:GetAlias", "lambda:GetPolicy", "lambda:GetFunctionConfiguration", "lambda:UpdateFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:*:*:function:SecurityLake_Glue_Partition_Updater_Lambda*", "arn:aws:lambda:*:*:function:AmazonSecurityLakeMetastoreManager-*-*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowListLambdaEventSourceMappings", "Effect": "Allow", "Action": [ "lambda:ListEventSourceMappings" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowUpdateLambdaEventSourceMapping", "Effect": "Allow", "Action": [ "lambda:UpdateEventSourceMapping" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" }, "StringLike": { "lambda:FunctionArn": "arn:aws:lambda:*:*:function:AmazonSecurityLakeMetastoreManager-*-*" } } }, { "Sid": "AllowUpdateLambdaConfigs", "Effect": "Allow", "Action": [ "lambda:UpdateFunctionConfiguration" ], "Resource": "arn:aws:lambda:*:*:function:AmazonSecurityLakeMetastoreManager-*-*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ManageSecurityLakeGlueResources", "Effect": "Allow", "Action": [ "glue:CreatePartition", "glue:BatchCreatePartition", "glue:GetTable", "glue:GetTables", "glue:UpdateTable", "glue:GetDatabase" ], "Resource": [ "arn:aws:glue:*:*:table/amazon_security_lake_glue_db*/*", "arn:aws:glue:*:*:database/amazon_security_lake_glue_db*", "arn:aws:glue:*:*:catalog" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowDataLakeConfigurationManagement", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObjectAttributes", "s3:GetBucketNotification", "s3:PutBucketNotification", "s3:GetLifecycleConfiguration", "s3:PutLifecycleConfiguration", "s3:GetEncryptionConfiguration", "s3:GetReplicationConfiguration" ], "Resource": [ "arn:aws:s3:::aws-security-data-lake*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowMetaDataCompactionAndManagement", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:DeleteObject", "s3:RestoreObject" ], "Resource": [ "arn:aws:s3:::aws-security-data-lake*/metadata/*.avro", "arn:aws:s3:::aws-security-data-lake*/metadata/*.metadata.json" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ReadSecurityLakeLambdaLogs", "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:StartQuery", "logs:GetLogEvents", "logs:GetQueryResults", "logs:GetLogRecord" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/lambda/AmazonSecurityLakeMetastoreManager-*-*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ManageSecurityLakeSQSQueue", "Effect": "Allow", "Action": [ "sqs:StartMessageMoveTask", "sqs:DeleteMessage", "sqs:GetQueueUrl", "sqs:ListDeadLetterSourceQueues", "sqs:ChangeMessageVisibility", "sqs:ListMessageMoveTasks", "sqs:ReceiveMessage", "sqs:SendMessage", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes" ], "Resource": [ "arn:aws:sqs:*:*:SecurityLake_*", "arn:aws:sqs:*:*:AmazonSecurityLakeManager-*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "AllowDataLakeManagement", "Effect": "Allow", "Action": [ "lakeformation:GetDataLakeSettings", "lakeformation:ListPermissions" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }

È necessario configurare le autorizzazioni per consentire a un'IAMentità (come un utente, un gruppo o un ruolo) di creare, modificare o eliminare un ruolo collegato al servizio. Per ulteriori informazioni, consulta Autorizzazioni dei ruoli collegati ai servizi nella Guida per l'utente. IAM

Creazione del ruolo collegato al servizio Security Lake

È possibile creare il ruolo AWSServiceRoleForSecurityLakeResourceManagement collegato al servizio per Security Lake utilizzando la console Security Lake o il. AWS CLI

Per creare il ruolo collegato al servizio è necessario concedere le seguenti autorizzazioni all'utente o al ruolo. IAM IAM Il IAM ruolo deve essere un amministratore di Lake Formation in tutte le regioni abilitate a Security Lake.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLakeFormationActionsViaSecurityLakeConsole", "Effect": "Allow", "Action": [ "lakeformation:GrantPermissions", "lakeformation:ListPermissions", "lakeformation:ListResources", "lakeformation:RegisterResource", "lakeformation:RevokePermissions" ], "Resource": "*" }, { "Sid": "AllowIamActionsViaSecurityLakeConsole", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:GetPolicyVersion", "iam:GetRole" ], "Resource": [ "arn:*:iam::*:role/aws-service-role/resource-management.securitylake.amazonaws.com/AWSServiceRoleForSecurityLakeResourceManagement", "arn:*:iam::aws:policy/service-role/AWSGlueServiceRole", "arn:*:iam::aws:policy/service-role/AmazonSecurityLakeMetastoreManager", "arn:*:iam::aws:policy/aws-service-role/SecurityLakeResourceManagementServiceRolePolicy" ], "Condition": { "StringLikeIfExists": { "iam:AWSServiceName": [ "securitylake.amazonaws.com", "resource-management.securitylake.amazonaws.com" ] } } }, { "Sid": "AllowGlueActionsViaConsole", "Effect": "Allow", "Action": [ "glue:GetTables" ], "Resource": [ "arn:*:glue:*:*:catalog", "arn:*:glue:*:*:database/amazon_security_lake_glue_db*", "arn:*:glue:*:*:table/amazon_security_lake_glue_db*/*" ] } ] }
Console
  1. Apri la console Security Lake all'indirizzo https://console.aws.amazon.com/securitylake/.

  2. Accetta il nuovo ruolo collegato al servizio facendo clic su Abilita ruolo collegato al servizio nella barra delle informazioni nella pagina di riepilogo.

Dopo aver abilitato il ruolo collegato al servizio, non sarà necessario ripetere questo processo per utilizzi futuri di Security Lake.

CLI

Per creare il ruolo AWSServiceRoleForSecurityLakeResourceManagement collegato al servizio in modo programmatico, usa il comando seguente. CLI

$ aws iam create-service-linked-role --aws-service-name resource-management.securitylake.amazonaws.com

Quando crei il ruolo AWSServiceRoleForSecurityLakeResourceManagement collegato al servizio utilizzando AWS CLI, devi anche concedergli le autorizzazioni a livello di tabella Lake Formation (ALTER,DESCRIBE) a tutte le tabelle del database Security Lake Glue per gestire i metadati delle tabelle e accedere ai dati. Se le tabelle Glue in qualsiasi regione fanno riferimento ai bucket S3 della precedente attivazione di Security Lake, è necessario concedere temporaneamente ACCESS le autorizzazioni DATA _ LOCATION _ al ruolo collegato al servizio per consentire a Security Lake di porre rimedio a questa situazione.

Devi anche concedere a Lake Formation le autorizzazioni per il ruolo AWSServiceRoleForSecurityLakeResourceManagement collegato al servizio per il tuo account.

L'esempio seguente mostra come concedere le autorizzazioni di Lake Formation al ruolo collegato al servizio nella regione designata. Questo esempio è formattato per Linux, macOS o Unix e utilizza il carattere di continuazione di barra rovesciata (\) per migliorare la leggibilità.

$ aws lakeformation grant-permissions --region {region} --principal DataLakePrincipalIdentifier={AWSServiceRoleForSecurityLakeResourceManagement ARN} \ --permissions ALTER DESCRIBE --resource '{ "Table": { "DatabaseName": "amazon_security_lake_glue_db_{region}", "TableWildcard": {} } }'

L'esempio seguente mostra come ARN sarà il ruolo. È necessario modificare il ruolo in ARN modo che corrisponda alla propria regione.

"AWS": "arn:[partition]:iam::[accountid]:role/aws-service-role/resource-management.securitylake.amazonaws.com/AWSServiceRoleForSecurityLakeResourceManagement"

Puoi anche usare la CreateServiceLinkedRoleAPIchiamata. Nella richiesta, specificare AWSServiceName comeresource-management.securitylake.amazonaws.com.

Dopo aver abilitato il AWSServiceRoleForSecurityLakeResourceManagement ruolo, se utilizzi AWS KMS Customer Managed Key (CMK) per la crittografia, devi consentire al ruolo collegato al servizio di scrivere oggetti crittografati nei bucket S3 nelle regioni in cui AWS esistono. CMK Nella AWS KMS console, aggiungi la seguente politica alla KMS chiave nelle regioni in cui esiste. AWS CMK Per i dettagli su come modificare la politica KMS chiave, consulta le politiche chiave AWS KMS nella Guida per gli AWS Key Management Service sviluppatori.

{ "Sid": "Allow SLR", "Effect": "Allow", "Principal": { "AWS": "arn:[partition]:iam::[accountid]:role/aws-service-role/resource-management.securitylake.amazonaws.com/AWSServiceRoleForSecurityLakeResourceManagement" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::[regional-datalake-s3-bucket-name]" }, "StringLike": { "kms:ViaService": "s3.[region].amazonaws.com" } } },

Modifica del ruolo collegato al servizio di Security Lake

Security Lake non consente di modificare il ruolo collegato al AWSServiceRoleForSecurityLakeResourceManagement servizio. Dopo aver creato un ruolo collegato al servizio, non è possibile modificare il nome del ruolo perché diverse entità potrebbero fare riferimento al ruolo. Tuttavia, è possibile modificare la descrizione del ruolo utilizzando. IAM Per ulteriori informazioni, consulta Modifica di un ruolo collegato al servizio nella Guida per l'IAMutente.

Eliminazione del ruolo collegato al servizio Security Lake

Non è possibile eliminare il ruolo collegato al servizio da Security Lake. È invece possibile eliminare il ruolo collegato al servizio dalla IAM console, oppure. API AWS CLIPer ulteriori informazioni, consulta Eliminazione di un ruolo collegato al servizio nella Guida per l'utente. IAM

Prima di poter eliminare il ruolo collegato al servizio, è necessario innanzitutto confermare che il ruolo non abbia sessioni attive e rimuovere tutte le risorse in uso. AWSServiceRoleForSecurityLakeResourceManagement

Nota

Se Security Lake utilizza il AWSServiceRoleForSecurityLakeResourceManagement ruolo quando si tenta di eliminare le risorse, l'eliminazione potrebbe non riuscire. In tal caso, attendi qualche minuto e poi riprova a eseguire l'operazione.

Se elimini il ruolo AWSServiceRoleForSecurityLakeResourceManagement collegato al servizio e devi crearlo di nuovo, puoi crearlo di nuovo abilitando Security Lake per il tuo account. Quando abiliti nuovamente Security Lake, Security Lake crea nuovamente automaticamente il ruolo collegato al servizio per te.

Supportato Regioni AWS per il ruolo collegato ai servizi di Security Lake

Security Lake supporta l'utilizzo del ruolo AWSServiceRoleForSecurityLakeResourceManagement collegato al servizio in tutti i paesi in Regioni AWS cui Security Lake è disponibile. Per un elenco delle regioni in cui Security Lake è attualmente disponibile, consulta. Regioni ed endpoint di Security Lake