Peran terkait layanan AI Gateway adalah peran Resource Access Management (RAM) yang telah ditentukan sebelumnya dan dirancang untuk fitur-fitur tertentu. Topik ini menjelaskan kasus penggunaan peran terkait layanan AI Gateway serta cara mengelolanya.
Skenario penggunaan peran terkait layanan ini
AliyunServiceRoleForNativeApiGw: AI Gateway menggunakan peran terkait layanan yang dibuat secara otomatis ini untuk memperoleh izin akses ke sumber daya di layanan Alibaba Cloud lainnya, seperti Virtual Private Cloud (VPC), Container Service for Kubernetes (ACK), Function Compute (FC), Enterprise Distributed Application Service (EDAS), Microservices Engine (MSE), Server Load Balancer (SLB), Network Load Balancer (NLB), Elastic Compute Service (ECS), dan Application Real-Time Monitoring Service (ARMS).
AliyunServiceRoleForNativeApiGwInvokeFC: AI Gateway menggunakan peran terkait layanan yang dibuat secara otomatis ini untuk memanggil layanan FC dan mengaktifkan fitur gerbang.
AliyunServiceRoleForNativeApiGwInvokeKMS: Cloud-native API Gateway menggunakan peran terkait layanan yang dibuat secara otomatis
AliyunServiceRoleForNativeApiGwInvokeKMSuntuk memperoleh izin akses yang diperlukan guna memanggil Key Management Service (KMS).
Izin yang diperlukan untuk pengguna RAM menggunakan peran terkait layanan
Untuk mengizinkan Pengguna RAM membuat atau menghapus peran terkait layanan, Anda harus meminta administrator untuk memberikan izin administrator kepada Pengguna RAM tersebut (AliyunNativeApiGwFullAccess) atau menambahkan izin berikut ke dalam pernyataan Action pada kebijakan kustom:
Membuat peran terkait layanan:
ram:CreateServiceLinkedRoleMenghapus peran terkait layanan:
ram:DeleteServiceLinkedRole
Untuk informasi selengkapnya, lihat Izin yang diperlukan untuk membuat dan menghapus peran terkait layanan.
Izin
AliyunServiceRoleForNativeApiGw
Izin akses AliyunServiceRoleForNativeApiGw bervariasi berdasarkan layanan cloud.
VPC
{
"Effect": "Allow",
"Action": [
"vpc:AllocateEipAddress",
"vpc:AllocateEipAddressPro",
"vpc:DescribeEipAddresses",
"vpc:AssociateEipAddress",
"vpc:UnassociateEipAddress",
"vpc:ReleaseEipAddress",
"vpc:ModifyEipAddressAttribute",
"vpc:ModifyBypassToaAttribute",
"vpc:AddCommonBandwidthPackageIp",
"vpc:RemoveCommonBandwidthPackageIp",
"vpc:TagResources",
"vpc:DescribeVSwitches",
"vpc:DescribeVSwitchAttributes",
"vpc:DescribeVpcs",
"vpc:CreateVSwitch",
"vpc:DescribeVpcAttribute",
"vpc:DescribeVRouters",
"vpc:DescribeRouteTables",
"vpc:DescribeRouteEntryList"
],
"Resource": "*"
}Container Service for Kubernetes
{
"Effect": "Allow",
"Action": [
"cs:DescribeClusterDetail",
"cs:DescribeClusterInnerServiceKubeconfig",
"cs:RevokeClusterInnerServiceKubeconfig",
"cs:GetUserConfig",
"cs:DescribeClusterUserKubeconfig",
"cs:GetClusterById",
"cs:GetClustersByUid",
"cs:DescribeClustersV1",
"cs:ListClusters",
"cs:GetClusters",
"cs:DescribeClusterNodePools"
],
"Resource": "*"
}Function Compute (FC)
{
"Effect": "Allow",
"Action": [
"fc:ListAliases",
"fc:ListServices",
"fc:ListServiceVersions",
"fc:ListFunctions",
"fc:ListFunctionVersions",
"fc:ListTriggers"
],
"Resource": "*"
}EDAS
{
"Effect": "Allow",
"Action": [
"edas:ReadNamespace",
"edas:ReadService",
"edas:ListUserDefineRegion"
],
"Resource": "*"
}MSE
{
"Effect": "Allow",
"Action": [
"mse:ListAnsServices",
"mse:ListEngineNamespaces",
"mse:ListClusters",
"mse:QueryConfig"
],
"Resource": "*"
}SLB
{
"Effect": "Allow",
"Action": [
"slb:SetLoadBalancerName",
"slb:CreateLoadBalancer",
"slb:AddBackendServers",
"slb:SetBackendServers",
"slb:RemoveBackendServers",
"slb:CreateLoadBalancerTCPListener",
"slb:DescribeLoadBalancerTCPListenerAttribute",
"slb:SetLoadBalancerTCPListenerAttribute",
"slb:CreateLoadBalancerHTTPListener",
"slb:DescribeLoadBalancerHTTPListenerAttribute",
"slb:SetLoadBalancerHTTPListenerAttribute",
"slb:CreateLoadBalancerHTTPSListener",
"slb:DescribeLoadBalancerHTTPSListenerAttribute",
"slb:SetLoadBalancerHTTPSListenerAttribute",
"slb:StartLoadBalancerListener",
"slb:StopLoadBalancerListener",
"slb:DeleteLoadBalancerListener",
"slb:DescribeLoadBalancers",
"slb:DescribeLoadBalancerAttribute",
"slb:DescribeHealthStatus",
"slb:CreateLoadBalancerForCloudService",
"slb:DeleteLoadBalancer",
"slb:ModifyLoadBalancerInternetSpec",
"slb:RemoveTags",
"slb:AddTags",
"slb:SetLoadBalancerUDPListenerAttribute",
"slb:CreateLoadBalancerUDPListener",
"slb:CreateVServerGroup",
"slb:DeleteVServerGroup",
"slb:SetVServerGroupAttribute",
"slb:ModifyVServerGroupBackendServers",
"slb:AddVServerGroupBackendServers",
"slb:ModifyLoadBalancerInstanceSpec",
"slb:ModifyLoadBalancerInternetSpec",
"slb:RemoveVServerGroupBackendServers",
"slb:SetLoadBalancerModificationProtection",
"slb:SetLoadBalancerDeleteProtection",
"slb:DescribeLoadBalancerUDPListenerAttribute ",
"slb:DescribeTags",
"slb:DescribeVServerGroups",
"slb:DescribeVServerGroupAttribute",
"slb:DescribeLoadBalancerListeners",
"slb:ListTagResources",
"slb:TagResources",
"slb:UntagResources"
],
"Resource": "*"
}NLB
{
"Effect": "Allow",
"Action": [
"nlb:TagResources",
"nlb:UnTagResources",
"nlb:ListTagResources",
"nlb:CreateLoadBalancer",
"nlb:DeleteLoadBalancer",
"nlb:GetLoadBalancerAttribute",
"nlb:ListLoadBalancers",
"nlb:UpdateLoadBalancerAttribute",
"nlb:UpdateLoadBalancerAddressTypeConfig",
"nlb:UpdateLoadBalancerZones",
"nlb:CreateListener",
"nlb:DeleteListener",
"nlb:ListListeners",
"nlb:UpdateListenerAttribute",
"nlb:StopListener",
"nlb:StartListener",
"nlb:GetListenerAttribute",
"nlb:GetListenerHealthStatus",
"nlb:CreateServerGroup",
"nlb:DeleteServerGroup",
"nlb:UpdateServerGroupAttribute",
"nlb:AddServersToServerGroup",
"nlb:RemoveServersFromServerGroup",
"nlb:UpdateServerGroupServersAttribute",
"nlb:ListServerGroups",
"nlb:ListServerGroupServers",
"nlb:LoadBalancerLeaveSecurityGroup",
"nlb:LoadBalancerJoinSecurityGroup",
"nlb:GetJobStatus",
"nlb:UpdateLoadBalancerProtection"
],
"Resource": "*"
}ECS
{
"Effect": "Allow",
"Action": [
"ecs:CreateSecurityGroup",
"ecs:AuthorizeSecurityGroup",
"ecs:AuthorizeSecurityGroupEgress",
"ecs:RevokeSecurityGroup",
"ecs:RevokeSecurityGroupEgress",
"ecs:DeleteSecurityGroup",
"ecs:JoinSecurityGroup",
"ecs:LeaveSecurityGroup",
"ecs:DescribeSecurityGroups",
"ecs:DescribeInstances",
"ecs:CreateNetworkInterface",
"ecs:DeleteNetworkInterface",
"ecs:DescribeNetworkInterfaces",
"ecs:CreateNetworkInterfacePermission",
"ecs:DescribeNetworkInterfacePermissions",
"ecs:DeleteNetworkInterfacePermission",
"ecs:DescribeSecurityGroupAttribute",
"ecs:AddTags",
"ecs:DescribeEipAddresses",
"ecs:DescribeNetworkInterfaceAttribute",
"ecs:ModifyNetworkInterfaceAttribute",
"ecs:AssignPrivateIpAddresses",
"ecs:UnassignPrivateIpAddresses",
"ecs:AssignIpv6Addresses",
"ecs:UnassignIpv6Addresses",
"ecs:AttachNetworkInterface",
"ecs:DetachNetworkInterface",
"ecs:ListTagResources"
],
"Resource": "*"
}ARMS
{
"Effect": "Allow",
"Action": [
"arms:OpenArmsService",
"arms:GetAlertRules",
"arms:ReportCustomIncidents",
"arms:AddPrometheusInstance",
"arms:GetAuthToken",
"arms:GetClusterAllUrl",
"arms:OpenArmsServiceSecondVersion",
"arms:CheckServiceStatus",
"arms:OpenVCluster",
"arms:GetPrometheusApiToken",
"arms:ListDashboards",
"arms:GetExploreUrl",
"arms:CreateDefaultCloudProductPrometheusAlertRule",
"arms:ListNotificationPolicies",
"arms:ListDispatchRule",
"arms:CreateDispatchRule",
"arms:CreateOrUpdateNotificationPolicy",
"arms:DescribeContactGroups",
"arms:SearchContactGroup",
"arms:CreatePrometheusAlertRule"
],
"Resource": "*"
}AliyunServiceRoleForNativeApiGwInvokeFC
AliyunServiceRoleForNativeApiGwInvokeFC memiliki izin akses berikut:
{
"Effect": "Allow",
"Action": "fc:InvokeFunction",
"Resource": "*"
}AliyunServiceRoleForNativeApiGwInvokeKMS
Peran terkait layanan AliyunServiceRoleForNativeApiGwInvokeKMS memiliki izin akses berikut:
{
"Effect": "Allow",
"Action": [
"kms:ListKmsInstances",
"kms:ListKeys",
"kms:GenerateDataKey",
"kms:Decrypt",
"kms:CreateSecret",
"kms:DeleteSecret",
"kms:UpdateSecret",
"kms:DescribeSecret",
"kms:GetSecretValue",
"kms:PutSecretValue",
"kms:TagResource",
"kms:UntagResource"
],
"Resource": "*"
}Lihat peran terkait layanan
Setelah peran terkait layanan dibuat, Anda dapat mencari nama peran (AliyunServiceRoleForNativeApiGw atau AliyunServiceRoleForNativeApiGwInvokeFC) di halaman Roles di Konsol RAM untuk melihat informasi berikut tentang peran terkait layanan:
Informasi dasar
Di bagian Basic Information halaman detail peran AliyunServiceRoleForNativeApiGw atau AliyunServiceRoleForNativeApiGwInvokeFC, lihat informasi dasar peran, termasuk nama peran, waktu pembuatan, ARN peran, dan catatan.
Kebijakan izin
Di tab Permissions halaman detail peran AliyunServiceRoleForNativeApiGw atau AliyunServiceRoleForNativeApiGwInvokeFC, klik nama kebijakan izin untuk melihat isi kebijakan dan sumber daya cloud yang dapat diakses oleh peran tersebut.
Kebijakan kepercayaan
Di tab Trust Policy Management pada halaman detail peran AliyunServiceRoleForNativeApiGw atau AliyunServiceRoleForNativeApiGwInvokeFC, Anda dapat melihat dokumen kebijakan kepercayaan. Kebijakan kepercayaan mendefinisikan entitas tepercaya untuk peran RAM. Entitas tepercaya adalah identitas yang dapat mengasumsikan peran RAM tersebut. Entitas tepercaya dari peran terkait layanan adalah layanan Alibaba Cloud, yang dapat Anda temukan di bidang
Layanandalam kebijakan kepercayaan.
Untuk informasi lebih lanjut tentang cara melihat peran terkait layanan, lihat Lihat informasi tentang peran RAM.
Hapus peran terkait layanan
Jika Anda tidak lagi menggunakan AI Gateway, Anda dapat menghapus peran terkait layanan tersebut secara manual di Konsol RAM.
Masuk ke Konsol RAM. Di panel navigasi sebelah kiri, pilih .
Di halaman Roles, masukkan nama peran yang akan dihapus di kotak pencarian. Misalnya, masukkan
AliyunServiceRoleForNativeApiGw.Dalam hasil pencarian, temukan peran tersebut lalu klik Delete Role di kolom Actions.
Untuk mengonfirmasi penghapusan, masukkan nama peran di kotak dialog yang muncul lalu klik Delete Role.
Setelah Anda menghapus peran terkait layanan AI Gateway, fitur-fitur yang bergantung pada peran tersebut tidak akan berfungsi sebagaimana mestinya. Hapus peran tersebut dengan hati-hati.
Tanya Jawab Umum
Mengapa pengguna RAM saya gagal membuat peran terkait layanan AI Gateway (AliyunServiceRoleForNativeApiGw) secara otomatis?
Pengguna RAM Anda tidak memiliki izin yang diperlukan untuk membuat dan menghapus AliyunServiceRoleForNativeApiGw secara otomatis. Oleh karena itu, ketika pengguna RAM tidak dapat membuat AliyunServiceRoleForNativeApiGw secara otomatis, Anda harus melampirkan kebijakan izin berikut ke pengguna tersebut:
{
"Statement": [
{
"Action": [
"ram:CreateServiceLinkedRole"
],
"Resource": "acs:ram:*:Alibaba Cloud account ID:role/*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": [
"nativeapigw.aliyuncs.com"
]
}
}
}
],
"Version": "1"
}Ganti Alibaba Cloud account ID dengan ID akun Alibaba Cloud Anda.
Mengapa pengguna RAM saya gagal membuat peran terkait layanan AI Gateway (AliyunServiceRoleForNativeApiGwInvokeFC) secara otomatis?
Pengguna RAM Anda tidak memiliki izin yang diperlukan untuk membuat dan menghapus AliyunServiceRoleForNativeApiGwInvokeFC secara otomatis. Oleh karena itu, ketika pengguna RAM tidak dapat membuat AliyunServiceRoleForNativeApiGwInvokeFC secara otomatis, Anda harus melampirkan kebijakan izin berikut ke pengguna tersebut:
{
"Statement": [
{
"Action": [
"ram:CreateServiceLinkedRole"
],
"Resource": "acs:ram:*:Alibaba Cloud account ID:role/*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": [
"invokefc.nativeapigw.aliyuncs.com"
]
}
}
}
],
"Version": "1"
}Ganti Alibaba Cloud account ID dengan ID akun Alibaba Cloud Anda.
Referensi
Untuk informasi lebih lanjut tentang peran terkait layanan, lihat Peran terkait layanan.