メインコンテンツまでスキップ
バージョン: User Guides (BYOC)

クロスアカウントIAMロールの作成

このページでは、プロジェクトをブートストラップするためにZilliz Cloudのクロスアカウントロールを作成および設定する方法について説明します。このロールにより、Zilliz Cloudはあなたの代わりにVPCリソースを管理するための制限付き権限を与えられます。

📘ノート

Zilliz BYOCは現在一般提供中です。アクセスと実装の詳細については、Zilliz Cloudサポートにお問い合わせください。

手続き

AWSコンソールを使用してブートストラップロールを作成できます。代わりに、Zilliz Cloudが提供するTerraformスクリプトを使用して、Zilliz CloudプロジェクトのインフラストラクチャをAWS上でブートストラップすることもできます。詳細については、「Bootstrapインフラストラクチャ(Terraform)」を参照してください。

ステップ1:クロスアカウントIAMロールを作成する

このステップでは、Zilliz CloudとVPC間の通信のためのクロスアカウントIAMロールを作成します。

  1. Zilliz Cloudコンソールで、セットアップガイドに表示されている外部IDをコピーします。

    HlT5b37CKoWnsexqAk4cXYqgnpe

  2. 管理者権限を持つユーザーとしてAWSコンソールにログインし、IAMダッシュボードに移動します。

  3. 左サイドバーの[役割]タブをクリックし、[役割を作成]をクリックします。

    S6eKbYvD5om0jGxUIWDcwdSEnXf

  4. [信頼できるエンティティの選択]で、AWSアカウントタイルをクリックします。

    WQOCbEPNeoceCBxg2DVcf9Xln3g

  5. [An AWS account]で、[Another AWS account]チェックボックスをオンにします。

  6. [アカウントID]に、Zilliz CloudアカウントID 9655 7 0 9670 8 4を入力しす。

    これは、Zilliz Cloudコンソールからコピーした外部IDではありません。

  7. [**外部IDが必要]**チェックボックスをオンにします。

  8. [外部ID]に、Zilliz CloudコンソールからコピーしたIDを入力します。

  9. へ」をクリックして、アクセス権の追加をスキップします。

  10. 名前、レビュー、および作成」ステップで、役割に名前を付け、信頼されたエンティティを確認し、「役割を作成」をクリックします。

    📘ノート

    ロールに名前を付けるときは、プレフィックスzilliz-byocを使用します。

  11. ロールが作成されたら、緑色のバーの[View role]をクリックしてロールの詳細に移動します。

    IkpJbCkEiomCLJxVekpcpRD4nh5

  12. ロールのARNの前にあるコピーアイコンをクリックします。

    LRmfbjfczo3BCAxIgyyc1EIznFc

  13. Zilliz Cloudコンソールに戻り、IAM Role ARNEKS設定にARNロールを貼り付けます。

    BdPebdKp0oc4nkxeUVgcK3ndn7e

ステップ2:権限を追加する

