Resource Access Management (RAM) は Alibaba Cloud によって提供される、ユーザーのアイデンティティとリソースの権限を管理するためのサービスです。RAM を使用すると、Alibaba Cloud アカウント (root ユーザー) のキーを他のユーザーと共有することを回避でき、ユーザーに必要最小限の権限を付与できます。RAM ではポリシーを使用して権限付与を定義します。このトピックでは、RAM ポリシーの一般的な構造と、 Access Control。 のポリシーステートメントを構成する要素である「アクション (Action)」「リソース (Resource)」および「条件 (Condition) 」について説明します。 Access Control。 は、RAM コード (RamCode) が cloudsso で、 リソースレベル。 での権限付与がサポートされています。
一般的なポリシー構造
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)
下表に、Access Control。 で定義されたアクションを示します。以下で各列名について説明します。
アクション:特定のリソースに対して実行可能な操作。ポリシー構文では
Action要素として指定します。API:アクションを具体的に実行するための API。
アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。
リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定する必要があります。
リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーの
Resource要素で対応する ARN を指定してください。リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーの
Resource要素でアスタリスク (*) でマークされます。
条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。詳細については、「共通条件キー」をご参照ください。
依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。
|
アクション |
API |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
| cloudsso:GetUserProvisioningConfiguration | GetUserProvisioningConfiguration | get |
*Directory。
|
なし | なし |
| cloudsso:DisableDelegateAccount | DisableDelegateAccount | update |
*すべてのリソース。
|
なし | なし |
| cloudsso:AddUserToGroup | AddUserToGroup | create |
*User。
*Group。
|
なし | なし |
| cloudsso:GetMFAAuthenticationSettingInfo | GetMFAAuthenticationSettingInfo | get |
*Directory。
|
なし | なし |
| cloudsso:GetTaskStatus | GetTaskStatus | get |
*Directory。
|
なし | なし |
| cloudsso:DeleteSCIMServerCredential | DeleteSCIMServerCredential | delete |
*SCIMServerCredential。
|
なし | なし |
| cloudsso:DeleteUser | DeleteUser | delete |
*User。
|
なし | なし |
| cloudsso:ListUserProvisionings | ListUserProvisionings | list |
*すべてのリソース。
|
なし | なし |
| cloudsso:DeleteDirectory | DeleteDirectory | delete |
*Directory。
|
なし | なし |
| cloudsso:ListGroups | ListGroups | list |
*Group。
|
なし | なし |
| cloudsso:UpdateDirectory | UpdateDirectory | update |
*Directory。
|
なし | なし |
| cloudsso:ListJoinedGroupsForUser | ListJoinedGroupsForUser | list |
*User。
|
なし | なし |
| cloudsso:CreateUser | CreateUser | create |
*User。
|
なし | なし |
| cloudsso:GetLoginPreference | GetLoginPreference | get |
*Directory。
|
なし | なし |
| cloudsso:TagResources | TagResources | update |
*User。
*AccessConfiguration。
|
なし | なし |
| cloudsso:CreateUserProvisioning | CreateUserProvisioning | create |
*UserProvisioning。
*Account。
Group。
User。
|
なし | なし |
| cloudsso:RemovePermissionPolicyFromAccessConfiguration | RemovePermissionPolicyFromAccessConfiguration | delete |
*AccessConfiguration。
|
なし | なし |
| cloudsso:CreateDirectory | CreateDirectory | create |
*Directory。
|
なし |
ram:CreateServiceLinkedRole |
| cloudsso:UpdateMFAAuthenticationSettings | UpdateMFAAuthenticationSettings | update |
*Directory。
|
なし | なし |
| cloudsso:UpdateSCIMServerCredentialStatus | UpdateSCIMServerCredentialStatus | update |
*SCIMServerCredential。
|
なし | なし |
| cloudsso:UpdateDirectoryGlobalAccessStatus | UpdateDirectoryGlobalAccessStatus | update |
*Directory。
|
なし | なし |
| cloudsso:GetUserProvisioning | GetUserProvisioning | get |
*UserProvisioning。
|
なし | なし |
| cloudsso:UpdateUserMFAAuthenticationSettings | UpdateUserMFAAuthenticationSettings | update |
*User。
|
なし | なし |
| cloudsso:DeprovisionAccessConfiguration | DeprovisionAccessConfiguration | update |
*AccessConfiguration。
|
なし | なし |
| cloudsso:DisableService | DisableService | update |
*すべてのリソース。
|
なし | なし |
| cloudsso:GetAccessConfiguration | GetAccessConfiguration | get |
*AccessConfiguration。
|
なし | なし |
| cloudsso:RetryUserProvisioningEvent | RetryUserProvisioningEvent | update |
UserProvisioning。
UserProvisioning。
|
なし | なし |
| cloudsso:RemoveExternalSAMLIdPCertificate | RemoveExternalSAMLIdPCertificate | delete |
*Directory。
|
なし | なし |
| cloudsso:ProvisionAccessConfiguration | ProvisionAccessConfiguration | update |
*AccessConfiguration。
|
なし | なし |
| cloudsso:EnableService | EnableService | update |
*すべてのリソース。
|
なし | なし |
| cloudsso:ListAccessAssignments | ListAccessAssignments | list |
*すべてのリソース。
|
なし | なし |
| cloudsso:CreateAccessAssignment | CreateAccessAssignment | create |
*AccessConfiguration。
User。
Group。
*Account。
|
なし | なし |
| cloudsso:ListSCIMServerCredentials | ListSCIMServerCredentials | list |
*SCIMServerCredential。
|
なし | なし |
| cloudsso:UpdateUser | UpdateUser | update |
*User。
|
なし | なし |
| cloudsso:EnableDelegateAccount | EnableDelegateAccount | update |
*すべてのリソース。
|
なし | なし |
| cloudsso:UpdateUserStatus | UpdateUserStatus | update |
*User。
|
なし | なし |
| cloudsso:GetMFAAuthenticationStatus | GetMFAAuthenticationStatus | get |
*Directory。
|
なし | なし |
| cloudsso:CreateAccessConfiguration | CreateAccessConfiguration | create |
*AccessConfiguration。
|
なし | なし |
| cloudsso:GetGroup | GetGroup | get |
*Group。
|
なし | なし |
| cloudsso:DeleteAccessConfiguration | DeleteAccessConfiguration | delete |
*AccessConfiguration。
|
なし | なし |
| cloudsso:ListMFADevicesForUser | ListMFADevicesForUser | list |
*User。
|
なし | なし |
| cloudsso:PreCheckForCreateUserProvisioning | PreCheckForCreateUserProvisioning | get |
User。
Group。
*UserProvisioning。
*Account。
|
なし | なし |
| cloudsso:ListDirectories | ListDirectories | list |
*Directory。
|
なし | なし |
| cloudsso:ListTagResources | ListTagResources | list |
*AccessConfiguration。
*User。
|
なし | なし |
| cloudsso:UpdateGroup | UpdateGroup | update |
*Group。
|
なし | なし |
| cloudsso:AddExternalSAMLIdPCertificate | AddExternalSAMLIdPCertificate | create |
*Directory。
|
なし | なし |
| cloudsso:GetDirectory | GetDirectory | get |
*Directory。
|
なし | なし |
| cloudsso:GetDirectoryGlobalAccessStatus | GetDirectoryGlobalAccessStatus | get |
*Directory。
|
なし | なし |
| cloudsso:GetPasswordPolicy | GetPasswordPolicy | get |
*Directory。
|
なし | なし |
| cloudsso:SetPasswordPolicy | SetPasswordPolicy | update |
*Directory。
|
なし | なし |
| cloudsso:DeleteMFADeviceForUser | DeleteMFADeviceForUser | delete |
*User。
|
なし | なし |
| cloudsso:GetUser | GetUser | get |
*User。
|
なし | なし |
| cloudsso:ListAccessConfigurations | ListAccessConfigurations | list |
*AccessConfiguration。
|
なし | なし |
| cloudsso:DeleteAccessAssignment | DeleteAccessAssignment | delete |
*AccessConfiguration。
User。
Group。
*Account。
|
なし | なし |
| cloudsso:GetUserProvisioningRdAccountStatistics | GetUserProvisioningRdAccountStatistics | get |
*Account。
|
なし | なし |
| cloudsso:ListUserProvisioningEvents | ListUserProvisioningEvents | list |
UserProvisioning。
UserProvisioning。
|
なし | なし |
| cloudsso:UntagResources | UntagResources | update |
*AccessConfiguration。
*User。
|
なし | なし |
| cloudsso:UpdateInlinePolicyForAccessConfiguration | UpdateInlinePolicyForAccessConfiguration | update |
*AccessConfiguration。
|
なし | なし |
| cloudsso:DeleteUserProvisioning | DeleteUserProvisioning | delete |
*UserProvisioning。
|
なし | なし |
| cloudsso:GetMFAAuthenticationSettings | GetMFAAuthenticationSettings | get |
*Directory。
|
なし | なし |
| cloudsso:ResetUserPassword | ResetUserPassword | update |
*User。
|
なし | なし |
| cloudsso:GetDirectorySAMLServiceProviderInfo | GetDirectorySAMLServiceProviderInfo | get |
*Directory。
|
なし | なし |
| cloudsso:GetServiceStatus | GetServiceStatus | get |
*すべてのリソース。
|
なし | なし |
| cloudsso:ListGroupMembers | ListGroupMembers | list |
*Group。
|
なし | なし |
| cloudsso:ListTasks | ListTasks | list |
*Directory。
|
なし | なし |
| cloudsso:ListUsers | ListUsers | list |
*User。
|
なし | なし |
| cloudsso:DeleteGroup | DeleteGroup | delete |
*Group。
|
なし | なし |
| cloudsso:GetDelegateAccount | GetDelegateAccount | get |
*すべてのリソース。
|
なし | なし |
| cloudsso:SetExternalSAMLIdentityProvider | SetExternalSAMLIdentityProvider | update |
*Directory。
|
なし | なし |
| cloudsso:SetDirectorySAMLServiceProviderInfo | SetDirectorySAMLServiceProviderInfo | update |
*Directory。
|
なし | なし |
| cloudsso:GetUserProvisioningStatistics | GetUserProvisioningStatistics | get |
*UserProvisioning。
|
なし | なし |
| cloudsso:SetMFAAuthenticationStatus | SetMFAAuthenticationStatus | update |
*Directory。
|
なし | なし |
| cloudsso:AddPermissionPolicyToAccessConfiguration | AddPermissionPolicyToAccessConfiguration | create |
*AccessConfiguration。
|
なし | なし |
| cloudsso:CreateSCIMServerCredential | CreateSCIMServerCredential | create |
*SCIMServerCredential。
|
なし | なし |
| cloudsso:ListPermissionPoliciesInAccessConfiguration | ListPermissionPoliciesInAccessConfiguration | list |
*AccessConfiguration。
|
なし | なし |
| cloudsso:GetUserId | GetUserId | get |
*User。
|
なし | なし |
| cloudsso:GetUserProvisioningEvent | GetUserProvisioningEvent | get |
UserProvisioning。
UserProvisioning。
|
なし | なし |
| cloudsso:RemoveUserFromGroup | RemoveUserFromGroup | delete |
*Group。
*User。
|
なし | なし |
| cloudsso:ClearExternalSAMLIdentityProvider | ClearExternalSAMLIdentityProvider | update |
*Directory。
|
なし | なし |
| cloudsso:ListExternalSAMLIdPCertificates | ListExternalSAMLIdPCertificates | list |
*Directory。
|
なし | なし |
| cloudsso:CreateGroup | CreateGroup | create |
*Group。
|
なし | なし |
| cloudsso:EnableDirectoryRDFeature | EnableDirectoryRDFeature | update |
*Directory。
|
なし | なし |
| cloudsso:GetTask | GetTask | get |
*Directory。
|
なし | なし |
| cloudsso:CheckRDFeaturePrerequisite | CheckRDFeaturePrerequisite | get |
*すべてのリソース。
|
なし | なし |
| cloudsso:UpdateUserProvisioningConfiguration | UpdateUserProvisioningConfiguration | update |
*Directory。
|
なし | なし |
| cloudsso:UpdateUserProvisioning | UpdateUserProvisioning | update |
*UserProvisioning。
|
なし | なし |
| cloudsso:SetSCIMSynchronizationStatus | SetSCIMSynchronizationStatus | update |
*Directory。
|
なし | なし |
| cloudsso:GetSCIMSynchronizationStatus | GetSCIMSynchronizationStatus | get |
*Directory。
|
なし | なし |
| cloudsso:GetExternalSAMLIdentityProvider | GetExternalSAMLIdentityProvider | get |
*Directory。
|
なし | なし |
| cloudsso:SetLoginPreference | SetLoginPreference | update |
*Directory。
|
なし | なし |
| cloudsso:UpdateAccessConfiguration | UpdateAccessConfiguration | update |
*AccessConfiguration。
|
なし | なし |
| cloudsso:ListAccessConfigurationProvisionings | ListAccessConfigurationProvisionings | list |
AccessConfiguration。
AccessConfiguration。
|
なし | なし |
| cloudsso:GetUserMFAAuthenticationSettings | GetUserMFAAuthenticationSettings | get |
*User。
|
なし | なし |
| cloudsso:GetDirectoryStatistics | GetDirectoryStatistics | get |
*Directory。
|
なし | なし |
| cloudsso:GetDirectoryRDFeatureStatus | GetDirectoryRDFeatureStatus | get |
*Directory。
|
なし | なし |
| cloudsso:DeleteUserProvisioningEvent | DeleteUserProvisioningEvent | delete |
UserProvisioning。
UserProvisioning。
|
なし | なし |
リソース (Resource)
下表に、Access Control。 で定義されたリソースを示します。ポリシーステートメントの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 |
| Directory。 |
|
| User。 |
|
| Group。 |
|
| SCIMServerCredential。 |
|
| UserProvisioning。 |
|
| Account。 |
|
| AccessConfiguration。 |
|
条件 (Condition)
Access Control。 では、プロダクトレベルの条件キーは定義されていません。その代わりに、Alibaba Cloud 共通条件キーを使用してアクセスを制御できます。詳細については、「共通条件キー」をご参照ください。
カスタム RAM ポリシーの作成方法
カスタムポリシーを作成し、RAM ユーザー、RAM ユーザーグループ、または RAM ロールに付与できます。詳細については、以下をご参照ください。