Resource Access Management (RAM) は Alibaba Cloud によって提供される、ユーザーのアイデンティティとリソースの権限を管理するためのサービスです。RAM を使用すると、Alibaba Cloud アカウント (root ユーザー) のキーを他のユーザーと共有することを回避でき、ユーザーに必要最小限の権限を付与できます。RAM ではポリシーを使用して権限付与を定義します。このトピックでは、RAM ポリシーの一般的な構造と、 系统运维管理 のポリシーステートメントを構成する要素である「アクション (Action)」「リソース (Resource)」および「条件 (Condition) 」について説明します。 系统运维管理 は、RAM コード (RamCode) が oos で、 资源级 での権限付与がサポートされています。
一般的なポリシー構造
RAM ポリシーは、一般的に以下のような JSON 構造で構成されます。
{
"Version": "1",
"Statement": [
{
"Effect": "<Effect>",
"Action": "<Action>",
"Resource": "<Resource>",
"Condition": {
"<Condition_operator>": {
"<Condition_key>": [
"<Condition_value>"
]
}
}
}
]
} ポリシーのフィールドに関する説明:
Version:ポリシーのバージョン番号。現在のポリシーバージョンは 1 です。
Statement:
Effect:「許可するか、拒否するか」という、最終的な結果を定義します。有効な値:Allow (許可) または Deny (拒否)。
Action:「何をすることができるか、できないか」を定義する、リソースへの具体的な操作を指します。
Resource:「何に対して操作を行うか」を定義する、操作の具体的な対象です。対象となるリソースは、ARN (Alibaba Cloud Resource Name) を使用して指定できます。
Condition:「どのような状況下でポリシーが適用されるか」という、権限が有効になるための付加的な制約条件を定義します。このフィールドは任意です。
Condition operator:条件の演算子。条件キーの値とリクエスト値をどのように比較するかを定義する「比較方法」です。条件演算子は、条件のタイプによって異なります。
Condition_key:条件のキー。ポリシーの条件が満たされているかを判断するために、リクエストから参照・チェックされる特定の属性を指します。
Condition_value:条件の値。条件キーから取得されたリクエスト値と比較するための、具体的な「基準値」です。
アクション (Action)
下表に、系统运维管理 で定義されたアクションを示します。以下で各列名について説明します。
アクション:特定のリソースに対して実行可能な操作。ポリシー構文では
Action要素として指定します。API:アクションを具体的に実行するための API。
アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。
リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定する必要があります。
リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーの
Resource要素で対応する ARN を指定してください。リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーの
Resource要素でアスタリスク (*) でマークされます。
条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。詳細については、「共通条件キー」をご参照ください。
依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。
|
アクション |
API |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
| oos:GenerateExecutionPolicy | GenerateExecutionPolicy | get |
*Template
|
oos:TLSVersion |
なし |
| oos:CreateParameter | CreateParameter | create |
*parameter
|
oos:TLSVersion |
なし |
| oos:CancelExecution | CancelExecution | update |
*Execution
|
oos:tag oos:TLSVersion |
なし |
| oos:DeleteChatConfiguration | DeleteChatConfiguration | create |
*全部资源
|
なし | なし |
| oos:GetServiceSettings | GetServiceSettings | get |
*ServiceSetting
|
oos:TLSVersion |
なし |
| oos:UpdateParameter | UpdateParameter | update |
*parameter
|
oos:TLSVersion |
なし |
| oos:ListGitAccounts | ListGitAccounts | list |
*全部资源
|
oos:TLSVersion |
なし |
| oos:UpdateStateConfiguration | UpdateStateConfiguration | update |
*stateconfiguration
|
oos:TLSVersion |
なし |
| oos:ListSecretParameterVersions | ListSecretParameterVersions | list |
*secretparameter
|
oos:TLSVersion |
なし |
| oos:DeleteOpsItems | DeleteOpsItems | delete |
*OpsItem
|
oos:tag oos:TLSVersion |
なし |
| oos:CreateGitRepository | CreateGitRepository | create |
*全部资源
|
oos:TLSVersion |
なし |
| oos:DeleteSecretParameter | DeleteSecretParameter | delete |
*secretparameter
|
oos:TLSVersion |
なし |
| oos:UpdateApplication | UpdateApplication | update |
*Application
|
oos:TLSVersion |
なし |
| oos:ListInventoryEntries | ListInventoryEntries | get |
*全部资源
|
oos:TLSVersion |
なし |
| oos:GetSecretParameters | GetSecretParameters | get |
*secretparameter
|
oos:TLSVersion |
なし |
| oos:GetApplicationGroup | GetApplicationGroup | get |
*ApplicationGroup
|
oos:TLSVersion |
なし |
| oos:CheckGitRepoFileExists | CheckGitRepoFileExists | get |
*全部资源
|
oos:TLSVersion |
なし |
| oos:ListTemplates | ListTemplates | get |
Template
Template
|
oos:tag oos:TLSVersion |
なし |
| oos:ListStateConfigurations | ListStateConfigurations | get |
*StateConfiguration
*StateConfiguration
|
oos:TLSVersion |
なし |
| oos:CreateApplication | CreateApplication | create |
*Application
|
oos:TLSVersion |
なし |
| oos:StartExecution | StartExecution | update |
*Execution
|
oos:tag oos:IsOOSAssumeRole oos:TLSVersion |
なし |
| oos:UpdateTemplate | UpdateTemplate | update |
*template
|
oos:tag oos:TLSVersion |
ram:PassRole |
| oos:ListInstancePackageStates | ListInstancePackageStates | list |
*Template
|
oos:tag oos:TLSVersion |
なし |
| oos:DescribeRegions | DescribeRegions | get |
*全部资源
|
oos:TLSVersion |
なし |
| oos:ValidateTemplateContent | ValidateTemplateContent | get |
*全部资源
|
oos:TLSVersion |
なし |
| oos:ListPatchBaselines | ListPatchBaselines | list |
*PatchBaseline
|
oos:TLSVersion |
なし |
| oos:DeleteExecutions | DeleteExecutions | delete |
*Execution
|
oos:tag oos:TLSVersion |
なし |
| oos:UpdatePatchBaseline | UpdatePatchBaseline | update |
*patchbaseline
|
oos:TLSVersion |
なし |
| oos:ListOpsItems | ListOpsItems | list |
*OpsItem
|
oos:TLSVersion |
なし |
| oos:GetGitBranch | GetGitBranch | get |
*全部资源
|
oos:TLSVersion |
なし |
| oos:GetGitRepository | GetGitRepository | get |
*全部资源
|
oos:TLSVersion |
なし |
| oos:UpdateSecretParameter | UpdateSecretParameter | update |
*secretparameter
|
oos:TLSVersion |
なし |
| oos:UntagResources | UntagResources | update |
execution
template
|
oos:tag oos:TLSVersion |
なし |
| oos:DeployApplicationGroup | DeployApplicationGroup | update |
*ApplicationGroup
|
oos:TLSVersion |
なし |
| oos:CreateDeployRevision | CreateDeployRevision | create |
*全部资源
|
oos:TLSVersion |
なし |
| oos:DeleteParameter | DeleteParameter | delete |
*parameter
|
oos:TLSVersion |
なし |
| oos:TagResources | TagResources | update |
execution
template
|
oos:tag oos:TLSVersion |
なし |
| oos:ListGitBranches | ListGitBranches | list |
*全部资源
|
oos:TLSVersion |
なし |
| oos:DeleteTemplates | DeleteTemplates | delete |
*Template
|
oos:TLSVersion |
なし |
| oos:GetApplication | GetApplication | get |
*Application
|
oos:TLSVersion |
なし |
| oos:DeleteApplicationGroup | DeleteApplicationGroup | delete |
*ApplicationGroup
|
oos:TLSVersion |
なし |
| oos:CreateApplicationGroup | CreateApplicationGroup | create |
*ApplicationGroup
|
oos:TLSVersion |
なし |
| oos:GetOpsItem | GetOpsItem | get |
*OpsItem
|
oos:TLSVersion |
なし |
| oos:UpdateChatConfiguration | UpdateChatConfiguration | create |
*全部资源
|
なし | なし |
| oos:GetInventorySchema | GetInventorySchema | get |
*全部资源
|
oos:TLSVersion |
なし |
| oos:UpdateInstancePackageState | UpdateInstancePackageState | update |
*Template
|
oos:tag oos:TLSVersion |
なし |
| oos:ListGitRepositoryContents | ListGitRepositoryContents | list |
*全部资源
|
oos:TLSVersion |
なし |
| oos:StartDebugExecution | StartDebugExecution | update |
*全部资源
|
oos:tag oos:IsOOSAssumeRole oos:TLSVersion |
なし |
| oos:ListInstancePatches | ListInstancePatches | list |
*全部资源
|
oos:TLSVersion |
なし |
| oos:GenerateOpsItem | GenerateOpsItem | create |
*全部资源
|
oos:TLSVersion |
なし |
| oos:ContinueDeployApplicationGroup | ContinueDeployApplicationGroup | update |
*ApplicationGroup
|
oos:TLSVersion |
なし |
| oos:DeleteTemplate | DeleteTemplate | delete |
*Template
|
oos:tag oos:TLSVersion |
なし |
| oos:GetTemplateParameterConstraints | GetTemplateParameterConstraints | get |
*Template
|
oos:TLSVersion |
なし |
| oos:CreateChatConfiguration | CreateChatConfiguration | create |
*全部资源
|
なし | なし |
| oos:ListExecutionRiskyTasks | ListExecutionRiskyTasks | get |
*template
|
oos:tag oos:TLSVersion |
なし |
| oos:SearchInventory | SearchInventory | get |
*全部资源
|
oos:TLSVersion |
なし |
| oos:DeletePatchBaseline | DeletePatchBaseline | delete |
*PatchBaseline
|
oos:TLSVersion |
なし |
| oos:GetSecretParameter | GetSecretParameter | get |
*secretparameter
|
oos:TLSVersion |
なし |
| oos:ListGitOrganizations | ListGitOrganizations | list |
*全部资源
|
oos:TLSVersion |
なし |
| oos:RegisterDefaultPatchBaseline | RegisterDefaultPatchBaseline | update |
*patchbaseline
|
oos:TLSVersion |
なし |
| oos:CreateSecretParameter | CreateSecretParameter | create |
*secretparameter
|
oos:TLSVersion |
なし |
| oos:ListParameterVersions | ListParameterVersions | list |
*parameter
|
oos:TLSVersion |
なし |
| oos:ListTaskExecutions | ListTaskExecutions | get |
*Execution
|
oos:tag oos:TLSVersion |
なし |
| oos:CheckGitRepositoryExists | CheckGitRepositoryExists | get |
*全部资源
|
oos:TLSVersion |
なし |
| oos:CreatePatchBaseline | CreatePatchBaseline | create |
*patchbaseline
|
oos:TLSVersion |
なし |
| oos:DeleteApplication | DeleteApplication | delete |
*Application
|
oos:TLSVersion |
なし |
| oos:UpdateApplicationGroup | UpdateApplicationGroup | update |
*ApplicationGroup
|
oos:TLSVersion |
なし |
| oos:NotifyExecution | NotifyExecution | update |
*execution
|
oos:tag oos:TLSVersion |
なし |
| oos:UpdateOpsItem | UpdateOpsItem | update |
*OpsItem
|
oos:TLSVersion |
なし |
| oos:ListGitRepositories | ListGitRepositories | list |
*全部资源
|
oos:TLSVersion |
なし |
| oos:DeleteStateConfigurations | DeleteStateConfigurations | delete |
*stateconfiguration
|
oos:TLSVersion |
なし |
| oos:ListInstancePatchStates | ListInstancePatchStates | list |
*全部资源
|
oos:TLSVersion |
なし |
| oos:GetExecutionTemplate | GetExecutionTemplate | get |
*Execution
|
oos:tag oos:TLSVersion |
なし |
| oos:ListApplicationGroups | ListApplicationGroups | list |
*ApplicationGroup
|
oos:TLSVersion |
なし |
| oos:ListExecutions | ListExecutions | list |
*Execution
*Execution
|
oos:tag oos:TLSVersion |
なし |
| oos:ListSecretParameters | ListSecretParameters | list |
*SecretParameter
|
oos:TLSVersion |
なし |
| oos:CreateOpsItem | CreateOpsItem | create |
*OpsItem
|
oos:TLSVersion |
なし |
| oos:UpdateTemplateAttributes | UpdateTemplateAttributes | update |
*Template
|
oos:tag oos:TLSVersion |
なし |
| oos:TriggerExecution | TriggerExecution | update |
*execution
|
oos:TLSVersion |
なし |
| oos:GetParameters | GetParameters | get |
*parameter
|
oos:TLSVersion |
なし |
| oos:DescribeApplicationGroupBill | DescribeApplicationGroupBill | get |
*ApplicationGroup
|
oos:TLSVersion |
なし |
| oos:ListChatConfigurations | ListChatConfigurations | create |
*全部资源
|
なし | なし |
| oos:GetSecretParametersByPath | GetSecretParametersByPath | get |
*secretparameter
|
oos:TLSVersion |
なし |
| oos:GetParametersByPath | GetParametersByPath | get |
*parameter
|
oos:TLSVersion |
なし |
| oos:SetServiceSettings | SetServiceSettings | update |
*ServiceSetting
|
oos:TLSVersion |
なし |
| oos:GetChatConfiguration | GetChatConfiguration | create |
*全部资源
|
なし | なし |
| oos:ListParameters | ListParameters | list |
*Parameter
|
oos:TLSVersion |
なし |
| oos:UpdateExecution | UpdateExecution | update |
*execution
|
oos:TLSVersion |
なし |
| oos:ListTagResources | ListTagResources | get |
Execution
Template
StateConfiguration
Parameter
SecretParameter
OpsItem
PatchBaseline
Execution
Template
OpsItem
SecretParameter
PatchBaseline
StateConfiguration
Parameter
|
oos:tag oos:TLSVersion |
なし |
| oos:CreateTemplate | CreateTemplate | create |
*Template
|
oos:tag oos:TLSVersion |
ram:PassRole |
| oos:CreateStateConfiguration | CreateStateConfiguration | create |
*StateConfiguration
|
oos:TLSVersion |
なし |
| oos:ChangeResourceGroup | ChangeResourceGroup | update |
*Template
*StateConfiguration
*Parameter
*SecretParameter
*OpsItem
*PatchBaseline
*Execution
|
oos:TLSVersion |
なし |
| oos:ListExecutionLogs | ListExecutionLogs | get |
*execution
|
oos:tag oos:TLSVersion |
なし |
| oos:ListResourceExecutionStatus | ListResourceExecutionStatus | get |
*execution
|
oos:tag oos:TLSVersion |
なし |
| oos:GetTemplate | GetTemplate | get |
*template
|
oos:tag oos:TLSVersion |
なし |
| oos:ListTemplateVersions | ListTemplateVersions | list |
*Template
|
oos:TLSVersion |
なし |
| oos:ListTagValues | ListTagValues | get |
*全部资源
|
oos:TLSVersion |
なし |
| oos:GetPatchBaseline | GetPatchBaseline | get |
*patchbaseline
|
oos:TLSVersion |
なし |
| oos:ListApplications | ListApplications | list |
*Application
|
oos:TLSVersion |
なし |
| oos:GetParameter | GetParameter | get |
*parameter
|
oos:TLSVersion |
なし |
| oos:ListTagKeys | ListTagKeys | get |
*全部资源
|
oos:TLSVersion |
なし |
| oos:ListTaskExecutionInvocations | ListTaskExecutionInvocations | get |
*全部资源
|
oos:tag oos:TLSVersion |
なし |
リソース (Resource)
下表に、系统运维管理 で定義されたリソースを示します。ポリシーステートメントのResource要素で指定することで、特定のアクションの適用対象を設定できます。各リソースは対応する ARN を持ち、一意的に識別されます。ARN はacs:{#ramcode}:{#regionId}:{#accountId}:{#resourceType}形式で、構成要素は以下のとおりです。
acs:Alibaba Cloud Service の頭文字で、Alibaba Cloud のパブリッククラウドを指します。{#ramcode}:RAM における具体的な Alibaba Cloud サービスの識別コード。{#regionId}:リージョン ID。アスタリスク (*) に設定した場合、リソースがすべてのリージョンに適用することを示します。{#accountId}:Alibaba Cloud アカウントの ID。アスタリスク (*) に設定した場合、リソースがすべての Alibaba Cloud アカウントに適用することを示します。{#resourceType}:具体的な Alibaba Cloud サービスによって定義されたリソースの識別子で、ファイルパスに似た階層構造をサポートしています。アスタリスク (*) に設定した場合、ステートメントがすべてのリソースに適用することを示します。
リソースタイプ |
ARN |
| Template |
|
| parameter |
|
| Execution |
|
| ServiceSetting |
|
| stateconfiguration |
|
| secretparameter |
|
| OpsItem |
|
| Application |
|
| ApplicationGroup |
|
| StateConfiguration |
|
| template |
|
| PatchBaseline |
|
| patchbaseline |
|
| execution |
|
| DeployRevision |
|
| SecretParameter |
|
| Parameter |
|
| tags |
|
| TaskExecution |
|
条件 (Condition)
下表に、系统运维管理 で定義されたプロダクトレベルの条件キーを示します。このほかに、Alibaba Cloud の共通条件キーを使用することもできます。これらのキーをポリシーステートメントのCondition要素として指定することで、きめ細かい権限付与ルールを定義できます。条件キーで、ポリシーのCondition_value要素で条件の値を指定します。
各条件キーには、文字列、数値、ブール値、IP アドレスといった特定のデータ型が定められています。データ型によって使用できる条件演算子が異なるため、キーのデータ型に基づいて適切な演算子を指定する必要があります。不適切な演算子を指定した場合、ポリシーステートメントは機能しません。データ型と条件演算子の対応関係については、「Condition_operator」をご参照ください。
条件キー |
説明 |
データ型 |
| oos:IsOOSAssumeRole | OOS StartExecution が AssumeRole を使用して呼び出されるかどうかを指定します。 | Boolean |
| oos:TLSVersion | OOS OpenAPI 呼び出しに使用される TLS バージョン。 | String |
| oos:tag | OOS のタグ情報。この値はタグキーと組み合わせて条件キー oos:tag/<tag-key> をフォームします。例: タグが team:dev の場合、条件キーと値は \\\\"oos:tag/team\\\\": \\\\"dev\\\\" と記述されます。 | String |
カスタム RAM ポリシーの作成方法
カスタムポリシーを作成し、RAM ユーザー、RAM ユーザーグループ、または RAM ロールに付与できます。詳細については、以下をご参照ください。