Concessione di autorizzazioni personalizzate per gli utenti di AWS Config - AWS Config

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

Concessione di autorizzazioni personalizzate per gli utenti di AWS Config

Le policy AWS Config consentono di assegnare autorizzazioni agli utenti che usano AWS Config. Se devi concedere autorizzazioni diverse agli utenti, puoi allegare aAWS ConfigPer un gruppo IAM o per un utente. Puoi modificare la policy in modo da includere o escludere autorizzazioni specifiche. Puoi anche creare policy personalizzate. Le policy sono documenti JSON che definiscono le operazioni che un utente può eseguire e le risorse su cui l'utente può eseguire tali operazioni.

Accesso in sola lettura

L'esempio seguente mostra una policy gestita AWS, AWSConfigUserAccess, che consente a l'accesso in sola lettura a AWS Config.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "config:Get*", "config:Describe*", "config:Deliver*", "config:List*", "config:Select*", "tag:GetResources", "tag:GetTagKeys", "cloudtrail:DescribeTrails", "cloudtrail:GetTrailStatus", "cloudtrail:LookupEvents" ], "Resource": "*" } ] }

Nelle istruzioni della policy, l'elemento Effect specifica se le operazioni sono consentite o negate. L'elemento Action elenca le operazioni specifiche che l'utente è autorizzato a eseguire. L'elemento Resource elenca le risorse AWS su cui l'utente è autorizzato a eseguire tali operazioni. Per le policy che controllano l'accesso a operazioni AWS Config, l'elemento Resource è sempre impostato su *, un carattere jolly che significa "tutte le risorse".

I valori nell'elemento Action corrispondono alle API supportate dai servizi. Le operazioni sono precedute da config: a indicare che fanno riferimento alle operazioni AWS Config. Puoi utilizzare il carattere jolly * nell'elemento Action, come negli esempi seguenti:

  • "Action": ["config:*ConfigurationRecorder"]

    Ciò consente l'esecuzione di tutte le operazioni AWS Config che terminano con "ConfigurationRecorder" (StartConfigurationRecorder, StopConfigurationRecorder).

  • "Action": ["config:*"]

    Ciò consente l'esecuzione di tutte le operazioni AWS Config, ma non delle operazioni per altri servizi AWS.

  • "Action": ["*"]

    Ciò consente l'esecuzione di tutte le operazioni AWS. Questa autorizzazione è adatta per un utente che funge da amministratore AWS per il tuo account.

La policy di sola lettura non concede autorizzazioni all'utente per operazioni come StartConfigurationRecorder, StopConfigurationRecorder e DeleteConfigurationRecorder. Gli utenti con questa policy non possono avviare, arrestare o cancellare la registrazione della configurazione. Per l'elenco diAWS ConfigActions, consulta laAWS ConfigDocumentazione di riferimento API.

Full access (Accesso completo)

L'esempio seguente mostra una policy che concede l'accesso completo a AWS Config. Concede agli utenti l'autorizzazione per l'esecuzione di tutte le operazioni AWS Config. Consente inoltre agli utenti di gestire i file nei bucket Amazon S3 e gestire gli argomenti Amazon SNS nell'account a cui è associato l'utente.

Nota

Questa politica concede ampie autorizzazioni. Prima di concedere l'accesso completo, puoi considerare di iniziare con un set di autorizzazioni minimo e concedere autorizzazioni aggiuntive quando necessario. In questo modo, è meglio che iniziare con autorizzazioni che sono troppo permissive e cercare di limitarle in un secondo momento.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:AddPermission", "sns:CreateTopic", "sns:DeleteTopic", "sns:GetTopicAttributes", "sns:ListPlatformApplications", "sns:ListTopics", "sns:SetTopicAttributes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetBucketNotification", "s3:GetBucketPolicy", "s3:GetBucketRequestPayment", "s3:GetBucketVersioning", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListBucketVersions", "s3:PutBucketPolicy" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:GetRole", "iam:GetRolePolicy", "iam:ListRolePolicies", "iam:ListRoles", "iam:PutRolePolicy", "iam:AttachRolePolicy", "iam:CreatePolicy", "iam:CreatePolicyVersion", "iam:DeletePolicyVersion", "iam:CreateServiceLinkedRole" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "config.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "cloudtrail:DescribeTrails", "cloudtrail:GetTrailStatus", "cloudtrail:LookupEvents" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "config:*", "tag:Get*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:DescribeDocument", "ssm:GetDocument", "ssm:DescribeAutomationExecutions", "ssm:GetAutomationExecution", "ssm:ListDocuments", "ssm:StartAutomationExecution" ], "Resource": "*" } ] }

Controllo delle autorizzazioni utente per operazioni sull'aggregazione dei dati multi-account multi-regione

Puoi utilizzare le autorizzazioni a livello di risorsa per controllare la capacità di un utente di eseguire operazioni specifiche sull'aggregazione dei dati multi-account multi-regione. L'API di aggregazione dei dati multi-account multi-regione di AWS Config supporta le autorizzazioni a livello di risorsa. Grazie alle autorizzazioni a livello di risorsa puoi limitare l'accesso/la modifica dei dati delle risorse a utenti specifici.

