Cloud Assistantコマンドは、RAMロールを使用するか、RAMユーザーとして、特定のタグを持つElastic Compute Service (ECS) インスタンスでのみ実行できます。 特定のタグが追加されていないECSインスタンスでコマンドを実行すると、コマンドの実行に失敗します。 このトピックでは、RAMユーザーとして特定のタグを持つECSインスタンスでCloud Assistantコマンドを実行する方法について説明します。 このトピックでは、使用できるカスタムポリシーの例と、一般的な問題および問題に対する解決策についても説明します。
手順
Alibaba Cloudアカウントまたは管理権限を持つRAMユーザーを使用してRAMユーザーを作成します。
詳細については、「RAM ユーザーの作成」をご参照ください。
Alibaba Cloudアカウントまたは管理権限を持つRAMユーザーを使用して、カスタムポリシーを作成します。
このトピックでは、カスタムポリシーの作成方法を示す次の例を示します。
詳細については、「カスタムポリシーの作成」をご参照ください。
Alibaba Cloudアカウントまたは管理権限を持つRAMユーザーを使用して、作成したRAMユーザーにカスタムポリシーをアタッチします。
詳細については、「RAMユーザーへの権限の付与」をご参照ください。
RAMユーザーとしてECSコンソールにログインして、Cloud Assistantページに移動して、カスタムポリシーで定義されている権限がRAMユーザーに付与されているかどうかをテストします。
user:alice
タグが追加されていないECSインスタンスでコマンドを実行すると、コマンドの実行に失敗します。user:alice
タグが追加されたECSインスタンスでコマンドを実行すると、コマンドは正常に実行されます。
RAMユーザーとしてAlibaba Cloud管理コンソールにログインする方法については、「Alibaba Cloud管理コンソールにRAMユーザーとしてログインする」をご参照ください。
ポリシー1: RAMユーザーが特定のタグを持つECSインスタンスにのみコマンドを実行し、ファイルを転送できるようにする
このポリシーを使用すると、RAMユーザーはCloud Assistantコマンドを実行し、user:alice
タグが追加されたECSインスタンスにのみファイルを転送できます。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:InvokeCommand",
"ecs:RunCommand",
"ecs:StopInvocation",
"ecs:SendFile"
],
"Resource": "acs:ecs:*:*:instance/*",
"Condition": {
"StringEquals": {
"acs:ResourceTag/user": "alice"
}
}
},
{
"Effect": "Allow",
"Action": [
"ecs:InvokeCommand",
"ecs:RunCommand",
"ecs:StopInvocation",
"ecs:SendFile"
],
"Resource": "acs:ecs:*:*:command/*"
}
]
}
ポリシー2: RAMユーザーがECSインスタンスに追加されたタグを照会し、ECSインスタンスを照会し、Cloud Assistantコマンドを管理できるようにする
このポリシーでは、RAMユーザーは、ECSインスタンスに追加されたタグの照会、ECSインスタンスの照会、およびCloud Assistantコマンドの管理のみを許可します。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:DescribeTag*",
"ecs:DescribeInstance*",
"ecs:DescribeCommands",
"ecs:CreateCommand",
"ecs:DeleteCommand",
"ecs:ModifyCommand",
"ecs:DescribeInvocationResults",
"ecs:DescribeSendFileResults",
"ecs:DescribeInstances",
"ecs:DescribeCloudAssistantStatus",
"ecs:DescribeInvocations",
"ecs:DescribeResourceByTags",
"ecs:DescribeTagKeys",
"ecs:DescribeTags",
"ecs:ListTagResources",
"ecs:DescribeManagedInstances"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "oos:ListSecretParameters",
"Resource": "*"
}
]
}
一般的な問題と問題の解決策
カスタムポリシーが有効にならない場合は、次の権限のeffect要素がAllowに設定されているかどうかを確認する必要があります。
["ecs:InvokeCommand" 、"ecs:RunCommand" 、"ecs:StopInvocation" 、"ecs:SendFile"]
。
これらの権限のEffect要素が [許可] に設定されている場合、カスタムポリシーからこれらの権限を削除する必要があります。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:InvokeCommand",
"ecs:RunCommand",
"ecs:StopInvocation",
"ecs:SendFile"
],
"Resource": "*"
}
]
}