Instellen van IAM-rol gebaseerde Data Collector toegang

De voorkeursmanier om toegang tot gegevens te krijgen is het instellen van een IAM-rol in elk AWS-account dat geanalyseerd moet worden, en de Capacity Planner Data Collector toestemming te geven om die rol aan te nemen om gegevens te verzamelen.

Er zijn twee manieren waarop u de vereiste toegang kunt instellen:

Vraag ITRS om u het rekeningnummer te geven dat gebruikt moet worden door de DataCollectorAccess rol voordat u begint. Dit rekeningnummer heeft u nodig om toegang tot de Data Collector te verlenen.

Toegang instellen met CloudFormation Copied

The DataCollectorAccess role allows the Data Collector on the estate to access the required data on your estate. Access can be controlled by deauthorising the role for the account, or by deleting it altogether.

De eenvoudigste manier om AWS te configureren met de juiste machtigingen voor de Data Collector is het gebruik van CloudFormation in het AWS-portaal.

Om de DataCollectorAccess rol in een enkele rekening en regio in te stellen, volg deze stappen:

  1. Sla de onderstaande sjabloon op als een JSON-bestand en noem het CloudFormation-DataCollectorAccessRole.json. U zult dit gebruiken bij het creëren van een nieuwe stapel.

    {
        "AWSTemplateFormatVersion": "2010-09-09",
        "Metadata": {
            "AWS::CloudFormation::Interface": {
                "ParameterGroups": [
                    {
                        "Label": {
                            "default": "IAM Role"
                        },
                        "Parameters": [
                            "ExternalAccount",
                            "ExternalId",
                            "ExternalUser"
                        ]
                    }
                ]
            }
        },
        "Parameters": {
            "ExternalId": {
                "Type": "String",
                "Description": "ITRS Data Collector Externe ID"
            },
            "ExternalAccount": {
                "Type": "String",
                "Default": "111171302824",
                "Description": "ITRS Data Collector Account"
            },
            "ExternalUser": {
                "Type": "String",
                "Default": "itrs-icpaas-dc",
                "Description": "ITRS Data Collector Gebruiker"
            }
        },
        "Resources": {
            "DataCollectorAccess": {
                "Type": "AWS::IAM::Role",
                "Properties": {
                    "AssumeRolePolicyDocument": {
                        "Version": "2012-10-17",
                        "Statement": [
                            {
                                "Effect": "Allow",
                                "Principal": {
                                        "AWS": {
                                            "Fn::Sub": "arn:${AWS::Partition}:iam::${ExternalAccount}:user/${ExternalUser}"
                                        }
                                },
                                "Action": "sts:AssumeRole",
                                "Condition": {
                                    "StringEquals": {
                                        "sts:ExternalId": {
                                            "Ref": "ExternalId"
                                        }
                                    }
                                }
                            }
                        ]
                    },
                    "Description": "ICPaaS Data Collector IAM account",
                    "ManagedPolicyArns": [
                        "arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess",
                        "arn:aws:iam::aws:policy/AWSCloudTrailReadOnlyAccess",
                        "arn:aws:iam::aws:policy/AmazonRDSReadOnlyAccess",
                        "arn:aws:iam::aws:policy/CloudWatchReadOnlyAccess",
                        "arn:aws:iam::aws:policy/ComputeOptimizerReadOnlyAccess",
                        "arn:aws:iam::aws:policy/AWSSavingsPlansReadOnlyAccess"
                    ],
                    "MaxSessionDuration": 3600,
                    "Path": "/",
                    "Policies": [
                        {
                            "PolicyName": "CostExplorerReadAccess",
                            "PolicyDocument": {
                                "Version": "2012-10-17",
                                "Statement": [
                                    {
                                        "Effect": "Allow",
                                        "Action": [
                                            "ce:GetReservationUtilization",
                                            "ce:GetDimensionValues",
                                            "ce:GetCostAndUsage",
                                            "ce:GetTags"
                                        ],
                                        "Resource": "*"
                                    }
                                ]
                            }
                        }
                    ],
                    "RoleName": "DataCollectorAccess"
                }
            }
        },
        "Outputs": {
            "RoleArn": {
                "Description": "ARN van de DataCollectorAccess Rol",
                "Value": {
                    "Fn::GetAtt": [
                        "DataCollectorAccess",
                        "Arn"
                    ]
                }
            },
            "RoleId": {
                "Description": "Id van de DataCollectorAccess Rol",
                "Value": {
                    "Fn::GetAtt": [
                        "DataCollectorAccess",
                        "RoleId"
                    ]
                }
            }
        }
    }
    
  2. Open de AWS Console voor de account.

  3. Selecteer uit de lijst van beschikbare diensten Management & Governance > CloudFormation.

  4. Klik op Create stack. Dit opent het instelvenster waar u het sjabloonbestand kunt uploaden.

  5. Selecteer de Template is ready in de Prerequisite - Prepare template sectie en Upload a template file in de Specify template sectie van het instelvenster.
    image

  6. Klik op Choose file en upload uw opgeslagen CloudFormation-DataCollectorAccessRole.json bestand, en klik dan op Next.

  7. Voer een naam in voor de stapel om deze te identificeren op de CloudFormations pagina van het AWS-portaal.

  8. Geef waarden voor ExternalAccount, ExternalId en ExternalUser.

  9. Klik op Next en voeg tags toe. Dit is niet verplicht maar dit kan helpen bij het voortdurend beheer.

  10. Selecteer een voorkeurs IAM-rol voor het beheren van de stapel.

  11. Klik op Next-Review, controleer of uw instellingen correct zijn en klik op Create Stack.

