文件存儲CPFS服務關聯角色
為了完成CPFS文件系統的某個功能,文件存儲將自動創建CPFS服務關聯角色,以獲取訪問云服務器ECS、專有網絡VPC等云服務的權限。
背景信息
服務關聯角色是一種可信實體為阿里云服務的RAM角色。文件存儲CPFS使用服務關聯角色獲取其他云服務或云資源的訪問權限。
通常情況下,服務關聯角色是在您執行某項操作時,由系統自動創建。在自動創建服務關聯角色失敗或文件存儲CPFS不支持自動創建時,您需要手動創建服務關聯角色。
阿里云訪問控制為每個服務關聯角色提供了一個系統權限策略,該策略不支持修改。如果您想了解該系統策略的具體內容,可前往指定服務關聯角色的詳情頁面查看。
關于服務關聯角色的更多信息,請參見服務關聯角色。
應用場景
CPFS服務關聯角色的應用場景如下:
AliyunServiceRoleForNasCpfsNetwork
CPFS文件系統在創建或刪除彈性網卡、安全組時,需要通過AliyunServiceRoleForNasCpfsNetwork角色訪問您的專有網絡VPC服務與云服務器ECS服務。
AliyunServiceRoleForNasCpfsClient
CPFS文件系統在創建或刪除ECS、云助手、授權信息及安全組時,需要通過AliyunServiceRoleForNasCpfsClient角色訪問您的專有網絡VPC服務與云服務器ECS服務。
AliyunServiceRoleForNasOssDataFlow
使用CPFS文件系統數據流動服務時,需要通過AliyunServiceRoleForNasOssDataFlow角色查詢和讀寫對象存儲OSS中指定Bucket的數據。
AliyunServiceRoleForNasEventNotification
使用CPFS文件系統數據流動服務時,需要通過AliyunServiceRoleForNasEventNotification角色創建和修改EventBridge相關參數。
更多服務關聯角色的信息,請參見服務關聯角色。
權限說明
CPFS服務關聯角色的權限內容如下:
{
"Version": "1",
"Statement": [{
"Action": [
"vpc:DescribeVSwitchAttributes",
"vpc:DescribeVpcs",
"vpc:DescribeVSwitches"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ecs:CreateSecurityGroup",
"ecs:DescribeSecurityGroups",
"ecs:CreateNetworkInterface",
"ecs:DeleteNetworkInterface",
"ecs:DescribeNetworkInterfaces",
"ecs:CreateNetworkInterfacePermission",
"ecs:DescribeNetworkInterfacePermissions",
"ecs:DeleteNetworkInterfacePermission"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": [
"ecs:DescribeSecurityGroupAttribute",
"ecs:DeleteSecurityGroup",
"ecs:AuthorizeSecurityGroup",
"ecs:AuthorizeSecurityGroupEgress",
"ecs:RevokeSecurityGroup",
"ecs:RevokeSecurityGroupEgress"
],
"Resource": "acs:ecs:*:*:*/*",
"Condition": {
"StringEqualsIgnoreCase": {
"ecs:tag/nas:cpfs": "true"
}
}
},
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "cpfs-network.nas.aliyuncs.com"
}
}
}
]
}
{
"Version": "1",
"Statement": [
{
"Action": [
"vpc:DescribeVSwitchAttributes",
"vpc:DescribeVpcs",
"vpc:DescribeVSwitches"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ecs:RunInstances",
"ecs:CreateInstance",
"ecs:DescribeInstances",
"ecs:CreateSecurityGroup",
"ecs:DescribeSecurityGroups",
"ecs:InstallCloudAssistant",
"ecs:DescribeInvocations"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": [
"ecs:StartInstances",
"ecs:DeleteInstances",
"ecs:RunCommand",
"ecs:DescribeSecurityGroupAttribute",
"ecs:DeleteSecurityGroup",
"ecs:AuthorizeSecurityGroup",
"ecs:AuthorizeSecurityGroupEgress",
"ecs:RevokeSecurityGroup",
"ecs:RevokeSecurityGroupEgress"
],
"Resource": "acs:ecs:*:*:*/*",
"Condition": {
"StringEqualsIgnoreCase": {
"ecs:tag/nas:cpfs": "true"
}
}
},
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "cpfs-client.nas.aliyuncs.com"
}
}
}
]
}
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListBuckets",
"oss:GetBucketTagging"
],
"Resource": [
"acs:oss:*:*:*"
]
},
{
"Effect": "Allow",
"Action": [
"oss:HeadBucket",
"oss:GetBucketLocation",
"oss:GetBucketInventory",
"oss:GetBucketInfo",
"oss:GetBucketVersion",
"oss:GetBucketAcl",
"oss:GetBucketStat",
"oss:GetBucket",
"oss:ListObjects",
"oss:GetObject",
"oss:PutObject",
"oss:CopyObject",
"oss:AppendObject",
"oss:DeleteObject",
"oss:GetObjectMeta",
"oss:PutObjectACL",
"oss:GetObjectACL",
"oss:PutObjectTagging",
"oss:GetObjectTagging",
"oss:InitiateMultipartUpload",
"oss:CompleteMultipartUpload",
"oss:AbortMultipartUpload",
"oss:ListMultipartUploads",
"oss:UploadPart",
"oss:UploadPartCopy",
"oss:ListParts"
],
"Resource": [
"acs:oss:*:*:*",
"acs:oss:*:*:*/*"
],
"Condition": {
"StringEqualsIgnoreCase": {
"oss:tag/cpfs-dataflow": "true"
}
}
},
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "oss-dataflow.nas.aliyuncs.com"
}
}
}
],
"Version": "1"
}
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"eventbridge:GetEventBus",
"eventbridge:CreateRule"
],
"Resource": [
"acs:eventbridge:*:*:*"
]
},
{
"Effect": "Allow",
"Action": [
"eventbridge:GetRule",
"eventbridge:ListRules",
"eventbridge:UpdateRule",
"eventbridge:EnableRule",
"eventbridge:DisableRule",
"eventbridge:DeleteRule",
"eventbridge:CreateTargets",
"eventbridge:UpdateTargets",
"eventbridge:DeleteTargets"
],
"Resource": [
"acs:eventbridge:*:*:*"
]
},
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "event-notification.nas.aliyuncs.com"
}
}
}
],
"Version": "1"
}
RAM用戶使用服務關聯角色需要的權限
如果使用RAM用戶創建或刪除服務關聯角色,必須聯系管理員為該RAM用戶授予管理員權限(AliyunNASFullAccess)或在自定義權限策略的Action
語句中為RAM用戶添加以下權限:
創建服務關聯角色:
ram:CreateServiceLinkedRole
刪除服務關聯角色:
ram:DeleteServiceLinkedRole
關于授權的詳細操作,請參見創建和刪除服務關聯角色所需的權限。
查看服務關聯角色
當服務關聯角色創建成功后,您可以在RAM控制臺的角色頁面,通過搜索服務關聯角色名稱(例如,AliyunServiceRoleForNasStandard)查看該服務關聯角色的以下信息:
基本信息
在AliyunServiceRoleForNasStandard角色詳情頁面的基本信息區域,查看角色基本信息,包括角色名稱、創建時間、角色ARN和備注等。
權限策略
在AliyunServiceRoleForNasStandard角色詳情頁面的權限管理頁簽,單擊權限策略名稱,查看權限策略內容以及該角色可授權訪問哪些云資源。
信任策略
在AliyunServiceRoleForNasStandard角色詳情頁的信任策略頁簽,查看信任策略內容。信任策略是描述RAM角色可信實體的策略,可信實體是指可以扮演RAM角色的實體用戶身份。服務關聯角色的可信實體為云服務,您可以通過信任策略中的
Service
字段查看。
關于如何查看服務關聯角色的詳細操作,請參見查看RAM角色。
刪除CPFS服務關聯角色
如果您暫時不需要使用CPFS服務關聯角色,例如不再使用CPFS文件系統的數據流動功能時,可以刪除CPFS服務關聯角色。刪除時,請先刪除該角色關聯的CPFS文件系統實例。具體操作,請參見刪除文件系統和刪除服務關聯角色。
常見問題
為什么RAM用戶無法自動創建CPFS服務關聯角色?
RAM用戶需要擁有指定的權限,才能自動創建或刪除CPFS服務關聯角色。因此,在RAM用戶無法自動創建CPFS服務關聯角色時,您需要為其添加以下系統策略和自定義策略。具體操作,請參見創建自定義權限策略。
系統策略
AliyunVPCFullAccess:管理專有網絡VPC的權限。
AliyunBSSFullAccess:管理費用中心BSS的權限。
AliyunNASFullAccess:管理文件存儲NAS的權限。
AliyunECSNetworkInterfaceManagementAccess:管理ECS彈性網卡的權限。
自定義策略
管理掛載點,需要
cpfs-network.nas.aliyuncs.com
和cpfs-client.nas.aliyuncs.com
權限。管理數據流動,需要
oss-dataflow.nas.aliyuncs.com
和event-notification.nas.aliyuncs.com
權限。
示例如下:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringEquals": { "ram:ServiceName": [ "cpfs-network.nas.aliyuncs.com", "cpfs-client.nas.aliyuncs.com", "oss-dataflow.nas.aliyuncs.com", "event-notification.nas.aliyuncs.com" ] } } } ] }