Connect an Alibaba Cloud account with RAM OIDC federation — no AccessKey to store.
Nuphos reaches Alibaba Cloud through OIDC web-identity federation. You create
a RAM identity provider that trusts the Nuphos issuer and a role that trusts that
provider; Nuphos mints a short-lived token per team and calls
sts:AssumeRoleWithOIDC.No AccessKeyId/AccessKeySecret is stored. Nuphos keeps the role ARN and the
OIDC provider ARN, both of which the exchange requires.
Pick your partition when you connect: China (ram.console.aliyun.com) or
International (ram.console.alibabacloud.com).
In the RAM console, create an OIDC identity provider using the issuer URL and
client id from the wizard. Alibaba Cloud fetches the issuer’s JWKS itself, so
there is no key to paste. Copy the provider’s ARN.
Create a role with trusted entity IdP → OIDC and pick the provider you just
added. The console generates the trust policy for you; add a condition on
oidc:sub equal to the subject the wizard shows — that is what pins the role
to your team, so no other Nuphos team can assume it. Attach a policy covering the
work you want done (ACK, ECS, SWAS as needed) and copy the role’s ARN.The finished trust policy should look like this. <account-id> and
<provider-name> come from the provider ARN you copied in step 1; <issuer>,
<client-id>, and <subject> are the three values the wizard shows — copy them
verbatim rather than typing them by hand:
Keep "Action": "sts:AssumeRole" exactly as the console generates it. In
Alibaba Cloud RAM, sts:AssumeRole is the only action a trust policy grants
to an OIDC provider — AssumeRoleWithOIDC is the name of the STS API
Nuphos calls, not a trust-policy action. Changing the action to
sts:AssumeRoleWithOIDC makes STS reject the exchange and the bind fails.
Likewise, do not remove the oidc:sub condition — without it, any Nuphos
team could assume the role.
The agent operates the account within whatever policy you attached to the role,
correlating it with your other connected accounts and
proposing changes as plans.
Team Administrators connect and remove this binding and can restrict it with a
member allow-list. Select the connection for the
conversation before asking the agent to use it. Provider permissions remain the
outer limit, regardless of the prompt or permission mode.Individual actions follow Auto Mode and Full Access.
Significant cloud infrastructure work uses plans; a ticket,
repository write or routine API action does not automatically create a plan.
Give explicit instructions about reviewing changes before publishing when that
is the workflow you need.
ACK API access and the cluster’s Kubernetes RBAC permissions are separate.
First read the expected account and cluster metadata, then verify a bounded
namespace or workload read in that cluster. An account-level listing succeeding
does not prove pod logs, exec or writes are authorized. For a denial, identify
whether cloud IAM, network reachability or in-cluster RBAC is blocking it before
asking an administrator for a scoped change. Never solve a read failure by
blindly granting cluster-admin.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Nuphos","colors":{"primary":"#7D36EC","light":"#A469FF","dark":"#7D36EC"},"favicon":"https://mintcdn.com/zeabur/ukwjgUC_bdo0upyg/favicon.svg?fit=max\u0026auto=format\u0026n=ukwjgUC_bdo0upyg\u0026q=85\u0026s=762fb075170b68d66d8fe66d8874c90e","logo":{"light":"https://mintcdn.com/zeabur/1u0P1wZivJFSFJsY/logo/light.svg?fit=max\u0026auto=format\u0026n=1u0P1wZivJFSFJsY\u0026q=85\u0026s=5c8381edd3ec8e9def768eafc454dae1","dark":"https://mintcdn.com/zeabur/1u0P1wZivJFSFJsY/logo/dark.svg?fit=max\u0026auto=format\u0026n=1u0P1wZivJFSFJsY\u0026q=85\u0026s=50adce60af69170536400334f1c99e3c"},"navbar":{"links":[{"label":"Support","href":"mailto:hello@nuphos.com"}],"primary":{"type":"button","label":"Get Nuphos","href":"https://nuphos.ai?utm_source=docs.nuphos.ai\u0026utm_medium=documentation\u0026utm_campaign=docs_navigation\u0026utm_content=topbar_cta"}},"footer":{"socials":{"website":"https://nuphos.ai?utm_source=docs.nuphos.ai\u0026utm_medium=documentation\u0026utm_campaign=docs_navigation\u0026utm_content=footer_website","github":"https://github.com/nuphos/nuphos?utm_source=docs.nuphos.ai\u0026utm_medium=documentation\u0026utm_campaign=docs_navigation\u0026utm_content=footer_github"}},"integrations":{"posthog":{"apiKey":"phc_tD7X8fho5ug5BcC6zTZRWDn7wKFqGk3t3Y5bVE9Z67a9","apiHost":"https://us.i.posthog.com"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Website","href":"https://nuphos.ai?utm_source=docs.nuphos.ai\u0026utm_medium=documentation\u0026utm_campaign=docs_navigation\u0026utm_content=anchor_website","icon":"globe"},{"anchor":"GitHub","href":"https://github.com/nuphos/nuphos?utm_source=docs.nuphos.ai\u0026utm_medium=documentation\u0026utm_campaign=docs_navigation\u0026utm_content=anchor_github","icon":"github"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"zeabur","hasAudioNarration":false,"actualSubdomain":"zeabur","customDomains":["docs.nuphos.ai"],"gitSource":{"type":"github","owner":"zeabur","repo":"docs.nuphos.ai","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af3dfb4a41de5ef1dd66140","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Connectors","count":39},{"language":"default","tag":"Documentation","count":26},{"language":"default","tag":"Cloud Providers","count":14},{"language":"default","tag":"Agents","count":8},{"language":"default","tag":"Get Started","count":7},{"language":"default","tag":"Observability","count":6},{"language":"default","tag":"Data, Documents \u0026 Email","count":5},{"language":"default","tag":"Infrastructure","count":4},{"language":"default","tag":"Security \u0026 Access","count":4},{"language":"default","tag":"Project Management","count":3}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"connectors/aliyun","slug":"/connectors/aliyun","pageMetadata":{"title":"Alibaba Cloud","description":"Connect an Alibaba Cloud account with RAM OIDC federation — no AccessKey to store.","href":"/connectors/aliyun"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connect an Alibaba Cloud account with RAM OIDC federation — no AccessKey to store.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Nuphos reaches Alibaba Cloud through `,_jsx(_components.strong,{children:`OIDC web-identity federation`}),`. You create\na RAM identity provider that trusts the Nuphos issuer and a role that trusts that\nprovider; Nuphos mints a short-lived token per team and calls\n`,_jsx(_components.code,{children:`sts:AssumeRoleWithOIDC`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`No AccessKeyId/AccessKeySecret is stored.`}),` Nuphos keeps the role ARN and the\nOIDC provider ARN, both of which the exchange requires.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Pick your partition when you connect: `,_jsx(_components.strong,{children:`China`}),` (`,_jsx(_components.code,{children:`ram.console.aliyun.com`}),`) or\n`,_jsx(_components.strong,{children:`International`}),` (`,_jsx(_components.code,{children:`ram.console.alibabacloud.com`}),`).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`connect`,children:`Connect`}),`\n`,_jsxs(_components.p,{children:[`The wizard in `,_jsx(_components.strong,{children:`Connectors → Connect → Alibaba Cloud`}),` shows the issuer, client\nid, and subject for your team. Copy them from there.`]}),`\n`,_jsx(Heading,{level:`3`,id:`1-add-the-identity-provider`,children:`1. Add the identity provider`}),`\n`,_jsxs(_components.p,{children:[`In the RAM console, create an `,_jsx(_components.strong,{children:`OIDC`}),` identity provider using the issuer URL and\nclient id from the wizard. Alibaba Cloud fetches the issuer’s JWKS itself, so\nthere is no key to paste. Copy the provider’s `,_jsx(_components.strong,{children:`ARN`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`2-create-the-role`,children:`2. Create the role`}),`\n`,_jsxs(_components.p,{children:[`Create a role with trusted entity `,_jsx(_components.strong,{children:`IdP → OIDC`}),` and pick the provider you just\nadded. The console generates the trust policy for you; add a condition on\n`,_jsx(_components.strong,{children:_jsx(_components.code,{children:`oidc:sub`})}),` equal to the subject the wizard shows — that is what pins the role\nto your team, so no other Nuphos team can assume it. Attach a policy covering the\nwork you want done (ACK, ECS, SWAS as needed) and copy the role’s `,_jsx(_components.strong,{children:`ARN`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The finished trust policy should look like this. `,_jsx(_components.code,{children:`\u003caccount-id>`}),` and\n`,_jsx(_components.code,{children:`\u003cprovider-name>`}),` come from the provider ARN you copied in step 1; `,_jsx(_components.code,{children:`\u003cissuer>`}),`,\n`,_jsx(_components.code,{children:`\u003cclient-id>`}),`, and `,_jsx(_components.code,{children:`\u003csubject>`}),` are the three values the wizard shows — copy them\nverbatim rather than typing them by hand:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`19`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`19`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Version\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Statement\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Effect\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Allow\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Principal\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Federated\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"acs:ram::\u003caccount-id>:oidc-provider/\u003cprovider-name>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Action\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"sts:AssumeRole\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Condition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"StringEquals\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"oidc:iss\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cissuer>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"oidc:aud\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cclient-id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"oidc:sub\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003csubject>\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Keep `,_jsx(_components.code,{children:`\"Action\": \"sts:AssumeRole\"`}),` exactly as the console generates it. In\nAlibaba Cloud RAM, `,_jsx(_components.code,{children:`sts:AssumeRole`}),` is the only action a trust policy grants\nto an OIDC provider — `,_jsx(_components.code,{children:`AssumeRoleWithOIDC`}),` is the name of the `,_jsx(_components.strong,{children:`STS API`}),`\nNuphos calls, not a trust-policy action. Changing the action to\n`,_jsx(_components.code,{children:`sts:AssumeRoleWithOIDC`}),` makes STS reject the exchange and the bind fails.\nLikewise, do not remove the `,_jsx(_components.code,{children:`oidc:sub`}),` condition — without it, any Nuphos\nteam could assume the role.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`3-bind-the-role`,children:`3. Bind the role`}),`\n`,_jsx(_components.p,{children:`Enter both ARNs in Nuphos.`}),`\n`,_jsx(Heading,{level:`2`,id:`in-the-nuphos-app`,children:`In the Nuphos app`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`ECS instances`}),` and `,_jsx(_components.strong,{children:`SWAS instances`}),` — the account’s compute.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Clusters`}),` — ACK clusters land in the shared\n`,_jsx(_components.a,{href:`/infrastructure/clusters`,children:`cluster browser`}),` alongside EKS, GKE, and the rest.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-agent-can-do-for-you`,children:`What the agent can do for you`}),`\n`,_jsxs(_components.p,{children:[`The agent operates the account within whatever policy you attached to the role,\ncorrelating it with your other `,_jsx(_components.a,{href:`/connectors/overview`,children:`connected accounts`}),` and\nproposing changes as `,_jsx(_components.a,{href:`/agent/plans`,children:`plans`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`permissions-\u0026-authorization`,children:`Permissions \u0026 authorization`}),`\n`,_jsxs(_components.p,{children:[`Team Administrators connect and remove this binding and can restrict it with a\n`,_jsx(_components.a,{href:`/security/access-control`,children:`member allow-list`}),`. Select the connection for the\nconversation before asking the agent to use it. Provider permissions remain the\nouter limit, regardless of the prompt or permission mode.`]}),`\n`,_jsxs(_components.p,{children:[`Individual actions follow `,_jsx(_components.a,{href:`/security/auto-mode`,children:`Auto Mode and Full Access`}),`.\nSignificant cloud infrastructure work uses `,_jsx(_components.a,{href:`/agent/plans`,children:`plans`}),`; a ticket,\nrepository write or routine API action does not automatically create a plan.\nGive explicit instructions about reviewing changes before publishing when that\nis the workflow you need.`]}),`\n`,_jsx(Heading,{level:`2`,id:`verify-cluster-access`,children:`Verify cluster access`}),`\n`,_jsx(_components.p,{children:`ACK API access and the cluster’s Kubernetes RBAC permissions are separate.\nFirst read the expected account and cluster metadata, then verify a bounded\nnamespace or workload read in that cluster. An account-level listing succeeding\ndoes not prove pod logs, exec or writes are authorized. For a denial, identify\nwhether cloud IAM, network reachability or in-cluster RBAC is blocking it before\nasking an administrator for a scoped change. Never solve a read failure by\nblindly granting cluster-admin.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Alibaba Cloud","description":"Connect an Alibaba Cloud account with RAM OIDC federation — no AccessKey to store.","href":"/connectors/aliyun"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Connect","slug":"connect","depth":2,"children":[{"title":"1. Add the identity provider","slug":"1-add-the-identity-provider","depth":3,"children":[]},{"title":"2. Create the role","slug":"2-create-the-role","depth":3,"children":[]},{"title":"3. Bind the role","slug":"3-bind-the-role","depth":3,"children":[]}]},{"title":"In the Nuphos app","slug":"in-the-nuphos-app","depth":2,"children":[]},{"title":"What the agent can do for you","slug":"what-the-agent-can-do-for-you","depth":2,"children":[]},{"title":"Permissions \u0026 authorization","slug":"permissions-\u0026-authorization","depth":2,"children":[]},{"title":"Verify cluster access","slug":"verify-cluster-access","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"zeabur","siteName":"Nuphos","title":"Alibaba Cloud - Nuphos","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T03:23:37.485Z","originalFileLocation":"connectors/aliyun.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Connect an Alibaba Cloud account with RAM OIDC federation — no AccessKey to store.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nuphos\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zeabur/_0dGkkBXYfAb2656/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/zeabur/_0dGkkBXYfAb2656/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zeabur/_0dGkkBXYfAb2656/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/zeabur/_0dGkkBXYfAb2656/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/zeabur/_0dGkkBXYfAb2656/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zeabur/_0dGkkBXYfAb2656/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zeabur/_0dGkkBXYfAb2656/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/zeabur/_0dGkkBXYfAb2656/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/zeabur/_0dGkkBXYfAb2656/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Alibaba Cloud - Nuphos\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect an Alibaba Cloud account with RAM OIDC federation — no AccessKey to store.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nuphos\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.nuphos.ai/connectors/aliyun\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://zeabur.mintlify.site/_mintlify/api/og/v2?division=Cloud+Providers\u0026amp;title=Alibaba+Cloud\u0026amp;description=Connect+an+Alibaba+Cloud+account+with+RAM+OIDC+federation+%E2%80%94+no+AccessKey+to+store.\u0026amp;theme=9f54d24cba81f66723533884\u0026amp;signature=c7645f3e1286c67506023fff8e9f2a2cf2714f227e6af65837be958740ec4d31\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Alibaba Cloud - Nuphos\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect an Alibaba Cloud account with RAM OIDC federation — no AccessKey to store.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://zeabur.mintlify.site/_mintlify/api/og/v2?division=Cloud+Providers\u0026amp;title=Alibaba+Cloud\u0026amp;description=Connect+an+Alibaba+Cloud+account+with+RAM+OIDC+federation+%E2%80%94+no+AccessKey+to+store.\u0026amp;theme=9f54d24cba81f66723533884\u0026amp;signature=c7645f3e1286c67506023fff8e9f2a2cf2714f227e6af65837be958740ec4d31\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/zeabur/_0dGkkBXYfAb2656/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nuphos\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7D36EC\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.nuphos.ai/connectors/aliyun\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/connectors/aliyun.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.nuphos.ai/#organization\",\"name\":\"Nuphos\",\"url\":\"https://docs.nuphos.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/zeabur/1u0P1wZivJFSFJsY/logo/light.svg?fit=max\u0026auto=format\u0026n=1u0P1wZivJFSFJsY\u0026q=85\u0026s=5c8381edd3ec8e9def768eafc454dae1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.nuphos.ai#website\",\"name\":\"Nuphos\",\"url\":\"https://docs.nuphos.ai\",\"publisher\":{\"@id\":\"https://docs.nuphos.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.nuphos.ai/connectors/aliyun#webpage\",\"url\":\"https://docs.nuphos.ai/connectors/aliyun\",\"name\":\"Alibaba Cloud\",\"description\":\"Connect an Alibaba Cloud account with RAM OIDC federation — no AccessKey to store.\",\"dateModified\":\"2026-11-11T03:23:37.485Z\",\"isPartOf\":{\"@id\":\"https://docs.nuphos.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.nuphos.ai/connectors/aliyun#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.nuphos.ai/connectors/aliyun#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Cloud Providers\",\"item\":\"https://docs.nuphos.ai/connectors/aws\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Alibaba Cloud\",\"item\":\"https://docs.nuphos.ai/connectors/aliyun\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.nuphos.ai/connectors/aliyun#article\",\"headline\":\"Alibaba Cloud\",\"name\":\"Alibaba Cloud\",\"description\":\"Connect an Alibaba Cloud account with RAM OIDC federation — no AccessKey to store.\",\"url\":\"https://docs.nuphos.ai/connectors/aliyun\",\"mainEntityOfPage\":{\"@id\":\"https://docs.nuphos.ai/connectors/aliyun#webpage\"},\"dateModified\":\"2026-11-11T03:23:37.485Z\",\"publisher\":{\"@id\":\"https://docs.nuphos.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.nuphos.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nuphos\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Nuphos\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/connectors/aliyun.md","siteName":"Nuphos","nav":{"global":{"anchors":[{"anchor":"Website","href":"https://nuphos.ai?utm_source=docs.nuphos.ai\u0026utm_medium=documentation\u0026utm_campaign=docs_navigation\u0026utm_content=anchor_website","icon":"globe"},{"anchor":"GitHub","href":"https://github.com/nuphos/nuphos?utm_source=docs.nuphos.ai\u0026utm_medium=documentation\u0026utm_campaign=docs_navigation\u0026utm_content=anchor_github","icon":"github"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Connectors","groups":[{"group":"Connectors","pages":[{"title":"Connectors","href":"/connectors/overview"}]},{"group":"Cloud Providers","pages":[{"title":"AWS","href":"/connectors/aws"},{"title":"GCP","href":"/connectors/gcp"},{"title":"Microsoft Azure","href":"/connectors/azure"},{"title":"Tencent Cloud","description":"Connect a Tencent Cloud account with OIDC role SSO — no SecretId/SecretKey to store.","href":"/connectors/tencent"},{"title":"Alibaba Cloud","href":"/connectors/aliyun"},{"title":"Volcengine","description":"Connect a Volcengine (火山引擎) account with OIDC federation — no access key to store.","href":"/connectors/volcengine"},{"title":"Cloudflare","href":"/connectors/cloudflare"},{"title":"Linode (Akamai)","href":"/connectors/linode"},{"title":"Hetzner","href":"/connectors/hetzner"},{"title":"Tailscale","href":"/connectors/tailscale"},{"title":"Zeabur","href":"/connectors/zeabur"},{"title":"Huawei Cloud","href":"/connectors/huawei"},{"title":"On-prem Kubernetes","href":"/connectors/onprem-kubernetes"},{"title":"Bring your own instabox account","href":"/connectors/instabox"}]},{"group":"Project Management","pages":[{"title":"Linear","href":"/connectors/linear"},{"title":"Jira","href":"/connectors/jira"},{"title":"Asana","href":"/connectors/asana"}]},{"group":"Personal Credentials","pages":[{"title":"Gmail \u0026 Google Drive","href":"/connectors/google-workspace"}]},{"group":"Compliance","pages":[{"title":"Vanta","href":"/connectors/vanta"},{"title":"Secureframe","href":"/connectors/secureframe"}]},{"group":"Source Control","pages":[{"title":"GitHub","href":"/connectors/github"},{"title":"GitLab","href":"/connectors/gitlab"}]},{"group":"Observability","pages":[{"title":"Grafana","href":"/connectors/grafana"},{"title":"Better Stack","href":"/connectors/betterstack"},{"title":"Uptime Kuma","href":"/connectors/uptime-kuma"},{"title":"Sentry","href":"/connectors/sentry"},{"title":"SonarQube","href":"/connectors/sonarqube"},{"title":"PostHog","href":"/connectors/posthog"}]},{"group":"Data, Documents \u0026 Email","pages":[{"title":"MongoDB","href":"/connectors/mongodb"},{"title":"Upstash","href":"/connectors/upstash"},{"title":"Notion","href":"/connectors/notion"},{"title":"Plaud","href":"/connectors/plaud"},{"title":"Resend","href":"/connectors/resend"}]},{"group":"Messaging","pages":[{"title":"Slack","href":"/connectors/slack"},{"title":"Discord","href":"/connectors/discord"},{"title":"Lark / Feishu","href":"/connectors/lark"}]},{"group":"Developer Tools","pages":[{"title":"MCP","href":"/connectors/mcp"}]}]}]},"basePath":"","title":"Alibaba Cloud - Nuphos","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":[],"chunks":[]}