Microsoft Entra Permissions ManagementでAWSアカウントをオンボードするときに作成されるAWSリソース

2022.07.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。大阪オフィスの林です。

前回、下記エントリでMicrosoft Entra Permissions ManagementでAWSアカウントをオンボードしました。

今回のエントリでは、オンボード時にAWS側に作成されるリソースについて詳細を見ていきたいと思います。

やってみた

全体像

前回のエントリの内容でセットアップを進めた時に作成されるAWS側のリソース全体像です。基本的にはIAMのリソースが作成されます。

各セクションで作成されるAWSリソースは以降で見ていきたいと思います。

AWS OIDC Account Setupで作成されるリソース

カテゴリ デフォルトリソース名 概要
IAM OIDC IDプロバイダ sts.windows.net/[ランダムID]/ Azure側で作成したOIDCアプリとAWSアカウントの間で信頼性を確立するときに使用されるIAM OIDC IDプロバイダ
IAMロール mciem-oidc-connect-role 上記のIAM OIDC IDプロバイダからのAssumeRoleを引き受けるIAMロール
IAMポリシー mciem-oidc-[ランダムID]-assume 上記のIAMロールにアタッチされるポリシー
ポリシーの内容は下記の通り
AWS Security Token Serviceのアクションが幾つか許可されています
  • mciem-oidc-[ランダムID]-assume のポリシー内容
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "sts:AssumeRole",
                "sts:AssumeRoleWithSAML",
                "sts:GetAccessKeyInfo",
                "sts:GetCallerIdentity",
                "sts:GetFederationToken",
                "sts:GetServiceBearerToken",
                "sts:GetSessionToken",
                "sts:TagSession"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}

AWS Master Account DetailsのSetupで作成されるリソース

カテゴリ デフォルトリソース名 概要
IAMロール mciem-org-read-role mciem-oidc-connect-roleからのAssumeRoleを引き受けるIAMロール
IAMポリシー mciem-oidc-[ランダムID]-scp 上記のIAMロールにアタッチされるポリシー
ポリシーの内容は下記の通り
Organizationsのアクションが幾つか許可されています
IAMポリシー mciem-oidc-[ランダムID]-sso 上記のIAMロールにアタッチされるポリシー
ポリシーの内容は下記の通り
オンボード時の設定によっては、ポリシーの作成のみで、ロールにアタッチされない場合もある
AWS SSO周りのアクションが幾つか許可されています
IAMポリシー(アタッチのみ) AWSConfigRoleForOrganizations AWSマネージドポリシー(AWSConfigRoleForOrganizations)が上記のIAMロールにアタッチされる
  • mciem-oidc-[ランダムID]-scp のポリシー内容
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "organizations:DescribeAccount",
                "organizations:DescribeOrganizationalUnit",
                "organizations:DescribePolicy",
                "organizations:ListOrganizationalUnitsForParent",
                "organizations:ListParents",
                "organizations:ListPolicies",
                "organizations:ListPoliciesForTarget",
                "organizations:ListRoots"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}
  • mciem-oidc-[ランダムID]-sso のポリシー内容
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "identitystore:DescribeGroup",
                "identitystore:DescribeUser",
                "sso:DescribePermissionSet",
                "sso:DescribeRegisteredRegions",
                "sso:ListAccountAssignments",
                "sso:ListAccountsForProvisionedPermissionSet",
                "sso:ListInstances",
                "sso:ListPermissionSets",
                "sso:ListPermissionSetsProvisionedToAccount"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}

AWS Member Account DetailsのSetupで作成されるリソース

カテゴリ デフォルトリソース名 概要
IAMロール mciem-collection-role mciem-oidc-connect-roleからのAssumeRoleを引き受けるIAMロール
IAMポリシー mciem-member-cloudtrail-[ランダムID] 上記のIAMロールにアタッチされるポリシー
ポリシーの内容は下記の通り
オンボード時の設定によっては、ポリシーの作成のみで、ロールにアタッチされない場合もある
S3のGETオブジェクトとLISTオブジェクトのアクションが許可されています
IAMポリシー mciem-controller-[ランダムID] 上記のIAMロールにアタッチされるポリシー
ポリシーの内容は下記の通り
オンボード時の設定によっては、ポリシーの作成のみで、ロールにアタッチされない場合もある
IAM周りのアクションが幾つか許可されています
本ポリシーは検知したリスクを修復する際に使用するものと思われCreateやDeleteなど強いアクションが含まれています
IAMポリシー(アタッチのみ) SecurityAudit AWSマネージドポリシー(SecurityAudit)が上記のIAMロールにアタッチされる
  • mciem-member-cloudtrail-[ランダムID] のポリシー内容
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::*",
                "arn:aws:s3:::*/*"
            ],
            "Effect": "Allow"
        }
    ]
}
  • mciem-controller-[ランダムID] のポリシー内容
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "iam:AttachGroupPolicy",
                "iam:AttachRolePolicy",
                "iam:AttachUserPolicy",
                "iam:CreatePolicy",
                "iam:CreatePolicyVersion",
                "iam:DeletePolicy",
                "iam:DeletePolicyVersion",
                "iam:DeleteGroupPolicy",
                "iam:DeleteRolePolicy",
                "iam:DeleteUserPolicy",
                "iam:DetachGroupPolicy",
                "iam:DetachRolePolicy",
                "iam:DetachUserPolicy",
                "iam:PutGroupPolicy",
                "iam:PutRolePolicy",
                "iam:PutUserPolicy",
                "iam:PutUserPermissionsBoundary",
                "iam:SetDefaultPolicyVersion"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}

まとめ

ざっくりではありますが、Microsoft Entra Permissions ManagementでAWSアカウントをオンボードするときに作成されるAWSリソースを把握することが出来ました。
今後はMicrosoft Entra Permissions Managementの機能も触っていきたいと思います。

以上、大阪オフィスの林がお送りしました!