Alibaba Cloudは、Function Computeの権限を管理するためのRAM (Resource Access Management) を提供しています。 RAMを使用する場合、Alibaba CloudアカウントのAccessKeyペアを他のユーザーと共有する必要はありません。 代わりに、最低限必要な権限のみを付与できます。 AccessKeyペアには、AccessKey IDとAccessKeyシークレットが含まれます。 このトピックでは、システムポリシーやカスタムポリシーなど、Function Computeのポリシーについて説明します。 このトピックでは、サンプルのカスタムポリシーも提供します。
ポリシーの種類
システムポリシー
初めてRAMユーザーとしてにログインする前に、Alibaba Cloudアカウントを使用して、Function Computeにアクセスするためのシステムポリシーと他のAlibaba CloudサービスにアクセスするためのシステムポリシーをRAMユーザーにアタッチする必要があります。 RAMユーザーとしてFunction Computeを含むAlibaba Cloudサービスにアクセスできるのは、システムポリシーがRAMユーザーにアタッチされた場合のみです。
- Function Computeのシステムポリシー
Policy 説明 AliyunFCReadOnlyAccess すべてのFunction Computeリソースに対する読み取り専用権限。 AliyunFCInvocationAccess すべての関数を呼び出す権限。 AliyunFCFullAccess すべてのFunction Computeリソースを管理する権限。 注 AliyunFCFullAccessポリシーで定義されたすべてのFunction Computeリソースを管理する権限には、AliyunFCInvocationAccessポリシーで定義されたすべての関数を呼び出す権限と、AliyunFCReadOnlyAccessポリシーで定義されたすべてのFunction Computeリソースに対する読み取り専用権限が含まれます。 AliyunFCFullAccessポリシーをRAMユーザーにアタッチした後、AliyunFCInvocationAccessまたはAliyunFCReadOnlyAccessポリシーをRAMユーザーにアタッチする必要はありません。 - 他のAlibaba Cloudサービスのシステムポリシー
Alibaba Cloud サービス システムポリシー Log Service - AliyunLogReadOnlyAccess: すべてのLog Serviceリソースに対する読み取り専用権限。
- AliyunLogFullAccess: すべてのLog Serviceリソースを管理するための権限。
注 RAMユーザーとしてLog Serviceにアクセスするには、最小権限の原則に基づいて、AliyunLogReadOnlyAccessポリシーのみをRAMユーザーにアタッチする必要があります。Object Storage Service (OSS) - AliyunOSSReadOnlyAccess: すべてのOSSリソースに対する読み取り専用権限。
- AliyunOSSFullAccess: すべてのOSSリソースを管理するための権限。
CloudMonitor AliyunCloudMonitorReadOnlyAccess: すべてのCloudMonitorリソースに対する読み取り専用権限。 SSL Certificates Service AliyunYundunCertReadOnlyAccess: すべてのSSL証明書サービスリソースに対する読み取り専用権限。 Virtual Private Cloud (VPC) AliyunVPCReadOnlyAccess: すべてのVPCリソースに対する読み取り専用権限。 Elastic Compute Service (ECS) AliyunECSReadOnlyAccess: すべてのECSリソースに対する読み取り専用権限。 RAM - AliyunRAMReadOnlyAccess: ユーザー、グループ、および権限情報を表示する権限を含む、すべてのRAMリソースに対する読み取り専用権限。
- AliyunRAMFullAccess: すべてのRAMリソースを管理するための権限 (ユーザーの管理と権限付与の権限を含む) 。
注 RAMユーザーにAliyunRAMReadOnlyAccessポリシーのみをアタッチする場合、RAMユーザーとしてコンソールで取得できるのはロールのリストのみです。 RAMユーザーとして他の操作を実行する必要がある場合は、AliyunRAMFullAccessポリシーをRAMユーザーにアタッチする必要があります。アプリケーションリアルタイム監視サービス (ARMS) - AliyunARMSReadOnlyAccess: すべてのARMSリソースに対する読み取り専用権限。
- AliyunARMSFullAccess: すべてのARMSリソースを管理するための権限。
注 RAMユーザーとしてARMSにアクセスするには、最小権限の原則に基づいて、AliyunARMSReadOnlyAccessポリシーのみをRAMユーザーにアタッチする必要があります。Message Service (MNS) - AliyunMNSReadOnlyAccess: すべてのMNSリソースに対する読み取り専用権限。
- AliyunMNSFullAccess: すべてのMNSリソースを管理するための権限。
注 RAMユーザーとしてMNSにアクセスするには、最小権限の原則に基づいて、AliyunMNSReadOnlyAccessポリシーのみをRAMユーザーにアタッチする必要があります。EventBridge - AliyunEventBridgeReadOnlyAccess: すべてのEventBridgeリソースに対する読み取り専用権限。
- AliyunEventBridgeFullAccess: すべてのEventBridgeリソースを管理するための権限。
注 RAMユーザーとしてEventBridgeにアクセスするには、最小権限の原則に基づいて、AliyunEventBridgeReadOnlyAccessポリシーのみをRAMユーザーにアタッチする必要があります。Message Queue for Apache RocketMQ - AliyunMQReadOnlyAccess: Apache RocketMQリソースのすべてのMessage Queueに対する読み取り専用権限。
- AliyunMQFullAccess: Apache RocketMQリソースのすべてのMessage Queueを管理するための権限。
注 RAMユーザーとしてApache RocketMQのMessage Queueにアクセスするには、最小権限の原則に基づいて、AliyunMQReadOnlyAccessポリシーのみをRAMユーザーにアタッチする必要があります。Container Registry - AliyunContainerRegistryReadOnlyAccess: すべてのContainer Registryリソースに対する読み取り専用権限。
- AliyunContainerRegistryFullAccess: すべてのContainer Registryリソースを管理するための権限。
注 RAMユーザーとしてContainer Registryにアクセスするには、最小権限の原則に基づいて、AliyunContainerRegistryReadOnlyAccessポリシーのみをRAMユーザーにアタッチする必要があります。Apsara File Storage NAS - AliyunNASReadOnlyAccess: すべてのNASリソースに対する読み取り専用権限。
- AliyunNASFullAccess: すべてのNASリソースを管理するための権限。
注 RAMユーザーとしてNASにアクセスするには、最小権限の原則に基づいて、AliyunNASReadOnlyAccessポリシーのみをRAMユーザーにアタッチする必要があります。ApsaraDB RDS - AliyunRDSReadOnlyAccess: すべてのApsaraDB RDSリソースに対する読み取り専用権限。
- AliyunRDSFullAccess: すべてのApsaraDB RDSリソースを管理するための権限。
注 RAMユーザーとしてApsaraDB RDSにアクセスするには、最小権限の原則に基づいて、AliyunRDSReadOnlyAccessポリシーのみをRAMユーザーにアタッチする必要があります。Apsara Devops AliyunRDCDevStudioRole: Apsara Devopsアカウントを作成し、Apsara Devops組織ワークスペースを初期化するための権限。
{
"Statement": [
{
"Action": [
"ram:PassRole"
],
"Effect": "Allow",
"Resource": "*"
}
],
"Version": "1"
}
カスタムポリシー
Function Computeは、システムポリシーに加えて、RAMユーザーにきめ細かい権限を付与できるカスタムポリシーをサポートしています。 ポリシーの要素の詳細については、「ポリシー要素」をご参照ください。
リソース | 操作 | 説明 |
---|---|---|
acs:fc:<region >:< account-id>:services/<serviceName> | fc:GetService | 指定されたサービス。 |
fc:UpdateService | ||
fc:DeleteService | ||
acs:fc:<region >:< account-id>:services/* | fc:CreateService | すべてのサービス。 |
fc:ListServices | ||
acs:fc:<region >:< account-id>:services/<serviceName> 。<qualifier> | fc:GetService | 指定されたバージョンのサービス。 |
acs:fc:<region >:< account-id>:services/<serviceName>/functions/<functionName> | fc:GetFunction | 指定されたサービスで指定された関数。 |
fc:UpdateFunction | ||
fc:DeleteFunction | ||
fc:InvokeFunction | ||
acs:fc:<region >:< account-id>:services/<serviceName>/functions/* | fc:CreateFunction | 指定されたサービスのすべての関数。 |
fc:ListFunctions | ||
acs:fc:<region >:< account-id>:services/<serviceName>.*/functions/<functionName> | fc:GetFunction | 指定されたサービスのすべてのバージョンのすべての関数。 |
fc:UpdateFunction | ||
fc:DeleteFunction | ||
fc:InvokeFunction | ||
fc:PutProvisionConfig | ||
fc:GetProvisionConfig | ||
fc:PutFunctionOnDemandConfig | ||
fc:DeleteFunctionOnDemandConfig | ||
fc:PutFunctionAsyncInvokeConfig | ||
fc:DeleteFunctionAsyncInvokeConfig | ||
fc:GetFunctionAsyncInvokeConfig | ||
fc:GetFunctionOnDemandConfig | ||
acs:fc:<region >:< account-id>:services/<serviceName>/functions/<functionName>/triggers/<triggerName> | fc:GetTrigger | 指定されたサービス内の指定された関数の指定されたトリガー。 |
fc:UpdateTrigger | ||
fc:DeleteTrigger | ||
acs:fc:<region >:< account-id>:services/<serviceName>/functions/<functionName>/triggers/* | fc:CreateTrigger | 指定されたサービス内の指定された関数のすべてのトリガー。 |
fc:ListTriggers | ||
acs:fc:<region >:< account-id>:services/<serviceName>/versions | fc:PublishServiceVersion | すべてのサービスバージョン。 |
fc:ListServiceVersions | ||
acs:fc:<region >:< account-id>:services/<serviceName>/versions/<versionID> | fc:DeleteServiceVersion | 指定されたサービスバージョン。 |
acs:fc:<region >:< account-id>:services/<serviceName>/aliases/* | fc:CreateAlias | すべてのサービスのエイリアス。 |
fc:ListAliases | ||
acs:fc:<region >:< account-id>:services/<serviceName>/aliases/<aliasName> | fc:GetAlias | 指定されたサービスエイリアス。 |
fc:UpdateAlias | ||
fc:DeleteAlias | ||
acs:fc:<region >:< account-id>:custom-domains/* | fc:CreateCustomDomain | すべてのカスタムドメイン名。 |
fc:ListCustomDomains | ||
acs:fc:<region >:< account-id>: カスタムドメイン /<domainName> | fc:GetCustomDomain | 指定されたカスタムドメイン名。 |
fc:UpdateCustomDomain | ||
fc:DeleteCustomDomain | ||
acs:fc:<region >:< account-id>:tag | fc:TagResource | 単一のタグ。 |
fc:GetResourceTags | ||
fc:UnTagResource | ||
acs:fc:<region >:< account-id>:tags/* | fc:ListTaggedResources | すべてのタグ。 |
acs:fc:<region >:< account-id>:account-settings/* | fc:GetAccountSettings | アカウントの設定。 |
acs:fc:<region >:< account-id>:layerarn/:arn | fc:GetLayerVersionByArn | すべてのレイヤー。 |
acs:fc:<region >:< account-id>:layers/* | fc:ListLayers | |
acs:fc:<region >:< account-id>:layers/:layerName/versions/:version | fc:PublishLayerAsPublic | |
acs:fc:<region >:< account-id>:layers/:layerName/versions/* | fc:ListLayerVersions | すべてのレイヤーバージョン。 |
fc:CreateLayerVersion | ||
acs:fc:<region >:< account-id>:layers/:layerName/versions/:version | fc:GetLayerVersion | |
fc:DeleteLayerVersion | ||
acs:fc:<region >:< account-id>:on-demand-configs/* | fc:ListOnDemandConfigs | オンデマンド設定。 |
acs:fc:<region >:< account-id>:provision-configs/* | fc:ListProvisionConfigs | プロビジョニングされた設定。 |
acs:fc:<region >:< account-id>:services/:serviceName/binding | fc:DeleteVpcBinding | VPC設定。 |
acs:fc:<region >:< account-id>:services/:serviceName/binding/* | fc:CreateVpcBinding | |
fc:ListVpcBindings | ||
acs:fc:<region >:< account-id>:services/:serviceName/functions/:functionName/async-invoke-configs/* | fc:ListFunctionAsyncInvokeConfigs | 非同期呼び出し設定。 |
acs:fc:<region >:< account-id>:services/:serviceName/functions/:functionName/code | fc:GetFunctionCode | すべての関数コード。 |
acs:fc:<region >:< account-id>:services/:serviceName/functions/:functionName/stateful-async-invocations/* | fc:ListStatefulAsyncInvocations | ステートフル非同期呼び出し。 |
acs:fc:<region >:< account-id>:services/:serviceName/functions/:functionName/stateful-async-invocations/:invocationId | fc:GetStatefulAsyncInvocation | |
fc:StopStatefulAsyncInvocation |
{
"Version": "1",
"Statement": [
{
"Action": [
"fc:InvokeFunction"
],
"Resource": "acs:fc:cn-hangzhou:*:services/test/functions/demo" 、
"Effect":"Allow"
}
]
}
サンプルカスタムポリシー
サービスの作成とクエリ、および関数の作成と呼び出しの権限を付与するために使用されるカスタムポリシー
{
"Version":"1",
"Statement":[
{
"Action":[
"fc:CreateService",
"fc:GetService",
"fc:CreateFunction",
"fc:GetFunction",
"fc:InvokeFunction"
],
"Resource":"*",
"Effect":"Allow"
},
{
"Action":[
"ram:PassRole"
],
"Effect":"Allow",
"Resource":"*"
}
]
}
ログへのアクセス許可を付与するために使用されるカスタムポリシー
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"log:ListProject",
"log:ListLogStore"
],
"Resource": "acs:log:*:*:project/*"
}
]
}
OSSイベントトリガーにアクセスする権限を付与するために使用されるカスタムポリシー
{
"Statement": [
{
"Action": [
"oss:ListBucket",
"oss:GetBucketEventNotification",
"oss:PutBucketEventNotification",
"oss:DeleteBucketEventNotification"
],
"Effect": "Allow",
"Resource": "*"
}
],
"Version": "1"
}