Note

De eenvoudigste manier om stapels in de AWS-accounts en regio’s van een organisatie te implementeren is het gebruik van stapelsets, maar dit vereist het instellen van zelfbeheerde of service-beheerde machtigingen door de organisatie en moet naar goeddunken van uw organisatie worden beslist. Voor meer informatie, zie AWS official documentation. Het stapelsjabloon JSON-script dat gebruikt wordt voor het creëren van een enkele stapel kan ook gebruikt worden om stapelsets te creëren.

Handmatig toegang instellen Copied

De onderstaande stappen moeten worden uitgevoerd voor elk AWS-account dat geanalyseerd gaat worden:

  1. Creëer een nieuw toestemmingsbeleid om toegang te krijgen tot de juiste informatie. Zie CostExplorerReadAccess-beleid instellen.
  2. Creëer de rol die de Data Collector zal aannemen bij het verzamelen van gegevens. Zie, DataCollectorAccess-rol instellen.

CostExplorerReadAccess-beleid instellen Copied

The Data Collector requires a new permissions policy to access data. To set up the CostExplorerReadAccess policy, follow the steps:

  1. Open the AWS Console for the account.
  2. Go to IAM > Policies and click Create policy.
  3. Open the JSON tab.
  4. Copy the code into the text box:
    {
    "Version": "2012-10-17",
    "Statement": 
    [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": 
            [
                "ce:GetReservationUtilization",
                "ce:GetDimensionValues",
                "ce:GetCostAndUsage",
                "ce:GetTags"
            ],
            "Resource": "*"
        }
    ]
}
  1. Name the policy CostExplorerReadAccess, and save.

DataCollectorAccess-rol instellen Copied

The DataCollectorAccess role allows the Data Collector on the estate to access the required data on your estate. Access can be controlled by deauthorising the role for the account, or by deleting it altogether.

Als u de Data Collector-toegangsrol voor meerdere accounts instelt, moet de rolnaam in alle accounts hetzelfde zijn.

Om de DataCollectorAccess-rol te creëren, volg deze stappen:

  1. Ga naar IAM > Roles en klik op Create role.
  2. Selecteer Another AWS Account en voor de Account ID, geef het ITRS-accountnummer op.
  3. Onder Options, selecteer Require external ID, en voer een geschikte externe ID naar keuze in. Noteer de externe ID, aangezien u deze aan ITRS moet verstrekken.
    Selecteer niet Require MFA. image
  4. Klik op Next: Permissions om toestemmingen toe te wijzen.
  5. In het venster Permissions, wijs de volgende toestemmingen aan de rol toe door de selectievakjes aan te vinken:
    • AmazonEC2ReadOnlyAccess
    • AmazonRDSReadOnlyAccess
    • AWSCloudTrailReadOnlyAccess
    • AWSSavingsPlansReadOnlyAccess
    • CloudWatchReadOnlyAccess
    • CostExplorerReadAccess image
  6. Klik op Next en voeg tags toe. Dit is niet verplicht maar dit kan helpen bij het voortdurend beheren.
  7. Klik op Next-Review, controleer of uw instellingen correct zijn, en klik op Create role.
  8. Noem de rol DataCollectorAccess, en sla op.

Opmerking

U moet het rekeningnummer en de externe ID voor de rol op een veilige manier naar uw ITRS-vertegenwoordiger sturen.
["Capacity Planner"] ["Capacity Planner > Data Collector"] ["User Guide"]

Was this topic helpful?