第2章 必要な Alibaba Cloud リソースの作成
OpenShift Container Platform をインストールする前に、Alibaba Cloud コンソールを使用して、OpenShift Container Platform を Alibaba Cloud にインストールするための十分な権限を持つ Resource Access Management (RAM) ユーザーを作成する必要があります。このユーザーには、新しい RAM ユーザーを作成するための権限も必要です。ccoctl
ツールを設定および使用して、OpenShift Container Platform コンポーネントに必要な権限を持つ新しいクレデンシャルを作成することもできます。
OpenShift Container Platform 上の Alibaba Cloud は、テクノロジープレビュー機能としてのみ利用できます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
2.1. 必要な RAM ユーザーの作成
インストールには、十分な権限を持つ Alibaba Cloud Resource Access Management (RAM) ユーザーが必要です。Alibaba Cloud Resource Access Management コンソールを使用して、新しいユーザーを作成したり、既存のユーザーを変更したりできます。後で、このユーザーの権限に基づいて、OpenShift Container Platform でクレデンシャルを作成します。
RAM ユーザーを設定するときは、次の要件を必ず考慮してください。
ユーザーは、Alibaba Cloud AccessKey ID と AccessKey シークレットのペアを持っている必要があります。
-
新規ユーザーの場合、ユーザーの作成時に Access Mode に
Open API Access
を選択できます。このモードでは、必要な AccessKey ペアが生成されます。 既存のユーザーの場合は、AccessKey ペアを追加するか、そのユーザーの AccessKey のペアを取得 できます。
注記作成されると、AccessKey シークレットは 1 回だけ表示されます。API 呼び出しには AccessKey ペアが必要であるため、AccessKey ペアをすぐに保存する必要があります。
-
新規ユーザーの場合、ユーザーの作成時に Access Mode に
AccessKey ID とシークレットをローカルコンピューターの
~/.alibabacloud/credentials
ファイル に追加します。コンソールにログインすると、Alibaba Cloud によってこのファイルが自動的に作成されます。Cloud Credential Operator (CCO) ユーティリティー (ccoutil) は、Credential Request
オブジェクトを処理するときにこれらの認証情報を使用します。以下に例を示します。
[default] # Default client type = access_key # Certification type: access_key access_key_id = LTAI5t8cefXKmt # Key 1 access_key_secret = wYx56mszAN4Uunfh # Secret
- 1
- ここに AccessKeyID と AccessKeySecret を追加します。
RAM ユーザーは、アカウントが OpenShift Container Platform クラスターを作成するための十分なパーミッションを持っていることを確認するために
AdministratorAccess
ポリシーを持っている必要があります。このポリシーは、すべての Alibaba Cloud リソースを管理するための権限を付与します。AdministratorAccess
ポリシーを RAM ユーザーにアタッチすると、そのユーザーにすべての Alibaba Cloud サービスとリソースへのフルアクセスが許可されます。フルアクセス権を持つユーザーを作成したくない場合は、インストールのために RAM ユーザーに追加できる次のアクションを使用してカスタムポリシーを作成します。これらのアクションは、OpenShift Container Platform をインストールするのに十分です。ヒント次の JSON コードをコピーして Alibaba Cloud コンソールに貼り付け、カスタムポリシーを作成できます。カスタムポリシー作成の詳細については、Alibaba Cloud のドキュメントの Create a custom policy を参照してください。
例2.1 カスタムポリシー JSON ファイルの例
{ "Version": "1", "Statement": [ { "Action": [ "tag:ListTagResources", "tag:UntagResources" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "vpc:DescribeVpcs", "vpc:DeleteVpc", "vpc:DescribeVSwitches", "vpc:DeleteVSwitch", "vpc:DescribeEipAddresses", "vpc:DescribeNatGateways", "vpc:ReleaseEipAddress", "vpc:DeleteNatGateway", "vpc:DescribeSnatTableEntries", "vpc:CreateSnatEntry", "vpc:AssociateEipAddress", "vpc:ListTagResources", "vpc:TagResources", "vpc:DescribeVSwitchAttributes", "vpc:CreateVSwitch", "vpc:CreateNatGateway", "vpc:DescribeRouteTableList", "vpc:CreateVpc", "vpc:AllocateEipAddress", "vpc:ListEnhanhcedNatGatewayAvailableZones" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ecs:ModifyInstanceAttribute", "ecs:DescribeSecurityGroups", "ecs:DeleteSecurityGroup", "ecs:DescribeSecurityGroupReferences", "ecs:DescribeSecurityGroupAttribute", "ecs:RevokeSecurityGroup", "ecs:DescribeInstances", "ecs:DeleteInstances", "ecs:DescribeNetworkInterfaces", "ecs:DescribeInstanceRamRole", "ecs:DescribeUserData", "ecs:DescribeDisks", "ecs:ListTagResources", "ecs:AuthorizeSecurityGroup", "ecs:RunInstances", "ecs:TagResources", "ecs:ModifySecurityGroupPolicy", "ecs:CreateSecurityGroup", "ecs:DescribeAvailableResource", "ecs:DescribeRegions", "ecs:AttachInstanceRamRole" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "pvtz:DescribeRegions", "pvtz:DescribeZones", "pvtz:DeleteZone", "pvtz:DeleteZoneRecord", "pvtz:BindZoneVpc", "pvtz:DescribeZoneRecords", "pvtz:AddZoneRecord", "pvtz:SetZoneRecordStatus", "pvtz:DescribeZoneInfo", "pvtz:DescribeSyncEcsHostTask", "pvtz:AddZone" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "slb:DescribeLoadBalancers", "slb:SetLoadBalancerDeleteProtection", "slb:DeleteLoadBalancer", "slb:SetLoadBalancerModificationProtection", "slb:DescribeLoadBalancerAttribute", "slb:AddBackendServers", "slb:DescribeLoadBalancerTCPListenerAttribute", "slb:SetLoadBalancerTCPListenerAttribute", "slb:StartLoadBalancerListener", "slb:CreateLoadBalancerTCPListener", "slb:ListTagResources", "slb:TagResources", "slb:CreateLoadBalancer" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ram:ListResourceGroups", "ram:DeleteResourceGroup", "ram:ListPolicyAttachments", "ram:DetachPolicy", "ram:GetResourceGroup", "ram:CreateResourceGroup", "ram:DeleteRole", "ram:GetPolicy", "ram:DeletePolicy", "ram:ListPoliciesForRole", "ram:CreateRole", "ram:AttachPolicyToRole", "ram:GetRole", "ram:CreatePolicy", "ram:CreateUser", "ram:DetachPolicyFromRole", "ram:CreatePolicyVersion", "ram:DetachPolicyFromUser", "ram:ListPoliciesForUser", "ram:AttachPolicyToUser", "ram:CreateUser", "ram:GetUser", "ram:DeleteUser", "ram:CreateAccessKey", "ram:ListAccessKeys", "ram:DeleteAccessKey", "ram:ListUsers", "ram:ListPolicyVersions" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "oss:DeleteBucket", "oss:DeleteBucketTagging", "oss:GetBucketTagging", "oss:GetBucketCors", "oss:GetBucketPolicy", "oss:GetBucketLifecycle", "oss:GetBucketReferer", "oss:GetBucketTransferAcceleration", "oss:GetBucketLog", "oss:GetBucketWebSite", "oss:GetBucketInfo", "oss:PutBucketTagging", "oss:PutBucket", "oss:OpenOssService", "oss:ListBuckets", "oss:GetService", "oss:PutBucketACL", "oss:GetBucketLogging", "oss:ListObjects", "oss:GetObject", "oss:PutObject", "oss:DeleteObject" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "alidns:DescribeDomainRecords", "alidns:DeleteDomainRecord", "alidns:DescribeDomains", "alidns:DescribeDomainRecordInfo", "alidns:AddDomainRecord", "alidns:SetDomainRecordStatus" ], "Resource": "*", "Effect": "Allow" }, { "Action": "bssapi:CreateInstance", "Resource": "*", "Effect": "Allow" }, { "Action": "ram:PassRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "acs:Service": "ecs.aliyuncs.com" } } } ] }
RAM ユーザーの作成と権限の付与の詳細については、Alibaba Cloud のドキュメントの Create a RAM user および Grant permissions to a RAM user を参照してください。