このステップはAWSコンソール上でのみ行われます。このステップでは、上記で作成したロールのインラインポリシーを作成します。

  1. 作成したロールの詳細ページに移動します。[権限ポリシー]セクションで、[権限を追加]をクリックし、[インラインポリシーを作成]を選択します。

    UjQBb1Xbxo88qExt4amchip9nmg

  2. Specify permissions」ページで、「JSON」をクリックしてポリシーエディタを開きます。その後、以下のパーミッションをコピーしてポリシーエディタに貼り付け、{bucketName}を「Create S3 Bucket and Role」で作成したバケットに置き換えます。

    {
    "Version" : "2012-10-17",
    "Statement" : [
    {
    "Sid" : "CreateOpenIDConnectProvider",
    "Effect" : "Allow",
    "Action" : [
    "iam:CreateOpenIDConnectProvider",
    "iam:TagOpenIDConnectProvider"
    ],
    "Resource" : [
    "arn:aws:iam::*:oidc-provider/*"
    ],
    "Condition" : {
    "StringEquals" : {
    "aws:RequestTag/Vendor" : "zilliz-byoc"
    }
    }
    },
    {
    "Sid" : "DeleteOpenIDConnectProvider",
    "Effect" : "Allow",
    "Action" : [
    "iam:GetOpenIDConnectProvider",
    "iam:DeleteOpenIDConnectProvider"
    ],
    "Resource" : [
    "arn:aws:iam::*:oidc-provider/*"
    ]
    },
    {
    "Sid" : "IAMReadEKSRole",
    "Effect" : "Allow",
    "Action" : [
    "iam:GetRole",
    "iam:ListAttachedRolePolicies"
    ],
    "Resource" : [
    "arn:aws:iam::*:role/zilliz-byoc*",
    "arn:aws:iam::*:role/aws-service-role/eks-nodegroup.amazonaws.com/AWSServiceRoleForAmazonEKSNodegroup"
    ]
    },
    {
    "Sid" : "IAMPassRoleToEKS",
    "Effect" : "Allow",
    "Action" : [
    "iam:PassRole"
    ],
    "Resource" : [
    "arn:*:iam::*:role/zilliz-byoc*"
    ],
    "Condition" : {
    "StringEquals" : {
    "iam:PassedToService" : "eks.amazonaws.com"
    }
    }
    },
    {
    "Sid" : "IAMUpdateTrustPolicyForEKSRole",
    "Effect" : "Allow",
    "Action" : [
    "iam:UpdateAssumeRolePolicy"
    ],
    "Resource" : [
    "arn:*:iam::*:role/zilliz-byoc*"
    ]
    },
    {
    "Sid" : "EC2Create",
    "Effect" : "Allow",
    "Action" : [
    "ec2:CreateLaunchTemplate",
    "ec2:RunInstances"
    ],
    "Resource" : [
    "arn:aws:ec2:*:*:launch-template/*",
    "arn:aws:ec2:*:*:volume/*",
    "arn:aws:ec2:*:*:instance/*",
    "arn:aws:ec2:*:*:network-interface/*"
    ],
    "Condition" : {
    "StringEquals" : {
    "aws:RequestTag/Vendor" : "zilliz-byoc"
    }
    }
    },
    {
    "Sid" : "EC2Update",
    "Effect" : "Allow",
    "Action" : [
    "ec2:DeleteLaunchTemplate",
    "ec2:CreateLaunchTemplateVersion",
    "ec2:RunInstances"
    ],
    "Resource" : [
    "arn:aws:ec2:*:*:launch-template/*",
    "arn:aws:ec2:*:*:image/*",
    "arn:aws:ec2:*:*:security-group/*",
    "arn:aws:ec2:*:*:subnet/*"
    ],
    "Condition" : {
    "StringEquals" : {
    "aws:ResourceTag/Vendor" : "zilliz-byoc"
    }
    }
    },
    {
    "Sid" : "EC2RunInstanceOnImage",
    "Effect" : "Allow",
    "Action" : [
    "ec2:RunInstances"
    ],
    "Resource" : [
    "arn:aws:ec2:*:*:image/*"
    ]
    },
    {
    "Sid" : "EC2Tag",
    "Effect" : "Allow",
    "Action" : [
    "ec2:CreateTags"
    ],
    "Resource" : [
    "arn:aws:ec2:*:*:launch-template/*",
    "arn:aws:ec2:*:*:volume/*",
    "arn:aws:ec2:*:*:instance/*",
    "arn:aws:ec2:*:*:image/*",
    "arn:aws:ec2:*:*:network-interface/*",
    "arn:aws:ec2:*:*:security-group/*",
    "arn:aws:ec2:*:*:subnet/*"
    ],
    "Condition" : {
    "StringEquals" : {
    "aws:ResourceTag/Vendor" : "zilliz-byoc"
    }
    }
    },
    {
    "Sid" : "EC2TagWithRequestTag",
    "Effect" : "Allow",
    "Action" : [
    "ec2:CreateTags"
    ],
    "Resource" : [
    "arn:aws:ec2:*:*:launch-template/*",
    "arn:aws:ec2:*:*:volume/*",
    "arn:aws:ec2:*:*:instance/*",
    "arn:aws:ec2:*:*:image/*",
    "arn:aws:ec2:*:*:network-interface/*",
    "arn:aws:ec2:*:*:security-group/*",
    "arn:aws:ec2:*:*:subnet/*"
    ],
    "Condition" : {
    "StringEquals" : {
    "aws:RequestTag/Vendor" : "zilliz-byoc"
    }
    }
    },
    {
    "Sid" : "EC2Read",
    "Effect" : "Allow",
    "Action" : [
    "ec2:DescribeAccountAttributes",
    "ec2:DescribeInstanceTypes",
    "ec2:DescribeLaunchTemplateVersions",
    "ec2:DescribeLaunchTemplates",
    "ec2:DescribeSubnets",
    "ec2:DescribeVpcs"
    ],
    "Resource" : [
    "*"
    ]
    },
    {
    "Sid" : "EKSCreate",
    "Effect" : "Allow",
    "Action" : [
    "eks:CreateCluster",
    "eks:CreateNodegroup",
    "eks:CreateAddon",
    "eks:CreateAccessEntry",
    "eks:CreatePodIdentityAssociation"
    ],
    "Resource" : [
    "arn:aws:eks:*:*:cluster/zilliz-byoc-*",
    "arn:aws:eks:*:*:addon/zilliz-byoc-*/*/*",
    "arn:aws:eks:*:*:nodegroup/zilliz-byoc-*/zilliz*/*",
    "arn:aws:eks:*:*:podidentityassociation/zilliz-byoc-*/*",
    "arn:aws:eks::aws:access-entry/zilliz-byoc-*/*/*/*/*",
    "arn:aws:eks::aws:access-policy/zilliz-byoc-*/*"
    ],
    "Condition" : {
    "StringEquals" : {
    "aws:RequestTag/Vendor" : "zilliz-byoc"
    }
    }
    },
    {
    "Sid" : "EKSUpdate",
    "Effect" : "Allow",
    "Action" : [
    "eks:AssociateAccessPolicy",
    "eks:UpdateAccessEntry",
    "eks:UpdateAddon",
    "eks:UpdateClusterConfig",
    "eks:UpdateClusterVersion",
    "eks:UpdateNodegroupConfig",
    "eks:UpdateNodegroupVersion",
    "eks:UpdatePodIdentityAssociation"
    ],
    "Resource" : [
    "arn:aws:eks:*:*:cluster/zilliz-byoc-*",
    "arn:aws:eks:*:*:addon/zilliz-byoc-*/*/*",
    "arn:aws:eks:*:*:nodegroup/zilliz-byoc-*/zilliz*/*",
    "arn:aws:eks:*:*:podidentityassociation/zilliz-byoc-*/*",
    "arn:aws:eks::aws:access-entry/zilliz-byoc-*/*/*/*/*",
    "arn:aws:eks::aws:access-policy/zilliz-byoc-*/*"
    ],
    "Condition" : {
    "StringEquals" : {
    "aws:ResourceTag/Vendor" : "zilliz-byoc"
    }
    }
    },
    {
    "Sid" : "EKSTag",
    "Effect" : "Allow",
    "Action" : [
    "eks:TagResource"
    ],
    "Resource" : [
    "arn:aws:eks:*:*:cluster/zilliz-byoc-*",
    "arn:aws:eks:*:*:addon/zilliz-byoc-*/*/*",
    "arn:aws:eks:*:*:nodegroup/zilliz-byoc-*/zilliz*/*",
    "arn:aws:eks:*:*:podidentityassociation/zilliz-byoc-*/*",
    "arn:aws:eks::aws:access-entry/zilliz-byoc-*/*/*/*/*"
    ]
    },
    {
    "Sid" : "EKSRead",
    "Effect" : "Allow",
    "Action" : [
    "eks:DescribeCluster",
    "eks:DescribeNodegroup",
    "eks:DescribeAccessEntry",
    "eks:DescribeAddon",
    "eks:DescribeAddonConfiguration",
    "eks:DescribeAddonVersions",
    "eks:DescribePodIdentityAssociation",
    "eks:DescribeUpdate",
    "eks:ListAccessEntries",
    "eks:ListAccessPolicies",
    "eks:ListAddons",
    "eks:ListNodegroups",
    "eks:ListUpdates",
    "eks:ListPodIdentityAssociations",
    "eks:ListTagsForResource"
    ],
    "Resource" : [
    "arn:aws:eks:*:*:cluster/zilliz-byoc-*",
    "arn:aws:eks:*:*:addon/zilliz-byoc-*/*/*",
    "arn:aws:eks:*:*:nodegroup/zilliz-byoc-*/zilliz*/*",
    "arn:aws:eks:*:*:podidentityassociation/zilliz-byoc-*/*",
    "arn:aws:eks::aws:access-entry/zilliz-byoc-*/*/*/*/*",
    "arn:aws:eks::aws:access-policy/zilliz-byoc-*/*"
    ]
    },
    {
    "Sid" : "EkSDelete",
    "Effect" : "Allow",
    "Resource" : [
    "arn:aws:eks:*:*:cluster/zilliz-byoc-*",
    "arn:aws:eks:*:*:addon/zilliz-byoc-*/*/*",
    "arn:aws:eks:*:*:nodegroup/zilliz-byoc-*/zilliz*/*",
    "arn:aws:eks:*:*:podidentityassociation/zilliz-byoc-*/*",
    "arn:aws:eks::aws:access-entry/zilliz-byoc-*/*/*/*/*",
    "arn:aws:eks::aws:access-policy/zilliz-byoc-*/*"
    ],
    "Action" : [
    "eks:DeleteAccessEntry",
    "eks:DeleteAddon",
    "eks:DeleteCluster",
    "eks:DeleteFargateProfile",
    "eks:DeleteNodegroup",
    "eks:DeletePodIdentityAssociation"
    ]
    },
    {
    "Sid" : "S3CheckBucketLocation",
    "Effect" : "Allow",
    "Action" : [
    "s3:GetBucketLocation"
    ],
    "Resource" : "arn:aws:s3:::{bucketName}"
    }
    ]
    }

    OT5obistsoSodixuW5ncltJQnKe

  3. [レビューと作成]で、ポリシー名を入力し、権限を確認して、[ポリシーを作成]をクリックします。

    📘ノート

    ポリシーに名前を付けるときは、プレフィックスzilliz-byocを使用します。

    LGHebTzMzoHTV1xRxIlcpV7rntc