Se, ad esempio, desideri limitare accesso ai dati di una risorsa a utenti specifici. Puoi creare due aggregatoriAccessibleAggregatoreInAccessibleAggregator. Quindi collegare una policy IAM che consente l'accesso alAccessibleAggregator.

Nella prima policy, concedi l'autorizzazione all'esecuzione delle operazioni dell'aggregatore come DescribeConfigurationAggregators e DeleteConfigurationAggregator relativamente all'ARN di configurazione specificato. Nell'esempio seguente, l'ARN di configurazione è arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-mocpsqhs.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConfigReadOnly", "Effect": "Allow", "Action": [ "config:PutConfigurationAggregator", "config:DescribePendingAggregationRequests", "config:DeletePendingAggregationRequest", "config:GetAggregateConfigRuleComplianceSummary", "config:DescribeAggregateComplianceByConfigRules", "config:GetAggregateComplianceDetailsByConfigRule", "config:DescribeConfigurationAggregators", "config:DescribeConfigurationAggregatorSourcesStatus", "config:DeleteConfigurationAggregator" ], "Resource": "arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-mocpsqhs" } ] }

Nella seconda policy, neghi l'autorizzazione per le operazioni dell'aggregatore relativamente all'ARN di configurazione specificato. Nell'esempio seguente, l'ARN di configurazione è arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-pokxzldx.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConfigReadOnly", "Effect": "Deny", "Action": [ "config:PutConfigurationAggregator", "config:DescribePendingAggregationRequests", "config:DeletePendingAggregationRequest", "config:GetAggregateConfigRuleComplianceSummary", "config:DescribeAggregateComplianceByConfigRules", "config:GetAggregateComplianceDetailsByConfigRule", "config:DescribeConfigurationAggregators", "config:DescribeConfigurationAggregatorSourcesStatus", "config:DeleteConfigurationAggregator" ], "Resource": "arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-pokxzldx" } ] }

Se un utente del gruppo di sviluppatori cerca di descrivere o cancellare gli aggregatori della configurazione per la configurazione specificata nella prima policy, a tale utente viene restituita un'eccezione di accesso negato.

I seguenti esempi di AWS CLI mostrano che l'utente crea due aggregatori, AccessibleAggregator e InAccessibleAggregator.

aws configservice describe-configuration-aggregators

L'esecuzione del comando ha esito positivo:

{ "ConfigurationAggregators": [ { "ConfigurationAggregatorArn": "arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-mocpsqhs", "CreationTime": 1517942461.442, "ConfigurationAggregatorName": "AccessibleAggregator", "AccountAggregationSources": [ { "AllAwsRegions": true, "AccountIds": [ "AccountID1", "AccountID2", "AccountID3" ] } ], "LastUpdatedTime": 1517942461.455 } ] }
{ "ConfigurationAggregators": [ { "ConfigurationAggregatorArn": "arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-pokxzldx", "CreationTime": 1517942461.442, "ConfigurationAggregatorName": "InAccessibleAggregator", "AccountAggregationSources": [ { "AllAwsRegions": true, "AccountIds": [ "AccountID1", "AccountID2", "AccountID3" ] } ], "LastUpdatedTime": 1517942461.455 } ] }
Nota

Alla voce account-aggregation-sources inserisci un elenco separato da virgole di ID account AWS per i quali desideri aggregare i dati. Racchiudi l'ID account tra parentesi quadre e assicurati di fare l'escape delle virgolette (ad esempio, "[{\"AccountIds\": [\"AccountID1\",\"AccountID2\",\"AccountID3\"],\"AllAwsRegions\": true}]").

L'utente crea quindi una policy IAM che nega l'accesso aInAccessibleAggregator.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConfigReadOnly", "Effect": "Deny", "Action": [ "config:PutConfigurationAggregator", "config:DescribePendingAggregationRequests", "config:DeletePendingAggregationRequest", "config:GetAggregateConfigRuleComplianceSummary", "config:DescribeAggregateComplianceByConfigRules", "config:GetAggregateComplianceDetailsByConfigRule", "config:DescribeConfigurationAggregators", "config:DescribeConfigurationAggregatorSourcesStatus", "config:DeleteConfigurationAggregator" ], "Resource": "arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-pokxzldx" } ] }

Quindi, l'utente conferma che la policy IAM funziona come limitazione dell'accesso a specifici aggregatori e regole.

aws configservice get-aggregate-compliance-details-by-config-rule --configuration-aggregator-name InAccessibleAggregator --config-rule-name rule name --account-id AccountID --aws-region AwsRegion

Il comando restituisce un'eccezione di accesso negato:

An error occurred (AccessDeniedException) when calling the GetAggregateComplianceDetailsByConfigRule operation: User: arn:aws:iam::AccountID:user/ is not authorized to perform: config:GetAggregateComplianceDetailsByConfigRule on resource: arn:aws:config:AwsRegion-1:AccountID:config-aggregator/config-aggregator-pokxzldx

Con le autorizzazioni a livello di risorsa, puoi concedere o negare l'accesso all'esecuzione di azioni specifiche sull'aggregazione di dati multi-account multi-regione.

Informazioni aggiuntive

Per ulteriori informazioni sulla creazione di utenti, gruppi, policy e autorizzazioni IAM, consulta Creazione del primo utente e del primo gruppo di amministratori IAM e Gestione degli accessi nella Guida per l'utente di IAM.